From 34ad63b41eb85bc947bb51e3d3895b7516374943 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Evrard Date: Tue, 9 Feb 2016 12:46:50 +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: I2aaf00da175f31d0157bbc4ae30a4e176b055078 --- defaults/main.yml | 3 +++ tasks/keystone_install.yml | 18 ++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 82dcb500..b5d7f792 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -17,6 +17,9 @@ debug: False verbose: True +## APT Cache options +cache_timeout: 600 + # Name of the virtual env to deploy into keystone_venv_tag: untagged keystone_venv_bin: "/openstack/venvs/keystone-{{ keystone_venv_tag }}/bin" diff --git a/tasks/keystone_install.yml b/tasks/keystone_install.yml index c81e9da0..5aeac5f3 100644 --- a/tasks/keystone_install.yml +++ b/tasks/keystone_install.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: + - keystone-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: - keystone-apt-packages