---
# Variables affecting this role:
#
#  tools:
#    - final_name: the name of the tool to check for
#      completion: look for bash_completion or no
#  clusters:
#
- name: Check for tools
  file:
    path: /usr/local/bin/{{ tools[item].final_name }}
    state: file
  loop: "{{ tools.keys() | list }}"

- name: Check for completion files
  file:
    path: /etc/bash_completion.d/{{ tools[item].final_name }}.completion
    state: file
  when: tools[item].completion
  loop: "{{ tools.keys() | list }}"

- name: Make sure kubeconfig is there
  file:
    path: "{{ ansible_facts['user_dir'] }}/kubeconfig-{{ item }}"
    state: file
  loop: "{{ clusters }}"

- name: Make sure pull-secret is there
  file:
    path: "{{ ansible_facts['user_dir'] }}/pull-secret"
    state: file

- name: Verify cluster connectivity
  kubernetes.core.k8s_cluster_info:
    kubeconfig: "{{ ansible_facts['user_dir'] }}/kubeconfig-{{ item }}"
    validate_certs: no
  loop: "{{ clusters }}"

- name: Check that the NFS provisioner is there
  k8s_info:
    kubeconfig: "{{ ansible_facts['user_dir'] }}/kubeconfig-ocp4"
    validate_certs: no
    api_version: storage.k8s.io/v1
    kind: StorageClass
    name: managed-nfs-storage
  register: sc

- assert:
    that: (sc.resources | length) == 1
    fail_msg: "ERROR: No StorageClass called managed-nfs-storage found."
    success_msg: "OK: StorageClass is there."

- name: "We need python-kubernetes >= 12"
  become: yes
  pip:
    name: kubernetes>=12.0.0
...