diff --git a/README.md b/README.md
index 8d30c84deac804463a7c1618532d486cb433a881..6e6e7610f59f87cacc24cc44d1ddcf04bafbbebc 100644
--- a/README.md
+++ b/README.md
@@ -189,7 +189,7 @@ Note: Upstart/SysV init based OS types are not supported.
   - [rbd-provisioner](https://github.com/kubernetes-incubator/external-storage) v2.1.1-k8s1.11
   - [aws-ebs-csi-plugin](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) v0.5.0
   - [azure-csi-plugin](https://github.com/kubernetes-sigs/azuredisk-csi-driver) v1.10.0
-  - [cinder-csi-plugin](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/cinder-csi-plugin/using-cinder-csi-plugin.md) v1.22.0
+  - [cinder-csi-plugin](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/cinder-csi-plugin/using-cinder-csi-plugin.md) v1.29.0
   - [gcp-pd-csi-plugin](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver) v1.9.2
   - [local-path-provisioner](https://github.com/rancher/local-path-provisioner) v0.0.24
   - [local-volume-provisioner](https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner) v2.5.0
diff --git a/inventory/sample/group_vars/all/openstack.yml b/inventory/sample/group_vars/all/openstack.yml
index cac548f84c08e92d5c48e6457ab7c280944854a7..6cc13998c78793eb957c3b662d1faaabfa1b1cdf 100644
--- a/inventory/sample/group_vars/all/openstack.yml
+++ b/inventory/sample/group_vars/all/openstack.yml
@@ -44,6 +44,18 @@
 ## The tag of the external OpenStack Cloud Controller image
 # external_openstack_cloud_controller_image_tag: "latest"
 
+## Tags for the Cinder CSI images
+## registry.k8s.io/sig-storage/csi-attacher
+# cinder_csi_attacher_image_tag: "v4.4.2"
+## registry.k8s.io/sig-storage/csi-provisioner
+# cinder_csi_provisioner_image_tag: "v3.6.2"
+## registry.k8s.io/sig-storage/csi-snapshotter
+# cinder_csi_snapshotter_image_tag: "v6.3.2"
+## registry.k8s.io/sig-storage/csi-resizer
+# cinder_csi_resizer_image_tag: "v1.9.2"
+## registry.k8s.io/sig-storage/livenessprobe
+# cinder_csi_livenessprobe_image_tag: "v2.11.0"
+
 ## To use Cinder CSI plugin to provision volumes set this value to true
 ## Make sure to source in the openstack credentials
 # cinder_csi_enabled: true
diff --git a/roles/kubernetes-apps/csi_driver/cinder/defaults/main.yml b/roles/kubernetes-apps/csi_driver/cinder/defaults/main.yml
index 501f3689c0ae472fc3b80f05810fd9827639e30f..8776c30643e01f7767d6c6e0ca36ed5401ffb557 100644
--- a/roles/kubernetes-apps/csi_driver/cinder/defaults/main.yml
+++ b/roles/kubernetes-apps/csi_driver/cinder/defaults/main.yml
@@ -1,4 +1,11 @@
 ---
+
+cinder_csi_attacher_image_tag: "v4.4.2"
+cinder_csi_provisioner_image_tag: "v3.6.2"
+cinder_csi_snapshotter_image_tag: "v6.3.2"
+cinder_csi_resizer_image_tag: "v1.9.2"
+cinder_csi_livenessprobe_image_tag: "v2.11.0"
+
 # To access Cinder, the CSI controller will need credentials to access
 # openstack apis. Per default this values will be
 # read from the environment.
diff --git a/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-controllerplugin.yml.j2 b/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-controllerplugin.yml.j2
index 4fe7e475c62811e59ccc4f5aa0b7dbf09cc7b2b2..de27b76794459ccb80d2c589e29d9a8ff3077da0 100644
--- a/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-controllerplugin.yml.j2
+++ b/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-controllerplugin.yml.j2
@@ -1,5 +1,6 @@
 # This YAML file contains CSI Controller Plugin Sidecars
 # external-attacher, external-provisioner, external-snapshotter
+# external-resize, liveness-probe
 
 ---
 kind: Deployment
@@ -17,10 +18,10 @@ spec:
       labels:
         app: csi-cinder-controllerplugin
     spec:
-      serviceAccountName: csi-cinder-controller-sa
+      serviceAccount: csi-cinder-controller-sa
       containers:
         - name: csi-attacher
-          image: {{ csi_attacher_image_repo }}:{{ csi_attacher_image_tag }}
+          image: {{ csi_attacher_image_repo }}:{{ cinder_csi_attacher_image_tag }}
           imagePullPolicy: {{ k8s_image_pull_policy }}
           args:
             - "--csi-address=$(ADDRESS)"
@@ -28,6 +29,7 @@ spec:
 {% if cinder_csi_controller_replicas is defined and cinder_csi_controller_replicas > 1 %}
             - --leader-election=true
 {% endif %}
+            - "--default-fstype=ext4"
           env:
             - name: ADDRESS
               value: /var/lib/csi/sockets/pluginproxy/csi.sock
@@ -35,7 +37,7 @@ spec:
             - name: socket-dir
               mountPath: /var/lib/csi/sockets/pluginproxy/
         - name: csi-provisioner
-          image: {{ csi_provisioner_image_repo }}:{{ csi_provisioner_image_tag }}
+          image: {{ csi_provisioner_image_repo }}:{{ cinder_csi_provisioner_image_tag }}
           imagePullPolicy: {{ k8s_image_pull_policy }}
           args:
             - "--csi-address=$(ADDRESS)"
@@ -55,7 +57,7 @@ spec:
             - name: socket-dir
               mountPath: /var/lib/csi/sockets/pluginproxy/
         - name: csi-snapshotter
-          image: {{ csi_snapshotter_image_repo }}:{{ csi_snapshotter_image_tag }}
+          image: {{ csi_snapshotter_image_repo }}:{{ cinder_csi_snapshotter_image_tag }}
           imagePullPolicy: {{ k8s_image_pull_policy }}
           args:
             - "--csi-address=$(ADDRESS)"
@@ -71,7 +73,7 @@ spec:
             - mountPath: /var/lib/csi/sockets/pluginproxy/
               name: socket-dir
         - name: csi-resizer
-          image: {{ csi_resizer_image_repo }}:{{ csi_resizer_image_tag }}
+          image: {{ csi_resizer_image_repo }}:{{ cinder_csi_resizer_image_tag }}
           imagePullPolicy: {{ k8s_image_pull_policy }}
           args:
             - "--csi-address=$(ADDRESS)"
@@ -87,7 +89,7 @@ spec:
             - name: socket-dir
               mountPath: /var/lib/csi/sockets/pluginproxy/
         - name: liveness-probe
-          image: {{ csi_livenessprobe_image_repo }}:{{ csi_livenessprobe_image_tag }}
+          image: {{ csi_livenessprobe_image_repo }}:{{ cinder_csi_livenessprobe_image_tag }}
           imagePullPolicy: {{ k8s_image_pull_policy }}
           args:
             - "--csi-address=$(ADDRESS)"
diff --git a/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-nodeplugin-rbac.yml.j2 b/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-nodeplugin-rbac.yml.j2
index db589636d1b24aa74642e95bcd625b728bdd3b05..912923fcad62fd793eabb5e20c401e6502f8f993 100644
--- a/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-nodeplugin-rbac.yml.j2
+++ b/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-nodeplugin-rbac.yml.j2
@@ -14,15 +14,7 @@ rules:
   - apiGroups: [""]
     resources: ["events"]
     verbs: ["get", "list", "watch", "create", "update", "patch"]
-  - apiGroups: ["snapshot.storage.k8s.io"]
-    resources: ["volumesnapshotclasses"]
-    verbs: ["get", "list", "watch"]
-  - apiGroups: ["snapshot.storage.k8s.io"]
-    resources: ["volumesnapshotcontents"]
-    verbs: ["get", "list", "watch"]
-  - apiGroups: ["snapshot.storage.k8s.io"]
-    resources: ["volumesnapshotcontents/status"]
-    verbs: ["update"]
+
 ---
 kind: ClusterRoleBinding
 apiVersion: rbac.authorization.k8s.io/v1
diff --git a/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-nodeplugin.yml.j2 b/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-nodeplugin.yml.j2
index d8346cc5b2dd5f3d89556176cac7d999d5ed4961..dd2736eea0acdb39ffe562045cf6c7f029a9b5b7 100644
--- a/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-nodeplugin.yml.j2
+++ b/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-nodeplugin.yml.j2
@@ -15,6 +15,8 @@ spec:
       labels:
         app: csi-cinder-nodeplugin
     spec:
+      tolerations:
+        - operator: Exists
       serviceAccountName: csi-cinder-node-sa
       hostNetwork: true
       dnsPolicy: ClusterFirstWithHostNet
diff --git a/roles/kubespray-defaults/defaults/main/download.yml b/roles/kubespray-defaults/defaults/main/download.yml
index 91a333dfb8c7b2d1b3612c4966dd4f1b2a12afc0..273d4ddd212657a3017cadda859495b7b2a60d5e 100644
--- a/roles/kubespray-defaults/defaults/main/download.yml
+++ b/roles/kubespray-defaults/defaults/main/download.yml
@@ -359,8 +359,8 @@ snapshot_controller_supported_versions:
 snapshot_controller_image_repo: "{{ kube_image_repo }}/sig-storage/snapshot-controller"
 snapshot_controller_image_tag: "{{ snapshot_controller_supported_versions[kube_major_version] }}"
 
-cinder_csi_plugin_version: "v1.22.0"
-cinder_csi_plugin_image_repo: "{{ docker_image_repo }}/k8scloudprovider/cinder-csi-plugin"
+cinder_csi_plugin_version: "v1.29.0"
+cinder_csi_plugin_image_repo: "{{ kube_image_repo }}/provider-os/cinder-csi-plugin"
 cinder_csi_plugin_image_tag: "{{ cinder_csi_plugin_version }}"
 
 aws_ebs_csi_plugin_version: "v0.5.0"