From bfc42ab04807d45bc7d769c3c1409253b8380324 Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Fri, 21 Apr 2017 16:51:57 +0100 Subject: [PATCH] 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 27545d222ad69f56a7d0a56303256412bae68723) --- meta/main.yml | 2 +- tasks/trove_install.yml | 9 ++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/meta/main.yml b/meta/main.yml index f3b1d88..8942a04 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -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 diff --git a/tasks/trove_install.yml b/tasks/trove_install.yml index 325840a..53eebe8 100644 --- a/tasks/trove_install.yml +++ b/tasks/trove_install.yml @@ -16,17 +16,12 @@ # (c) 2016 Donovan Francesco # (c) 2016 Paul Stevens -- 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