You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.0 KiB

  1. ---
  2. - name: Cinder CSI Driver | Check Cinder credentials
  3. include_tasks: cinder-credential-check.yml
  4. - name: Cinder CSI Driver | Write cacert file
  5. include_tasks: cinder-write-cacert.yml
  6. run_once: true
  7. loop: "{{ groups['k8s_cluster'] }}"
  8. loop_control:
  9. loop_var: delegate_host_to_write_cacert
  10. when:
  11. - ('k8s_cluster' in group_names)
  12. - cinder_cacert is defined
  13. - cinder_cacert | length > 0
  14. - name: Cinder CSI Driver | Write Cinder cloud-config
  15. template:
  16. src: "cinder-csi-cloud-config.j2"
  17. dest: "{{ kube_config_dir }}/cinder_cloud_config"
  18. group: "{{ kube_cert_group }}"
  19. mode: "0640"
  20. when: inventory_hostname == groups['kube_control_plane'][0]
  21. - name: Cinder CSI Driver | Get base64 cloud-config
  22. slurp:
  23. src: "{{ kube_config_dir }}/cinder_cloud_config"
  24. register: cloud_config_secret
  25. when: inventory_hostname == groups['kube_control_plane'][0]
  26. - name: Cinder CSI Driver | Generate Manifests
  27. template:
  28. src: "{{ item.file }}.j2"
  29. dest: "{{ kube_config_dir }}/{{ item.file }}"
  30. mode: "0644"
  31. with_items:
  32. - {name: cinder-csi-driver, file: cinder-csi-driver.yml}
  33. - {name: cinder-csi-cloud-config-secret, file: cinder-csi-cloud-config-secret.yml}
  34. - {name: cinder-csi-controllerplugin, file: cinder-csi-controllerplugin-rbac.yml}
  35. - {name: cinder-csi-controllerplugin, file: cinder-csi-controllerplugin.yml}
  36. - {name: cinder-csi-nodeplugin, file: cinder-csi-nodeplugin-rbac.yml}
  37. - {name: cinder-csi-nodeplugin, file: cinder-csi-nodeplugin.yml}
  38. - {name: cinder-csi-poddisruptionbudget, file: cinder-csi-poddisruptionbudget.yml}
  39. register: cinder_csi_manifests
  40. when: inventory_hostname == groups['kube_control_plane'][0]
  41. - name: Cinder CSI Driver | Apply Manifests
  42. kube:
  43. kubectl: "{{ bin_dir }}/kubectl"
  44. filename: "{{ kube_config_dir }}/{{ item.item.file }}"
  45. state: "latest"
  46. with_items:
  47. - "{{ cinder_csi_manifests.results }}"
  48. when:
  49. - inventory_hostname == groups['kube_control_plane'][0]
  50. - not item is skipped
  51. loop_control:
  52. label: "{{ item.item.file }}"