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: I69970a3a76e6ac56095d0077c31f811d717d9216
This commit is contained in:
Jesse Pretorius 2017-04-21 16:46:02 +01:00 committed by Jesse Pretorius (odyssey4me)
parent 77d16ae185
commit 9d43b6ffd0
2 changed files with 3 additions and 8 deletions

View File

@ -18,7 +18,7 @@ galaxy_info:
description: Installation and setup of neutron description: Installation and setup of neutron
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:

View File

@ -13,17 +13,12 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
- name: Ensure apt cache is up to date
apt:
update_cache: yes
cache_valid_time: "{{ cache_timeout }}"
when:
- ansible_pkg_mgr == 'apt'
- name: Install neutron role packages - name: Install neutron role packages
package: package:
name: "{{ item }}" name: "{{ item }}"
state: "{{ neutron_package_state }}" state: "{{ neutron_package_state }}"
update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}"
with_items: with_items:
- "{{ neutron_packages_list | selectattr('enabled') | sum(attribute='packages', start=[]) }}" - "{{ neutron_packages_list | selectattr('enabled') | sum(attribute='packages', start=[]) }}"
when: when: