---
# Copyright 2014, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

- include: galera_install_apt.yml
  when:
    - ansible_pkg_mgr == 'apt'
  tags:
    - install-apt

- name: Install pip packages
  pip:
    name: "{{ item }}"
    state: present
    extra_args: "{{ pip_install_options|default('') }}"
  register: install_packages
  until: install_packages|success
  retries: 5
  delay: 2
  with_items: "{{ galera_pip_packages }}"
  tags:
    - galera-pip-packages

---
# Copyright 2014, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

- include: galera_install_apt.yml
  when:
    - ansible_pkg_mgr == 'apt'
  tags:
    - install-apt

- name: Install pip packages
  pip:
    name: "{{ item }}"
    state: latest
    extra_args: "{{ pip_install_options|default('') }}"
  register: install_packages
  until: install_packages|success
  retries: 5
  delay: 2
  with_items: "{{ galera_pip_packages }}"
  tags:
    - galera-pip-packages

Change pip install task state to 'latest'
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: I90a044e142829ea90bbc81cdda5a2a257fe8de22
