From b17d8808a54d4f083130e28442f90e98fe170a88 Mon Sep 17 00:00:00 2001 From: Andy McCrae Date: Thu, 25 May 2017 14:05:38 +0100 Subject: [PATCH] Allow the developer constraints to be adjusted In order to do a developer mode that allows installation of packages from local file, which take precedence over the developer_mode constraints, we need to allow the order of the constraints to be changed. This patch adds a "pip_install_developer_constraints" var which is used to set the developer mode constraints. By default this will leave the same behaviour but will allow additional constraints to be added, or the developermode constraints file to be overriden altogether. Change-Id: I9b639cf11f0197c996f9d87210142e898ad46191 --- tasks/consoles/nova_console_novnc_install.yml | 5 ++++- tasks/drivers/ironic/nova_compute_ironic.yml | 2 +- tasks/drivers/kvm/nova_compute_kvm_install.yml | 5 ++++- tasks/drivers/lxd/nova_compute_lxd.yml | 2 +- tasks/drivers/powervm/nova_compute_powervm.yml | 5 ++++- tasks/nova_install.yml | 3 ++- tasks/nova_placement.yml | 2 +- 7 files changed, 17 insertions(+), 7 deletions(-) diff --git a/tasks/consoles/nova_console_novnc_install.yml b/tasks/consoles/nova_console_novnc_install.yml index 56ef75ed..2f2ffb22 100644 --- a/tasks/consoles/nova_console_novnc_install.yml +++ b/tasks/consoles/nova_console_novnc_install.yml @@ -42,7 +42,10 @@ state: "{{ nova_pip_package_state }}" virtualenv: "{{ nova_bin | dirname }}" virtualenv_site_packages: "no" - extra_args: "{{ pip_install_options|default('') }}" + extra_args: >- + {{ nova_developer_mode | ternary(pip_install_developer_constraints | default('--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 diff --git a/tasks/drivers/ironic/nova_compute_ironic.yml b/tasks/drivers/ironic/nova_compute_ironic.yml index 057f6b43..95b9d3f2 100644 --- a/tasks/drivers/ironic/nova_compute_ironic.yml +++ b/tasks/drivers/ironic/nova_compute_ironic.yml @@ -20,7 +20,7 @@ virtualenv: "{{ nova_bin | dirname }}" virtualenv_site_packages: "no" extra_args: >- - {{ nova_developer_mode | ternary('--constraint /opt/developer-pip-constraints.txt', '') }} + {{ nova_developer_mode | ternary(pip_install_developer_constraints | default('--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 diff --git a/tasks/drivers/kvm/nova_compute_kvm_install.yml b/tasks/drivers/kvm/nova_compute_kvm_install.yml index 9cbeb325..fb082c43 100644 --- a/tasks/drivers/kvm/nova_compute_kvm_install.yml +++ b/tasks/drivers/kvm/nova_compute_kvm_install.yml @@ -61,7 +61,10 @@ state: "{{ nova_pip_package_state }}" virtualenv: "{{ nova_bin | dirname }}" virtualenv_site_packages: "no" - extra_args: "{{ pip_install_options|default('') }}" + extra_args: >- + {{ nova_developer_mode | ternary(pip_install_developer_constraints | default('--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 diff --git a/tasks/drivers/lxd/nova_compute_lxd.yml b/tasks/drivers/lxd/nova_compute_lxd.yml index e90292be..8834d205 100644 --- a/tasks/drivers/lxd/nova_compute_lxd.yml +++ b/tasks/drivers/lxd/nova_compute_lxd.yml @@ -20,7 +20,7 @@ virtualenv: "{{ nova_bin | dirname }}" virtualenv_site_packages: "no" extra_args: >- - {{ nova_developer_mode | ternary('--constraint /opt/developer-pip-constraints.txt', '') }} + {{ nova_developer_mode | ternary(pip_install_developer_constraints | default('--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 diff --git a/tasks/drivers/powervm/nova_compute_powervm.yml b/tasks/drivers/powervm/nova_compute_powervm.yml index 5784f9a3..d7f4c075 100644 --- a/tasks/drivers/powervm/nova_compute_powervm.yml +++ b/tasks/drivers/powervm/nova_compute_powervm.yml @@ -19,7 +19,10 @@ state: "{{ nova_pip_package_state }}" virtualenv: "{{ nova_bin | dirname }}" virtualenv_site_packages: "no" - extra_args: "{{ pip_install_options|default('') }}" + extra_args: >- + {{ nova_developer_mode | ternary(pip_install_developer_constraints | default('--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 diff --git a/tasks/nova_install.yml b/tasks/nova_install.yml index 5b701069..9eda22af 100644 --- a/tasks/nova_install.yml +++ b/tasks/nova_install.yml @@ -48,6 +48,7 @@ name: "{{ nova_requires_pip_packages }}" state: "{{ nova_pip_package_state }}" extra_args: >- + {{ nova_developer_mode | ternary(pip_install_developer_constraints | default('--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 @@ -115,7 +116,7 @@ virtualenv: "{{ nova_bin | dirname }}" virtualenv_site_packages: "no" extra_args: >- - {{ nova_developer_mode | ternary('--constraint /opt/developer-pip-constraints.txt', '') }} + {{ nova_developer_mode | ternary(pip_install_developer_constraints | default('--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 diff --git a/tasks/nova_placement.yml b/tasks/nova_placement.yml index 86162064..5cbe700f 100644 --- a/tasks/nova_placement.yml +++ b/tasks/nova_placement.yml @@ -20,7 +20,7 @@ virtualenv: "{{ nova_bin | dirname }}" virtualenv_site_packages: "no" extra_args: >- - {{ nova_developer_mode | ternary('--constraint /opt/developer-pip-constraints.txt', '') }} + {{ nova_developer_mode | ternary(pip_install_developer_constraints | default('--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