Optimise apt cache update task

The update of the apt cache and the package installation
can all be handled in a single task by providing the
package action plugin with the right parameters. This
removes an extra task to optimise execution.

The minimum Ansible version is raised to 2.2 due to a
known bug [1] in Ansible's apt module which does not
update the cache properly if the cache update and the
install are combined in a single task.

[1] https://github.com/ansible/ansible-modules-core/issues/1497

Change-Id: Ieaf67c9a776c43e9fd39c63a92642b55a49bb9bc
(cherry picked from commit 27545d222a)
This commit is contained in:
Jesse Pretorius 2017-04-21 16:51:57 +01:00 committed by Jesse Pretorius (odyssey4me)
parent 7a803e4946
commit bfc42ab048
2 changed files with 3 additions and 8 deletions

View File

@ -4,7 +4,7 @@ galaxy_info:
description: Deploy Trove with OpenStack Ansible
company: OpenStack
license: Apache-2.0
min_ansible_version: 2.0
min_ansible_version: 2.2
version: 0.1.0
platforms:
- name: Ubuntu

View File

@ -16,17 +16,12 @@
# (c) 2016 Donovan Francesco <donovan.francesco@is.co.za>
# (c) 2016 Paul Stevens <paul.stevens@is.co.za>
- name: Ensure apt cache is up to date
apt:
update_cache: yes
cache_valid_time: "{{ cache_timeout }}"
when:
- ansible_pkg_mgr == 'apt'
- name: Install distro packages
package:
name: "{{ item }}"
state: "{{ trove_package_state }}"
update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}"
register: install_packages
until: install_packages|success
retries: 5