From bd1c0f820f58e05919ff9b64febadca6aedb7774 Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Thu, 17 Aug 2017 10:14:17 -0500 Subject: Add fedora compatibility - don't check pkg versions on Fedora, it won't work; they move faster than RHEL and it's not realistic to maintain that package list. - handle differences between yum and dnf pkgspec for excluder - work-around for a bug in dnf https://bugzilla.redhat.com/show_bug.cgi?id=1199432 - make requirement verify one play, don't run unnecessary checks on Fedora --- playbooks/common/openshift-cluster/config.yml | 13 +++++++++-- roles/openshift_excluder/tasks/install.yml | 31 +++++++++++++++++++++++++-- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/playbooks/common/openshift-cluster/config.yml b/playbooks/common/openshift-cluster/config.yml index 76ca067e7..e0710e549 100644 --- a/playbooks/common/openshift-cluster/config.yml +++ b/playbooks/common/openshift-cluster/config.yml @@ -1,14 +1,17 @@ --- # TODO: refactor this into its own include # and pass a variable for ctx -- name: Verify Requirements +- name: Verify Install Requirements hosts: oo_all_hosts roles: - openshift_health_checker vars: - r_openshift_health_checker_playbook_context: install post_tasks: - - action: openshift_health_check + + - name: Verify Requirements - EL + when: ansible_distribution != "Fedora" + action: openshift_health_check args: checks: - disk_availability @@ -17,6 +20,12 @@ - package_version - docker_image_availability - docker_storage + - name: Verify Requirements - Fedora + when: ansible_distribution == "Fedora" + action: openshift_health_check + args: + checks: + - docker_image_availability - include: ../openshift-etcd/config.yml diff --git a/roles/openshift_excluder/tasks/install.yml b/roles/openshift_excluder/tasks/install.yml index 3a866cedf..7a5bebf6f 100644 --- a/roles/openshift_excluder/tasks/install.yml +++ b/roles/openshift_excluder/tasks/install.yml @@ -6,19 +6,46 @@ block: - - name: Install docker excluder + - name: Install docker excluder - yum package: name: "{{ r_openshift_excluder_service_type }}-docker-excluder{{ openshift_pkg_version | default('') | oo_image_tag_to_rpm_version(include_dash=True) + '*' }}" state: "{{ r_openshift_excluder_docker_package_state }}" when: - r_openshift_excluder_enable_docker_excluder | bool + - ansible_pkg_mgr == "yum" - - name: Install openshift excluder + + # For DNF we do not need the "*" and if we add it, it causes an error because + # it's not a valid pkg_spec + # + # https://bugzilla.redhat.com/show_bug.cgi?id=1199432 + - name: Install docker excluder - dnf + package: + name: "{{ r_openshift_excluder_service_type }}-docker-excluder{{ openshift_pkg_version | default('') | oo_image_tag_to_rpm_version(include_dash=True) }}" + state: "{{ r_openshift_excluder_docker_package_state }}" + when: + - r_openshift_excluder_enable_docker_excluder | bool + - ansible_pkg_mgr == "dnf" + + - name: Install openshift excluder - yum package: name: "{{ r_openshift_excluder_service_type }}-excluder{{ openshift_pkg_version | default('') | oo_image_tag_to_rpm_version(include_dash=True) + '*' }}" state: "{{ r_openshift_excluder_package_state }}" when: - r_openshift_excluder_enable_openshift_excluder | bool + - ansible_pkg_mgr == "yum" + + # For DNF we do not need the "*" and if we add it, it causes an error because + # it's not a valid pkg_spec + # + # https://bugzilla.redhat.com/show_bug.cgi?id=1199432 + - name: Install openshift excluder - dnf + package: + name: "{{ r_openshift_excluder_service_type }}-excluder{{ openshift_pkg_version | default('') | oo_image_tag_to_rpm_version(include_dash=True) }}" + state: "{{ r_openshift_excluder_package_state }}" + when: + - r_openshift_excluder_enable_openshift_excluder | bool + - ansible_pkg_mgr == "dnf" - set_fact: r_openshift_excluder_install_ran: True -- cgit v1.2.3 From 7d555333bcb88aa99ea8a1d46ce3f1383519f84f Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Wed, 13 Sep 2017 08:11:38 -0500 Subject: rebase on master Signed-off-by: Adam Miller --- playbooks/common/openshift-cluster/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/common/openshift-cluster/config.yml b/playbooks/common/openshift-cluster/config.yml index e0710e549..a31d6e2dc 100644 --- a/playbooks/common/openshift-cluster/config.yml +++ b/playbooks/common/openshift-cluster/config.yml @@ -1,7 +1,7 @@ --- # TODO: refactor this into its own include # and pass a variable for ctx -- name: Verify Install Requirements +- name: Verify Requirements hosts: oo_all_hosts roles: - openshift_health_checker -- cgit v1.2.3