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: Id04b2f74831e3422b036308c638be5428509e57a
This commit is contained in:
Jesse Pretorius 2016-05-04 10:43:41 +01:00
parent 167bf69b30
commit cf882feb53

View File

@ -90,7 +90,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
@ -209,7 +209,7 @@
- name: Install pip packages (venv)
pip:
name: "{{ item }}"
state: present
state: latest
virtualenv: "{{ swift_venv_bin | dirname }}"
virtualenv_site_packages: "no"
extra_args: "{{ pip_install_options_fact }}"
@ -233,7 +233,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