main.yml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. ---
  2. # Variables affecting this role:
  3. #
  4. # tools:
  5. # - final_name: the name of the tool to check for
  6. # completion: look for bash_completion or no
  7. # clusters:
  8. # just a simple list of clusters to check
  9. #
  10. # TODO: move clusters somewhere else than vars/ and perhaps make it richer
  11. #
  12. - name: Check for tools
  13. file:
  14. path: /usr/local/bin/{{ tools[item].final_name }}
  15. state: file
  16. loop: "{{ tools.keys() | list }}"
  17. - name: Check for completion files
  18. file:
  19. path: /etc/bash_completion.d/{{ tools[item].final_name }}.completion
  20. state: file
  21. when: tools[item].completion
  22. loop: "{{ tools.keys() | list }}"
  23. - name: Make sure kubeconfig is there
  24. file:
  25. path: "{{ ansible_facts['user_dir'] }}/kubeconfig-{{ item }}"
  26. state: file
  27. loop: "{{ clusters }}"
  28. - name: Make sure pull-secret is there
  29. file:
  30. path: "{{ ansible_facts['user_dir'] }}/pull-secret"
  31. state: file
  32. - name: "We need python-kubernetes >= 12"
  33. become: yes
  34. pip:
  35. name: kubernetes>=12.0.0
  36. - name: Verify cluster connectivity
  37. kubernetes.core.k8s_cluster_info:
  38. kubeconfig: "{{ ansible_facts['user_dir'] }}/kubeconfig-{{ item }}"
  39. validate_certs: no
  40. loop: "{{ clusters }}"
  41. - name: Check that the NFS provisioner is there
  42. kubernetes.core.k8s_info:
  43. kubeconfig: "{{ ansible_facts['user_dir'] }}/kubeconfig-ocp4"
  44. validate_certs: no
  45. api_version: storage.k8s.io/v1
  46. kind: StorageClass
  47. name: managed-nfs-storage
  48. register: sc
  49. - assert:
  50. that: (sc.resources | length) == 1
  51. fail_msg: "ERROR: No StorageClass called managed-nfs-storage found."
  52. success_msg: "OK: StorageClass is there."
  53. ...