Only update apt cache if necessary

This patch implements workaround due to [1] which is fixed in [2] but
has not yet merged.

TODO: Once we switch to Ansible 2.x we'll need to revisit whether this
is still a problem.

[1] https://github.com/ansible/ansible-modules-core/issues/1497
[2] https://github.com/ansible/ansible-modules-core/pull/1517
This commit is contained in:
Jesse Pretorius
2016-03-11 11:30:41 +00:00
parent f38cf1aadd
commit f4842f73fd
2 changed files with 15 additions and 6 deletions

View File

@@ -17,6 +17,9 @@
debug: False
verbose: True
## APT Cache options
cache_timeout: 600
# These variables are used in 'developer mode' in order to allow the role
# to build an environment directly from a git source without the presence
# of an OpenStack-Ansible repo_server.

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:
- designate-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:
- designate-apt-packages