|
@@ -0,0 +1,72 @@
|
|
|
+---
|
|
|
+# Variables affecting this role:
|
|
|
+#
|
|
|
+# tools:
|
|
|
+# - final_name: the path to the tool to check for
|
|
|
+# completion: look for bash_completion or no
|
|
|
+# completion_file: the name of the bash completion file
|
|
|
+# clusters:
|
|
|
+# just a simple list of clusters to check
|
|
|
+#
|
|
|
+- name: Check for tools
|
|
|
+ file:
|
|
|
+ path: "{{ tools[item].final_name }}"
|
|
|
+ state: file
|
|
|
+ loop: "{{ tools.keys() | list }}"
|
|
|
+
|
|
|
+- name: Check for completion files
|
|
|
+ file:
|
|
|
+ path: /etc/bash_completion.d/{{ tools[item].completion_file }}
|
|
|
+ state: file
|
|
|
+ when: tools[item].completion
|
|
|
+ loop: "{{ tools.keys() | list }}"
|
|
|
+
|
|
|
+- name: Make sure kubeconfig is there on utility
|
|
|
+ delegate_to: utility.lab.example.com
|
|
|
+ file:
|
|
|
+ path: /home/lab/{{ item }}/auth/kubeconfig
|
|
|
+ state: file
|
|
|
+ loop: "{{ clusters }}"
|
|
|
+
|
|
|
+- name: Create a temp dir
|
|
|
+ file:
|
|
|
+ path: tmp
|
|
|
+ state: directory
|
|
|
+
|
|
|
+- name: Copy over the kubeconfig
|
|
|
+ delegate_to: utility.lab.example.com
|
|
|
+ fetch:
|
|
|
+ src: /home/lab/{{ item }}/auth/kubeconfig
|
|
|
+ dest: tmp/kubeconfig-{{ item }}
|
|
|
+ flat: yes
|
|
|
+ loop: "{{ clusters }}"
|
|
|
+
|
|
|
+- name: "We need python-kubernetes >= 12"
|
|
|
+ become: yes
|
|
|
+ pip:
|
|
|
+ name: kubernetes>=12.0.0
|
|
|
+
|
|
|
+# XXX This won't do if you install it using pip.
|
|
|
+- name: We also need python38-jmespath
|
|
|
+ become: yes
|
|
|
+ package:
|
|
|
+ name: python38-jmespath
|
|
|
+ state: latest
|
|
|
+
|
|
|
+- name: We need some additional collections as well.
|
|
|
+ become: yes
|
|
|
+ yum:
|
|
|
+ name:
|
|
|
+ - ansible-core
|
|
|
+ - ansible-collection-ansible-posix
|
|
|
+ - ansible-collection-ansible-utils
|
|
|
+ - ansible-collection-community-general
|
|
|
+ - ansible-collection-containers-podman
|
|
|
+ state: latest
|
|
|
+
|
|
|
+- name: Verify cluster connectivity
|
|
|
+ kubernetes.core.k8s_cluster_info:
|
|
|
+ kubeconfig: tmp/kubeconfig-{{ item }}
|
|
|
+ validate_certs: no
|
|
|
+ loop: "{{ clusters }}"
|
|
|
+...
|