summaryrefslogtreecommitdiffstats
path: root/ansible
diff options
context:
space:
mode:
Diffstat (limited to 'ansible')
-rw-r--r--ansible/infrastructure.yml4
-rw-r--r--ansible/roles/package-repository-check/tasks/RedHat.yml20
-rw-r--r--ansible/roles/package-repository-check/tasks/main.yml12
3 files changed, 35 insertions, 1 deletions
diff --git a/ansible/infrastructure.yml b/ansible/infrastructure.yml
index 74a7b68b..e49ee919 100644
--- a/ansible/infrastructure.yml
+++ b/ansible/infrastructure.yml
@@ -3,12 +3,13 @@
hosts: infrastructure, kubernetes
roles:
- package-repository
- - role: firewall
+ - firewall
- name: Setup infrastructure servers
hosts: infrastructure
roles:
- chrony
+ - package-repository-check
- certificates
- docker
- dns
@@ -20,6 +21,7 @@
hosts: kubernetes
roles:
- chrony
+ - package-repository-check
- docker
tasks:
- include_role:
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'