Add snapshot-controller for CSI drivers and snapshot CRDs, add a default volumesnapshotclass when running cinder CSI (#6537)

* add snapshot-controller and v1beta1 snapshot api

* fix typo

* udpate manifest to v1beta1

* update

* update manifests

* fix spelling

* wait until crd is applied

* fix missing info in kube module

* revert snapshotclass

* add snapshot crds before applying the csi driver

* add crds, missed them in last commit

* use pull policy from kubespray
This commit is contained in:
Hugo Blom
2020-09-03 13:01:43 +02:00
committed by GitHub
parent 93698a8f73
commit 2ff7ab8d40
17 changed files with 778 additions and 5 deletions

View File

@@ -0,0 +1,5 @@
---
snapshot_classes:
- name: cinder-csi-snapshot
is_default: false
force_create: true

View File

@@ -0,0 +1,17 @@
---
- name: Kubernetes Snapshots | Copy Cinder CSI Snapshot Class template
template:
src: "cinder-csi-snapshot-class.yml.j2"
dest: "{{ kube_config_dir }}/cinder-csi-snapshot-class.yml"
register: manifests
when:
- inventory_hostname == groups['kube-master'][0]
- name: Kubernetes Snapshots | Add Cinder CSI Snapshot Class
kube:
kubectl: "{{ bin_dir }}/kubectl"
filename: "{{ kube_config_dir }}/cinder-csi-snapshot-class.yml"
state: "latest"
when:
- inventory_hostname == groups['kube-master'][0]
- manifests.changed

View File

@@ -0,0 +1,13 @@
{% for class in snapshot_classes %}
---
kind: VolumeSnapshotClass
apiVersion: snapshot.storage.k8s.io/v1beta1
metadata:
name: "{{ class.name }}"
annotations:
storageclass.kubernetes.io/is-default-class: "{{ class.is_default | default(false) | ternary("true","false") }}"
driver: cinder.csi.openstack.org
deletionPolicy: Delete
parameters:
force-create: "{{ class.force_create }}"
{% endfor %}