diff --git a/roles/kubernetes-apps/csi_driver/vsphere/defaults/main.yml b/roles/kubernetes-apps/csi_driver/vsphere/defaults/main.yml index d708019c3e654e6583150cba99ef4a283c37352b..95a2c5e9b8bae89d1aae140e115a1a1ffe8d450f 100644 --- a/roles/kubernetes-apps/csi_driver/vsphere/defaults/main.yml +++ b/roles/kubernetes-apps/csi_driver/vsphere/defaults/main.yml @@ -2,16 +2,17 @@ external_vsphere_vcenter_port: "443" external_vsphere_insecure: "true" external_vsphere_kubernetes_cluster_id: "kubernetes-cluster-id" -external_vsphere_version: "6.7u3" +external_vsphere_version: "7.0u1" -vsphere_syncer_image_tag: "v2.4.0" -vsphere_csi_attacher_image_tag: "v3.3.0" -vsphere_csi_controller: "v2.4.0" -vsphere_csi_liveness_probe_image_tag: "v2.4.0" -vsphere_csi_provisioner_image_tag: "v3.0.0" -vsphere_csi_node_driver_registrar_image_tag: "v2.3.0" -vsphere_csi_driver_image_tag: "v2.4.0" -vsphere_csi_resizer_tag: "v1.3.0" +vsphere_syncer_image_tag: "v2.5.1" +vsphere_csi_attacher_image_tag: "v3.4.0" +vsphere_csi_controller: "v2.5.1" +vsphere_csi_liveness_probe_image_tag: "v2.6.0" +vsphere_csi_provisioner_image_tag: "v3.1.0" +vsphere_csi_snapshotter_image_tag: "v5.0.1" +vsphere_csi_node_driver_registrar_image_tag: "v2.5.0" +vsphere_csi_driver_image_tag: "v2.5.1" +vsphere_csi_resizer_tag: "v1.4.0" vsphere_csi_controller_replicas: 1 diff --git a/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-config.yml.j2 b/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-config.yml.j2 index abf7841008b292fbdddbabd0293a5ed0a4a8e8fe..deb47d240bdd6c635b08712ce3e314864dbe6867 100644 --- a/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-config.yml.j2 +++ b/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-config.yml.j2 @@ -9,6 +9,11 @@ data: "improved-volume-topology": "true" "block-volume-snapshot": "false" "csi-windows-support": "false" +{% if vsphere_csi_controller is version('v2.5.0', '>=') %} + "use-csinode-id": "true" + "pv-to-backingdiskobjectid-mapping": "false" + "cnsmgr-suspend-create-volume": "false" +{% endif %} kind: ConfigMap metadata: name: internal-feature-states.csi.vsphere.vmware.com diff --git a/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-deployment.yml.j2 b/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-deployment.yml.j2 index d6e8f6003eeabda23fba2d303d4f35da56159c33..a7ff4ffbf062a3e4d473fe845517440dc806f67b 100644 --- a/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-deployment.yml.j2 +++ b/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-deployment.yml.j2 @@ -75,10 +75,10 @@ spec: - "--v=4" - "--timeout=300s" - "--csi-address=$(ADDRESS)" - - "--leader-election" - "--handle-volume-inuse-error=false" - "--kube-api-qps=100" - "--kube-api-burst=100" + - "--leader-election" env: - name: ADDRESS value: /csi/csi.sock @@ -190,12 +190,12 @@ spec: - "--v=4" - "--timeout=300s" - "--csi-address=$(ADDRESS)" - - "--leader-election" - - "--default-fstype=ext4" {% if vsphere_csi_controller is version('v2.2.0', '>=') %} - "--kube-api-qps=100" - "--kube-api-burst=100" {% endif %} + - "--leader-election" + - "--default-fstype=ext4" # needed only for topology aware setup #- "--feature-gates=Topology=true" #- "--strict-topology" @@ -205,6 +205,23 @@ spec: volumeMounts: - mountPath: /csi name: socket-dir +{% if vsphere_csi_controller is version('v2.5.0', '>=') %} + - name: csi-snapshotter + image: {{ kube_image_repo }}/sig-storage/csi-snapshotter:{{ vsphere_csi_snapshotter_image_tag }} + args: + - "--v=4" + - "--kube-api-qps=100" + - "--kube-api-burst=100" + - "--timeout=300s" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir +{% endif %} volumes: - name: vsphere-config-volume secret: diff --git a/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-rbac.yml.j2 b/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-rbac.yml.j2 index ad55691850a73486b073dbfb6655eac0e748aa7a..b7c33169872a807dd729776e2982799dc530501e 100644 --- a/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-rbac.yml.j2 +++ b/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-rbac.yml.j2 @@ -10,8 +10,11 @@ metadata: name: vsphere-csi-controller-role rules: - apiGroups: [""] - resources: ["nodes", "persistentvolumeclaims", "pods", "configmaps"] + resources: ["nodes", "pods", "configmaps"] verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] {% if external_vsphere_version >= "7.0" %} - apiGroups: [""] resources: ["persistentvolumeclaims/status"] @@ -66,7 +69,7 @@ rules: verbs: [ "watch", "get", "list" ] - apiGroups: [ "snapshot.storage.k8s.io" ] resources: [ "volumesnapshotcontents" ] - verbs: [ "create", "get", "list", "watch", "update", "delete" ] + verbs: [ "create", "get", "list", "watch", "update", "delete", "patch" ] - apiGroups: [ "snapshot.storage.k8s.io" ] resources: [ "volumesnapshotcontents/status" ] verbs: [ "update", "patch" ] diff --git a/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-node-rbac.yml.j2 b/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-node-rbac.yml.j2 index 98e06529a979efe2cc1898679e5f13abea4eb1e9..c4c172d60782b86f166ed8e763d62f20b9c8ff59 100644 --- a/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-node-rbac.yml.j2 +++ b/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-node-rbac.yml.j2 @@ -12,7 +12,7 @@ metadata: rules: - apiGroups: ["cns.vmware.com"] resources: ["csinodetopologies"] - verbs: ["create", "watch"] + verbs: ["create", "watch", "get", "patch" ] - apiGroups: [""] resources: ["nodes"] verbs: ["get"] diff --git a/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-node.yml.j2 b/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-node.yml.j2 index 3fae91e3dddbf15afa28ed5eaddefef25c5e3e32..c0ec36c2119038e2f40d0db58936d1f5fbea3e83 100644 --- a/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-node.yml.j2 +++ b/roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-node.yml.j2 @@ -77,6 +77,8 @@ spec: value: "false" - name: X_CSI_DEBUG value: "true" + - name: X_CSI_SPEC_DISABLE_LEN_CHECK + value: "true" - name: LOGGER_LEVEL value: "PRODUCTION" # Options: DEVELOPMENT, PRODUCTION {% if external_vsphere_version >= "7.0u1" %}