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: I213c955f832fd7bd0bc3497d8d8005985ecb04bd
This commit is contained in:
Donovan Francesco (drifterza) 2016-11-09 14:16:13 +02:00
parent d97cd7637e
commit 8ea0b5118d
2 changed files with 8 additions and 61 deletions

View File

@ -58,49 +58,31 @@ monasca_developer_mode: false
monasca_api_git_repo: "https://git.openstack.org/openstack/monasca-api"
monasca_api_git_install_branch: master
monasca_api_requirements_git_repo: https://git.openstack.org/openstack/requirements
monasca_api_requirements_git_install_branch: master
monasca_log_api_bind_port: 5607
monasca_log_api_git_repo: "https://git.openstack.org/openstack/monasca-log-api"
monasca_log_api_git_install_branch: master
monasca_log_api_requirements_git_repo: https://git.openstack.org/openstack/requirements
monasca_log_api_requirements_git_install_branch: master
monasca_ceilometer_git_repo: "https://git.openstack.org/openstack/monasca-ceilometer"
monasca_ceilometer_git_install_branch: master
monasca_ceilometer_requirements_git_repo: https://git.openstack.org/openstack/requirements
monasca_ceilometer_requirements_git_install_branch: master
monasca_common_git_repo: "https://git.openstack.org/openstack/monasca-common"
monasca_common_git_install_branch: master
monasca_common_requirements_git_repo: https://git.openstack.org/openstack/requirements
monasca_common_requirements_git_install_branch: master
monasca_thresh_git_repo: "https://git.openstack.org/openstack/monasca-thresh"
monasca_thresh_git_install_branch: master
monasca_thresh_requirements_git_repo: https://git.openstack.org/openstack/requirements
monasca_thresh_requirements_git_install_branch: master
monasca_transform_git_repo: "https://git.openstack.org/openstack/monasca-transform"
monasca_transform_git_install_branch: master
monasca_transform_requirements_git_repo: https://git.openstack.org/openstack/requirements
monasca_transform_requirements_git_install_branch: master
monasca_notification_git_repo: "https://git.openstack.org/openstack/monasca-notification"
monasca_notification_git_install_branch: master
monasca_notification_requirements_git_repo: https://git.openstack.org/openstack/requirements
monasca_notification_requirements_git_install_branch: master
monasca_persister_git_repo: "https://git.openstack.org/openstack/monasca-persister"
monasca_persister_git_install_branch: master
monasca_persister_requirements_git_repo: https://git.openstack.org/openstack/requirements
monasca_persister_requirements_git_install_branch: master
monasca_python_client_git_repo: "https://git.openstack.org/openstack/python-monascaclient"
monasca_python_client_git_install_branch: master
monasca_python_client_requirements_git_repo: https://git.openstack.org/openstack/requirements
monasca_python_client_requirements_git_install_branch: master
monasca_developer_constraints:
- "git+{{ monasca_api_git_repo }}@{{ monasca_api_git_install_branch }}#egg=monasca-api"

View File

@ -27,53 +27,15 @@
{% for item in monasca_developer_constraints %}
{{ item }}
{% endfor %}
when:
- monasca_developer_mode | bool
- name: Clone requirements git repository
git:
repo: "{{ item.repo }}"
dest: "/opt/requirements"
clone: yes
update: yes
version: "{{ item.version }}"
when:
- monasca_developer_mode | bool
with_items:
- repo: "{{ monasca_api_requirements_git_repo }}"
version: "{{ monasca_api_requirements_git_install_branch }}"
- repo: "{{ monasca_log_api_requirements_git_repo }}"
version: "{{ monasca_log_api_requirements_git_install_branch }}"
- repo: "{{ monasca_ceilometer_requirements_git_repo }}"
version: "{{ monasca_ceilometer_requirements_git_install_branch }}"
- repo: "{{ monasca_common_requirements_git_repo }}"
version: "{{ monasca_common_requirements_git_install_branch }}"
- repo: "{{ monasca_transform_requirements_git_repo }}"
version: "{{ monasca_transform_requirements_git_install_branch }}"
- repo: "{{ monasca_notification_requirements_git_repo }}"
version: "{{ monasca_notification_requirements_git_install_branch }}"
- repo: "{{ monasca_persister_requirements_git_repo }}"
version: "{{ monasca_persister_requirements_git_install_branch }}"
- repo: "{{ monasca_python_client_requirements_git_repo }}"
version: "{{ monasca_python_client_requirements_git_install_branch }}"
- 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:
- monasca_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 monasca_developer_mode | bool
when: monasca_developer_mode | bool
- name: Install requires pip packages
pip:
name: "{{ monasca_requires_pip_packages | join(' ') }}"
state: "{{ monasca_pip_package_state }}"
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
@ -116,7 +78,10 @@
state: "{{ monasca_pip_package_state }}"
virtualenv: "{{ monasca_bin | dirname }}"
virtualenv_site_packages: "no"
extra_args: "{{ pip_install_options_fact }}"
extra_args: >-
{{ monasca_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