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: Id86af470197fe5b70724f0296f1cb0aed21bf826
This commit is contained in:
Jean-Philippe Evrard 2016-02-15 14:49:43 +01:00
parent 5bcdd4b772
commit e1b4efc8dc
3 changed files with 29 additions and 12 deletions

View File

@ -13,6 +13,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
## APT Cache Options
cache_timeout: 600
galera_server_bootstrap_node: "{{ groups['galera_all'][0] }}"
galera_ignore_cluster_state: false

View File

@ -23,14 +23,22 @@
tags:
- galera-debconf
- 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:
- galera-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}}" or
add_repos | changed
tags:
- galera-apt-packages

View File

@ -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:
- galera-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:
- galera-apt-packages