From 1477df22f7f33c3f0e576cdc1e7d2c0b9215ebaa Mon Sep 17 00:00:00 2001 From: Jean-Philippe Evrard Date: Mon, 15 Feb 2016 14:49:43 +0100 Subject: [PATCH] Only update apt cache if necessary Workarounding the upstream ansible apt module bug documented here: https://github.com/ansible/ansible-modules-core/pull/1517 For the next versions of ansible we'll be using, we should check if the apt bug is fixed. When it's fixed, we could abandon this change and use the standard apt module with correct cache handling. Change-Id: I4390b7ec1104d79b60965be8dc7317ac3075207d --- defaults/main.yml | 3 +++ tasks/openstack_host_packages.yml | 18 ++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 7eaec5c1..eb811400 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -13,6 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +## APT Cache Options +cache_timeout: 600 + openstack_code_name: Mitaka openstack_release: master diff --git a/tasks/openstack_host_packages.yml b/tasks/openstack_host_packages.yml index 25765b94..28c53621 100644 --- a/tasks/openstack_host_packages.yml +++ b/tasks/openstack_host_packages.yml @@ -13,14 +13,20 @@ # See the License for the specific language governing permissions and # limitations under the License. -- name: Update apt sources +#TODO(evrardjp): Replace the next 2 tasks by a standard apt with cache +#when https://github.com/ansible/ansible-modules-core/pull/1517 is merged +#in 1.9.x or we move to 2.0 (if tested working) +- name: Check apt last update file + stat: + path: /var/cache/apt + register: apt_cache_stat + tags: + - openstack-apt-packages + +- name: Update apt if needed apt: update_cache: yes - cache_valid_time: 600 - register: apt_update - until: apt_update|success - retries: 5 - delay: 2 + when: "ansible_date_time.epoch|float - apt_cache_stat.stat.mtime > {{cache_timeout}}" tags: - openstack-apt-packages