diff --git a/defaults/main.yml b/defaults/main.yml index 6f7c99f5..88816a0a 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -61,7 +61,6 @@ tempest_default_role_resources: yes tempest_git_install_branch: master tempest_upper_constraints_url: "{{ requirements_git_url | default('https://releases.openstack.org/constraints/upper/' ~ requirements_git_install_branch | default('master')) }}" tempest_git_constraints: - - "{{ (tempest_git_repo is defined) | ternary('git+' ~ (tempest_git_repo | default('https://opendev.org/openstack/tempest.git')) ~ '@' ~ tempest_git_install_branch ~ '#egg=tempest', '') }}" - "--constraint {{ tempest_upper_constraints_url }}" tempest_pip_install_args: "{{ pip_install_options | default('') }}" @@ -230,7 +229,8 @@ tempest_keystone_interface_insecure: "{{ (keystone_service_internaluri_insecure tempest_main_group: tempest_all tempest_pip_packages: - - cmd2<0.9.0 # >=0.9.0 is python3 only + - "{{ (tempest_git_repo is defined) | ternary('git+' ~ (tempest_git_repo | default('https://opendev.org/openstack/tempest.git')) ~ '@' ~ tempest_git_install_branch ~ '#egg=tempest', 'tempest') }}" + - cmd2 - ddt - junitxml - lxml @@ -249,7 +249,6 @@ tempest_pip_packages: - python-saharaclient - python-subunit - python-swiftclient - - tempest - testscenarios - os-testr @@ -321,10 +320,9 @@ tempest_tempestconf_venv_bin: "/openstack/venvs/tempestconf-{{ tempest_tempestco # tempest_tempestconf_git_repo: https://opendev.org/osf/python-tempestconf tempest_tempestconf_git_install_branch: master tempest_tempestconf_git_constraints: - - "{{ (tempest_tempestconf_git_repo is defined) | ternary('git+' ~ (tempest_tempestconf_git_repo | default('https://opendev.org/osf/python-tempestconf')) ~ '@' ~ tempest_tempestconf_git_install_branch ~ '#egg=python_tempestconf', '') }}" - "--constraint {{ tempest_upper_constraints_url }}" tempest_tempestconf_pip_packages: - - python-tempestconf + - "{{ (tempest_tempestconf_git_repo is defined) | ternary('git+' ~ (tempest_tempestconf_git_repo | default('https://opendev.org/osf/python-tempestconf')) ~ '@' ~ tempest_tempestconf_git_install_branch ~ '#egg=python_tempestconf', 'python_tempestconf') }}" tempest_tempestconf_profile: debug: true create: true diff --git a/tasks/tempest_install_source.yml b/tasks/tempest_install_source.yml index 33add5f7..171d9c46 100644 --- a/tasks/tempest_install_source.yml +++ b/tasks/tempest_install_source.yml @@ -15,8 +15,7 @@ - name: Generate list of tempest plugins installed from source code set_fact: - tempest_pip_plugins: "{{ tempest_pip_plugins | default([]) + [item.name] }}" - tempest_plugin_constraints: "{{ tempest_plugin_constraints | default([]) + ['git+' ~ item.repo ~ '@' ~ item.branch ~ '#egg=' ~ item.name] }}" + tempest_pip_plugins: "{{ tempest_pip_plugins | default([]) + ['git+' ~ item.repo ~ '@' ~ item.branch ~ '#egg=' ~ item.name] }}" with_items: "{{ tempest_plugins }}" when: item.repo is defined @@ -26,12 +25,18 @@ with_items: "{{ tempest_plugins }}" when: item.package is defined +- name: Retrieve the constraints URL + uri: + url: "{{ tempest_upper_constraints_url }}" + return_content: yes + register: _u_c_contents + - name: Install the python venv import_role: name: "python_venv_build" vars: venv_python_executable: "{{ tempest_venv_python_executable }}" - venv_build_constraints: "{{ tempest_plugin_constraints + tempest_git_constraints }}" + venv_build_constraints: "{{ (tempest_git_repo is defined) | ternary( _u_c_contents.content.split('\n') | reject('match', '[tempest=*]') | list, tempest_git_constraints) }}" venv_install_destination_path: "{{ tempest_venv_bin | dirname }}" venv_pip_install_args: "{{ tempest_pip_install_args }}" venv_wheel_build_enable: "{{ venv_build_host != inventory_hostname }}"