diff --git a/defaults/main.yml b/defaults/main.yml index 62ccaf25..087bc04e 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -25,6 +25,8 @@ cache_timeout: 600 nova_git_repo: https://git.openstack.org/openstack/nova nova_git_install_branch: master +nova_requirements_git_repo: https://git.openstack.org/openstack/requirements +nova_requirements_git_install_branch: master nova_developer_mode: false nova_developer_constraints: - "git+{{ nova_git_repo }}@{{ nova_git_install_branch }}#egg=nova" diff --git a/tasks/nova_install.yml b/tasks/nova_install.yml index 644e7f51..74dfd1c6 100644 --- a/tasks/nova_install.yml +++ b/tasks/nova_install.yml @@ -56,15 +56,30 @@ - nova-install - nova-pip-packages -- name: Set constraint file fact for developer mode - set_fact: - pip_install_options: "{{ pip_install_options|default('') }} --constraint /opt/developer-pip-constraints.txt" +- name: Clone requirements git repository + git: + repo: "{{ nova_requirements_git_repo }}" + dest: "/opt/requirements" + clone: yes + update: yes + version: "{{ nova_requirements_git_install_branch }}" when: - nova_developer_mode | bool tags: - nova-install - nova-pip-packages +- name: Add constraints to pip_install_options fact for developer mode + set_fact: + pip_install_options: "{{ pip_install_options|default('') }} --constraint /opt/developer-pip-constraints.txt --constraint /opt/requirements/upper-constraints.txt" + when: + - nova_developer_mode | bool + - "'/opt/developer-pip-constraints.txt' not in pip_install_options|default('')" + - "'/opt/requirements/upper-constraints.txt' not in pip_install_options|default('')" + tags: + - nova-install + - nova-pip-packages + - name: Install requires pip packages pip: name: "{{ item }}" diff --git a/tests/test.yml b/tests/test.yml index dbab9eec..3adde696 100644 --- a/tests/test.yml +++ b/tests/test.yml @@ -201,6 +201,7 @@ keystone_venv_tag: "testing" keystone_developer_mode: true keystone_git_install_branch: a55128044f763f5cfe2fdc57c738eaca97636448 + keystone_requirements_git_install_branch: 332278d456e06870150835564342570ec9d5f5a0 keystone_auth_admin_token: "SuperSecreteTestToken" keystone_auth_admin_password: "SuperSecretePassword" keystone_service_password: "secrete" @@ -296,6 +297,7 @@ nova_venv_tag: "testing" nova_developer_mode: true nova_git_install_branch: deb1ee440923b0b292f3536a2f8bda672c03984a + nova_requirements_git_install_branch: 332278d456e06870150835564342570ec9d5f5a0 nova_service_password: "secrete" nova_container_mysql_password: "SuperSecrete" nova_api_container_mysql_password: "SuperSecrete"