From 4e2e9e887b8941a501a80a6c870ad4cb9295ddac Mon Sep 17 00:00:00 2001 From: Bartek Grzybowski Date: Wed, 13 Mar 2019 09:33:53 +0100 Subject: Verify offline app repo is working A patch for failing fast if configured offline application repository is not working properly. Just adding repo to repolist doesn't guarantee it's really operational. Change-Id: I65372b9b1ea5f5dcb797548b14e3ae1295668592 Issue-ID: OOM-1689 Signed-off-by: Bartek Grzybowski --- .../roles/package-repository-check/tasks/RedHat.yml | 20 ++++++++++++++++++++ .../roles/package-repository-check/tasks/main.yml | 12 ++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 ansible/roles/package-repository-check/tasks/RedHat.yml create mode 100644 ansible/roles/package-repository-check/tasks/main.yml (limited to 'ansible/roles') diff --git a/ansible/roles/package-repository-check/tasks/RedHat.yml b/ansible/roles/package-repository-check/tasks/RedHat.yml new file mode 100644 index 00000000..ed496f99 --- /dev/null +++ b/ansible/roles/package-repository-check/tasks/RedHat.yml @@ -0,0 +1,20 @@ +--- +- name: verify + block: + # Clean cache prior to refreshing + - name: Clean yum cache + command: yum clean all + args: + warn: false + # Refresh cache to ensure repo is reachable + - name: Update yum cache + yum: + update_cache: yes + state: latest + tags: + - skip_ansible_lint # Prevent '[403] Package installs should not use latest' ansible lint task rule + rescue: + - name: Fail if yum cache updating failed + fail: + msg: "Couldn't refresh yum cache, repositories not configured properly. Check ansible logs for details." + become: true diff --git a/ansible/roles/package-repository-check/tasks/main.yml b/ansible/roles/package-repository-check/tasks/main.yml new file mode 100644 index 00000000..ac63eceb --- /dev/null +++ b/ansible/roles/package-repository-check/tasks/main.yml @@ -0,0 +1,12 @@ +--- +# Purpose of this role is to check whether configured repositories are working. +# +# Successfull prior invocation of 'package-repository' role on 'infrastructure' hosts +# is prerequisite for playing this one on 'infrastructure' group. +# +# Successfull prior invocation of 'package-repository' and 'nginx' role on infrastructure hosts +# is prerequisite for playing this one on 'kubernetes' group. + +#Set of tasks designated to failing fast if configured repos are not functioning properly +- include_tasks: "{{ ansible_os_family }}.yml" + when: ansible_os_family == 'RedHat' -- cgit 1.2.3-korg