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: If6b3261bba643759f12a811d849ce9cb1040497f
This commit is contained in:
@@ -18,7 +18,7 @@ galaxy_info:
|
|||||||
description: Installation and setup of keystone
|
description: Installation and setup of keystone
|
||||||
company: Rackspace
|
company: Rackspace
|
||||||
license: Apache2
|
license: Apache2
|
||||||
min_ansible_version: 2.0
|
min_ansible_version: 2.2
|
||||||
platforms:
|
platforms:
|
||||||
- name: Ubuntu
|
- name: Ubuntu
|
||||||
versions:
|
versions:
|
||||||
|
|||||||
@@ -49,17 +49,12 @@
|
|||||||
- ansible_pkg_mgr == 'yum'
|
- ansible_pkg_mgr == 'yum'
|
||||||
- keystone_sp != {}
|
- keystone_sp != {}
|
||||||
|
|
||||||
- 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
|
- name: Install distro packages
|
||||||
package:
|
package:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
state: "{{ keystone_package_state }}"
|
state: "{{ keystone_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
|
register: install_packages
|
||||||
until: install_packages | success
|
until: install_packages | success
|
||||||
retries: 5
|
retries: 5
|
||||||
@@ -70,6 +65,8 @@
|
|||||||
package:
|
package:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
state: "{{ keystone_package_state }}"
|
state: "{{ keystone_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
|
register: install_packages
|
||||||
until: install_packages | success
|
until: install_packages | success
|
||||||
retries: 5
|
retries: 5
|
||||||
@@ -83,6 +80,8 @@
|
|||||||
package:
|
package:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
state: "{{ keystone_package_state }}"
|
state: "{{ keystone_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
|
register: install_packages
|
||||||
until: install_packages | success
|
until: install_packages | success
|
||||||
retries: 5
|
retries: 5
|
||||||
@@ -97,6 +96,8 @@
|
|||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
state: "{{ (keystone_idp != {}) | ternary(keystone_package_state, 'absent') }}"
|
state: "{{ (keystone_idp != {}) | ternary(keystone_package_state, 'absent') }}"
|
||||||
autoremove: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
|
autoremove: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
|
||||||
|
update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
|
||||||
|
cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}"
|
||||||
when:
|
when:
|
||||||
- keystone_apache_enabled | bool
|
- keystone_apache_enabled | bool
|
||||||
register: install_packages
|
register: install_packages
|
||||||
@@ -113,6 +114,8 @@
|
|||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
state: "{{ (keystone_sp != {}) | ternary(keystone_package_state, 'absent') }}"
|
state: "{{ (keystone_sp != {}) | ternary(keystone_package_state, 'absent') }}"
|
||||||
autoremove: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
|
autoremove: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
|
||||||
|
update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
|
||||||
|
cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}"
|
||||||
when:
|
when:
|
||||||
- keystone_apache_enabled | bool
|
- keystone_apache_enabled | bool
|
||||||
register: install_packages
|
register: install_packages
|
||||||
@@ -129,6 +132,8 @@
|
|||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
state: "{{ (keystone_developer_mode | bool) | ternary(keystone_package_state, 'absent') }}"
|
state: "{{ (keystone_developer_mode | bool) | ternary(keystone_package_state, 'absent') }}"
|
||||||
autoremove: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
|
autoremove: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
|
||||||
|
update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
|
||||||
|
cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}"
|
||||||
register: install_packages
|
register: install_packages
|
||||||
until: install_packages | success
|
until: install_packages | success
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|||||||
Reference in New Issue
Block a user