Use upper-constraints file in developer mode

Last week, keystone was failing to install in developer mode due to us
not specifying upper constraints.  This was due to an upcapped version
of pysaml2 being installed which is causing problems.  This commit first
clones the requirements repo and then uses the upper constraints file
when installing packages.

Note that we only update pip_install_options when in developer mode if
the constraints aren't already set.  This is because in developer mode
you could have a container with multiple services running on it and the
pip_install_options fact would get updated when already set, resulting
in pip failing to install packages.

Change-Id: Ie5dd39ea49268fdea401e324b96fb5a2e89dd078
Partial-Bug: #1553977
This commit is contained in:
Matt Thompson 2016-03-14 16:56:33 +00:00
parent 82625e4741
commit f70ea87251
3 changed files with 22 additions and 3 deletions

View File

@ -22,6 +22,8 @@ cache_timeout: 600
ceilometer_git_repo: https://git.openstack.org/openstack/ceilometer
ceilometer_git_install_branch: master
ceilometer_requirements_git_repo: https://git.openstack.org/openstack/requirements
ceilometer_requirements_git_install_branch: master
ceilometer_developer_mode: false
ceilometer_developer_constraints:
- "git+{{ ceilometer_git_repo }}@{{ ceilometer_git_install_branch }}#egg=ceilometer"

View File

@ -71,15 +71,30 @@
- ceilometer-install
- ceilometer-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: "{{ ceilometer_requirements_git_repo }}"
dest: "/opt/requirements"
clone: yes
update: yes
version: "{{ ceilometer_requirements_git_install_branch }}"
when:
- ceilometer_developer_mode | bool
tags:
- ceilometer-install
- ceilometer-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:
- ceilometer_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:
- ceilometer-install
- ceilometer-pip-packages
- name: Install requires pip packages
pip:
name: "{{ item }}"

View File

@ -241,6 +241,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"
@ -312,6 +313,7 @@
ceilometer_venv_tag: "testing"
ceilometer_developer_mode: true
ceilometer_git_install_branch: 333024b69aa7810e78aef85e5171cfd6dbd6b740 # HEAD of "master" as of 17.01.2016
ceilometer_requirements_git_install_branch: 332278d456e06870150835564342570ec9d5f5a0
ceilometer_service_password: secrete
ceilometer_telemetry_secret: secrete
ceilometer_container_db_password: secrete