From 4f89546529449addd0b373850708f9a2e43f4858 Mon Sep 17 00:00:00 2001 From: Alex Schultz Date: Tue, 28 Aug 2018 08:55:38 -0600 Subject: [PATCH] Add support for dnf In order to run this on python3 and fedora, we need to use the dnf module or use package. Change-Id: I9f61facd0165f67af18018dff363a8e2075f3aee Related-Blueprint: dnf-support --- tasks/docker-distribution.yml | 2 +- tasks/docker-update.yml | 31 +++++++++++++++++++++++++++---- tasks/docker.yml | 2 +- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/tasks/docker-distribution.yml b/tasks/docker-distribution.yml index d591247..a06047d 100644 --- a/tasks/docker-distribution.yml +++ b/tasks/docker-distribution.yml @@ -1,7 +1,7 @@ # tasks file for ansible-role-container-registry - name: ensure docker-distribution is installed - yum: + package: name: docker-distribution state: present diff --git a/tasks/docker-update.yml b/tasks/docker-update.yml index 7e889ed..e83c18c 100644 --- a/tasks/docker-update.yml +++ b/tasks/docker-update.yml @@ -1,8 +1,21 @@ # tasks file for ansible-role-container-registry # the tasks will ensure docker is up to date. +- name: set package manager to yum + set_fact: + registry_pkg_manager: yum + when: + - ansible_os_family == 'RedHat' + - ansible_distribution_major_version == 7 + +- name: set package manager to dnf + set_fact: + registry_pkg_manager: dnf + when: (ansible_os_family == 'RedHat' and ansible_distribution_major_version > 7) or (ansible_distribution == 'Fedora') + + - name: can docker be updated - shell: yum check-update docker + shell: {{ registry_pkg_manager }} check-update docker register: docker_check_update failed_when: docker_check_update.rc not in [0, 100] changed_when: docker_check_update.rc == 100 @@ -17,12 +30,22 @@ when: docker_rpm_needs_update - name: ensure docker is installed - yum: + package: name: docker state: present when: docker_rpm_needs_update -- name: update the docker package +- name: update the docker package (yum) yum: name=docker state=latest update_cache=yes # cache for https://bugs.launchpad.net/tripleo/+bug/1703830 - when: docker_rpm_needs_update notify: restart docker service + when: + - docker_rpm_needs_update + - registry_pkg_manager == 'yum' + +- name: update the docker package (dnf) + dnf: name=docker state=latest + notify: restart docker service + when: + - docker_rpm_needs_update + - registry_pkg_manager == 'dnf' + diff --git a/tasks/docker.yml b/tasks/docker.yml index 5476ebd..1841fb1 100644 --- a/tasks/docker.yml +++ b/tasks/docker.yml @@ -11,7 +11,7 @@ reload: yes - name: ensure docker is installed - yum: + package: name: docker state: present