Simplify pip options/constraints mechanism

The current constraints generation for the
installation involves multiple tasks and multiple
variables.

Using multiple tasks extends the installation time
unnecessarily and the additional variables are
unnecessary.

This patch aims to simplify the mechanism and
hopes to speed it up a little.

Change-Id: I6d0847a1348cbf08704fd2bcade5d0e7f8f0e1ef
This commit is contained in:
Jesse Pretorius 2016-11-02 12:17:28 +00:00
parent 8ef4a8644e
commit fcce826ae7
3 changed files with 15 additions and 31 deletions

View File

@ -71,13 +71,8 @@ barbican_developer_mode: false
## The git source/branch
barbican_git_repo: "https://git.openstack.org/openstack/barbican"
barbican_git_install_branch: master
barbican_git_dest: "/opt/barbican_{{ barbican_git_install_branch |replace('/', '_') }}"
## The git source/branch for the upper-constraints (used in developer mode)
barbican_requirements_git_repo: https://git.openstack.org/openstack/requirements
barbican_requirements_git_install_branch: master
## The packages to build from source (used in developer mode)
barbican_developer_constraints:
- "git+{{ barbican_git_repo }}@{{ barbican_git_install_branch }}#egg=barbican"

View File

@ -0,0 +1,7 @@
---
upgrade:
- The variables ``barbican_requirements_git_repo`` and
``barbican_requirements_git_install_branch`` have been
removed in favour of using the URL/path to the
upper-constraints file using the
variable ``pip_install_upper_constraints`` instead.

View File

@ -25,36 +25,15 @@
{% for item in barbican_developer_constraints %}
{{ item }}
{% endfor %}
when:
- barbican_developer_mode | bool
- name: Clone requirements git repository
git:
repo: "{{ barbican_requirements_git_repo }}"
dest: "/opt/requirements"
clone: yes
update: yes
version: "{{ barbican_requirements_git_install_branch }}"
when:
- barbican_developer_mode | bool
- name: Add constraints to pip_install_options fact for developer mode
set_fact:
pip_install_options_fact: "{{ pip_install_options|default('') }} --constraint /opt/developer-pip-constraints.txt --constraint /opt/requirements/upper-constraints.txt"
when:
- barbican_developer_mode | bool
- name: Set pip_install_options_fact when not in developer mode
set_fact:
pip_install_options_fact: "{{ pip_install_options|default('') }}"
when:
- not barbican_developer_mode | bool
when: barbican_developer_mode | bool
- name: Install requires pip packages
pip:
name: "{{ barbican_requires_pip_packages | join(' ') }}"
state: latest
extra_args: "{{ pip_install_options_fact }}"
extra_args: >-
{{ (pip_install_upper_constraints is defined) | ternary('--constraint ' + pip_install_upper_constraints | default(''),'') }}
{{ pip_install_options | default('') }}
register: install_packages
until: install_packages|success
retries: 5
@ -128,7 +107,10 @@
state: latest
virtualenv: "{{ barbican_bin | dirname }}"
virtualenv_site_packages: "no"
extra_args: "{{ pip_install_options_fact }}"
extra_args: >-
{{ barbican_developer_mode | ternary('--constraint /opt/developer-pip-constraints.txt', '') }}
{{ (pip_install_upper_constraints is defined) | ternary('--constraint ' + pip_install_upper_constraints | default(''),'') }}
{{ pip_install_options | default('') }}
register: install_packages
until: install_packages|success
retries: 5