From 8ce2ae13cfcc2b83c635837746797e980f29154f Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Tue, 2 May 2017 10:22:18 +0100 Subject: [PATCH] Use package module to install distro packages Consolidate distro package install tasks into a single task using the package module. 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: I8f4ed2a836b118080bf4698786caab7847f6e799 --- meta/main.yml | 2 +- tasks/ceph_all.yml | 3 +- ...{ceph_install_apt.yml => ceph_install.yml} | 6 ++-- tasks/ceph_install_yum.yml | 30 ------------------- 4 files changed, 5 insertions(+), 36 deletions(-) rename tasks/{ceph_install_apt.yml => ceph_install.yml} (84%) delete mode 100644 tasks/ceph_install_yum.yml diff --git a/meta/main.yml b/meta/main.yml index 1b52d29..2b7c682 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -18,7 +18,7 @@ galaxy_info: description: Installation and configuration of the ceph client company: OpenStack Foundation license: Apache2 - min_ansible_version: 1.9.4 + min_ansible_version: 2.2 platforms: - name: Ubuntu versions: diff --git a/tasks/ceph_all.yml b/tasks/ceph_all.yml index 0a3bacf..a452fca 100644 --- a/tasks/ceph_all.yml +++ b/tasks/ceph_all.yml @@ -25,13 +25,12 @@ - always - include: "ceph_preinstall_{{ ansible_pkg_mgr }}.yml" - static: no when: - ceph_pkg_source != 'distro' tags: - ceph-install -- include: "ceph_install_{{ ansible_pkg_mgr }}.yml" +- include: ceph_install.yml tags: - ceph-install diff --git a/tasks/ceph_install_apt.yml b/tasks/ceph_install.yml similarity index 84% rename from tasks/ceph_install_apt.yml rename to tasks/ceph_install.yml index f822816..2b46943 100644 --- a/tasks/ceph_install_apt.yml +++ b/tasks/ceph_install.yml @@ -14,11 +14,11 @@ # limitations under the License. - name: Install ceph packages - apt: + package: name: '{{ item.1 }}' state: "{{ ceph_client_package_state }}" - update_cache: yes - cache_valid_time: "{{ cache_timeout }}" + update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}" + cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}" register: install_packages until: install_packages|success retries: 5 diff --git a/tasks/ceph_install_yum.yml b/tasks/ceph_install_yum.yml deleted file mode 100644 index cfc8f1d..0000000 --- a/tasks/ceph_install_yum.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -# Copyright 2017, Marc GariƩpy -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -- name: Install ceph packages - yum: - name: '{{ item.1 }}' - state: "{{ ceph_client_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_subelements: - - "{{ ceph_components }}" - - package - when: - - inventory_hostname in groups[item.0.component] - notify: - - Restart os services