Change pip install task state to 'latest'

Currently all pip install tasks only require the package to be
present. This means that when an environment undergoes a minor
upgrade the package is not upgraded to the same version that
was tested with. This ultimately results in a deployed
environment that does not match the tested environment.

While for the services installed into venvs this is not an
issue, it does affect those which do not use venvs and any
packages which are installed outside of a venv or on top
of a venv.

This patch changes the behaviour to ensure that the install
task will always use the latest available package. In
developer_mode this will mean using the version specified
in upper-constraints, and in an integrated build this will
mean the version which is available in the wheel repo's
folder for the tag.

Change-Id: Ide03340d3a03ded642040e27ccebca686f2b2b17
This commit is contained in:
Jesse Pretorius 2016-05-04 09:52:14 +01:00
parent 1e3bed61c4
commit fc63481fc5

View File

@ -68,7 +68,7 @@
- name: Install requires pip packages
pip:
name: "{{ item }}"
state: present
state: latest
extra_args: "{{ pip_install_options_fact }}"
register: install_packages
until: install_packages|success
@ -184,7 +184,7 @@
- name: Install pip packages (venv)
pip:
name: "{{ item }}"
state: present
state: latest
virtualenv: "{{ glance_venv_bin | dirname }}"
virtualenv_site_packages: "no"
extra_args: "{{ pip_install_options_fact }}"
@ -205,7 +205,7 @@
- name: Install pip packages (no venv)
pip:
name: "{{ item }}"
state: present
state: latest
extra_args: "{{ pip_install_options_fact }}"
register: install_packages
until: install_packages|success