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.

61 lines
2.1 KiB

  1. ---
  2. - include_tasks: cinder-credential-check.yml
  3. tags: cinder-csi-driver
  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. - inventory_hostname in groups['k8s-cluster']
  12. - cinder_cacert is defined
  13. - cinder_cacert | length > 0
  14. tags: cinder-csi-driver
  15. - name: Cinder CSI Driver | Write Cinder cloud-config
  16. template:
  17. src: "cinder-csi-cloud-config.j2"
  18. dest: "{{ kube_config_dir }}/cinder_cloud_config"
  19. group: "{{ kube_cert_group }}"
  20. mode: 0640
  21. when: inventory_hostname == groups['kube_control_plane'][0]
  22. tags: cinder-csi-driver
  23. - name: Cinder CSI Driver | Get base64 cloud-config
  24. slurp:
  25. src: "{{ kube_config_dir }}/cinder_cloud_config"
  26. register: cloud_config_secret
  27. when: inventory_hostname == groups['kube_control_plane'][0]
  28. tags: cinder-csi-driver
  29. - name: Cinder CSI Driver | Generate Manifests
  30. template:
  31. src: "{{ item.file }}.j2"
  32. dest: "{{ kube_config_dir }}/{{ item.file }}"
  33. with_items:
  34. - {name: cinder-csi-driver, file: cinder-csi-driver.yml}
  35. - {name: cinder-csi-cloud-config-secret, file: cinder-csi-cloud-config-secret.yml}
  36. - {name: cinder-csi-controllerplugin, file: cinder-csi-controllerplugin-rbac.yml}
  37. - {name: cinder-csi-controllerplugin, file: cinder-csi-controllerplugin.yml}
  38. - {name: cinder-csi-nodeplugin, file: cinder-csi-nodeplugin-rbac.yml}
  39. - {name: cinder-csi-nodeplugin, file: cinder-csi-nodeplugin.yml}
  40. - {name: cinder-csi-poddisruptionbudget, file: cinder-csi-poddisruptionbudget.yml}
  41. register: cinder_csi_manifests
  42. when: inventory_hostname == groups['kube_control_plane'][0]
  43. tags: cinder-csi-driver
  44. - name: Cinder CSI Driver | Apply Manifests
  45. kube:
  46. kubectl: "{{ bin_dir }}/kubectl"
  47. filename: "{{ kube_config_dir }}/{{ item.item.file }}"
  48. state: "latest"
  49. with_items:
  50. - "{{ cinder_csi_manifests.results }}"
  51. when:
  52. - inventory_hostname == groups['kube_control_plane'][0]
  53. - not item is skipped
  54. loop_control:
  55. label: "{{ item.item.file }}"
  56. tags: cinder-csi-driver