From 321fb7e69aa4d87b07b1725f37adf0e1b596fcf5 Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Tue, 29 May 2018 12:11:41 +0100 Subject: [PATCH] Implement pypi-based install and package pinning for non u-c packages Rally does not adhere to the global requirements process, so its requirements extend beyond those managed by upper-constraints, and sometimes are incompatible with upper constraints. We have no need to track their development from git commit to git commit, and can rather rely on stable releases which we verify are working with the upper constraints whenever we do a pinning bump. This keeps things simpler for us, and also allows the repo build process in the integrated build to do a constrained venv build instead of doing it unconstrained and breaking stable branch builds down the line. Depends-On: https://review.openstack.org/570906 Change-Id: If3d0120cf6f6f78463cf7805bc046382c3b6d44e --- defaults/main.yml | 21 +++++++++++++++------ tests/os_rally-overrides.yml | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 2b18056..97fa541 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -25,7 +25,11 @@ rally_system_user_shell: /bin/false rally_system_user_home: "/var/lib/{{ rally_system_user_name }}" rally_etc_directory: /etc/rally -rally_git_repo: https://git.openstack.org/openstack/rally +# We comment `rally_git_repo` so that the repo_build role does not attempt to +# build the wheel from this repo/branch. Instead, we want rally to get built +# from the stable release defined in rally_pip_packages further down in this +# file. +#rally_git_repo: https://git.openstack.org/openstack/rally rally_git_install_branch: master rally_developer_mode: false rally_developer_constraints: @@ -50,12 +54,17 @@ rally_database_connection_string: mysql+pymysql://{{ rally_galera_user }}:{{ ral rally_requires_pip_packages: - virtualenv +# These pins are sourced from the rally git repository's +# upper-constraints file. These should be updated whenever +# the rally pin is updated. The package pins here are only +# those not already covered by upper constraints. rally_pip_packages: - - ansible==2.3.2.0 - - cmd2<0.9.0 # >=0.9.0 is python3 only - - pymysql - - rally - - setuptools + - ansible==2.4.3.0 + - morph==0.1.2 + - os-faults==0.1.17 + - positional===1.2.1 + - pymysql # not pinned as it is in u-c + - rally==0.12.1 # current release at 29 May 2018 # The inventory group where Rally will be installed. # This variable is used by the repo_build process to determine diff --git a/tests/os_rally-overrides.yml b/tests/os_rally-overrides.yml index 2372350..5e8f219 100644 --- a/tests/os_rally-overrides.yml +++ b/tests/os_rally-overrides.yml @@ -17,5 +17,5 @@ rally_galera_address: "{{ hostvars[groups['galera_all'][0]]['ansible_host'] }}" rally_galera_database: rally rally_galera_password: "SuperSecrete" rally_venv_tag: "testing" -rally_developer_mode: True +rally_venv_download: False rally_bin: "/openstack/venvs/rally-{{ rally_venv_tag }}/bin"