From c8003bfef711467ed37e101b41a262f5ea960d40 Mon Sep 17 00:00:00 2001 From: parth-gr Date: Mon, 25 Aug 2025 17:44:13 +0530 Subject: [PATCH] helm: recreate sc with helm upgrades during upgrade there can be change in sc paramaters, as storageclass are immutable, we need to recreate them closes: https://github.com/rook/rook/issues/16362 Signed-off-by: parth-gr --- .../charts/rook-ceph-cluster/templates/cephblockpool.yaml | 3 +++ .../charts/rook-ceph-cluster/templates/cephecblockpool.yaml | 3 +++ .../charts/rook-ceph-cluster/templates/cephfilesystem.yaml | 3 +++ .../charts/rook-ceph-cluster/templates/cephobjectstore.yaml | 5 ++++- .../rook-ceph-cluster/templates/volumesnapshotclass.yaml | 6 ++++++ 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/deploy/charts/rook-ceph-cluster/templates/cephblockpool.yaml b/deploy/charts/rook-ceph-cluster/templates/cephblockpool.yaml index 56257068d..5b63389d0 100644 --- a/deploy/charts/rook-ceph-cluster/templates/cephblockpool.yaml +++ b/deploy/charts/rook-ceph-cluster/templates/cephblockpool.yaml @@ -19,6 +19,9 @@ metadata: {{ toYaml $blockpool.storageClass.labels | indent 4 }} {{- end }} annotations: + "helm.sh/hook": post-install,pre-upgrade + "helm.sh/hook-delete-policy": before-hook-creation + "helm.sh/resource-policy": keep storageclass.kubernetes.io/is-default-class: "{{ if default false $blockpool.storageClass.isDefault }}true{{ else }}false{{ end }}" {{- if $blockpool.storageClass.annotations }} {{ toYaml $blockpool.storageClass.annotations | indent 4 }} diff --git a/deploy/charts/rook-ceph-cluster/templates/cephecblockpool.yaml b/deploy/charts/rook-ceph-cluster/templates/cephecblockpool.yaml index 7e3154e75..c65aa8df2 100644 --- a/deploy/charts/rook-ceph-cluster/templates/cephecblockpool.yaml +++ b/deploy/charts/rook-ceph-cluster/templates/cephecblockpool.yaml @@ -27,6 +27,9 @@ metadata: {{ toYaml $ecblockpool.storageClass.labels | indent 4 }} {{- end }} annotations: + "helm.sh/hook": post-install,pre-upgrade + "helm.sh/hook-delete-policy": before-hook-creation + "helm.sh/resource-policy": keep storageclass.kubernetes.io/is-default-class: "{{ if default false $ecblockpool.storageClass.isDefault }}true{{ else }}false{{ end }}" {{- if $ecblockpool.storageClass.annotations }} {{ toYaml $ecblockpool.storageClass.annotations | indent 4 }} diff --git a/deploy/charts/rook-ceph-cluster/templates/cephfilesystem.yaml b/deploy/charts/rook-ceph-cluster/templates/cephfilesystem.yaml index bef7ac700..5c2cdf9cf 100644 --- a/deploy/charts/rook-ceph-cluster/templates/cephfilesystem.yaml +++ b/deploy/charts/rook-ceph-cluster/templates/cephfilesystem.yaml @@ -38,6 +38,9 @@ metadata: {{ toYaml $filesystem.storageClass.labels | indent 4 }} {{- end }} annotations: + "helm.sh/hook": post-install,pre-upgrade + "helm.sh/hook-delete-policy": before-hook-creation + "helm.sh/resource-policy": keep storageclass.kubernetes.io/is-default-class: "{{ if default false $filesystem.storageClass.isDefault }}true{{ else }}false{{ end }}" {{- if $filesystem.storageClass.annotations }} {{ toYaml $filesystem.storageClass.annotations | indent 4 }} diff --git a/deploy/charts/rook-ceph-cluster/templates/cephobjectstore.yaml b/deploy/charts/rook-ceph-cluster/templates/cephobjectstore.yaml index ad11f636f..ef1bc06c1 100644 --- a/deploy/charts/rook-ceph-cluster/templates/cephobjectstore.yaml +++ b/deploy/charts/rook-ceph-cluster/templates/cephobjectstore.yaml @@ -18,8 +18,11 @@ metadata: labels: {{ toYaml $objectstore.storageClass.labels | indent 4 }} {{- end }} -{{- if $objectstore.storageClass.annotations }} annotations: + "helm.sh/hook": post-install,pre-upgrade + "helm.sh/hook-delete-policy": before-hook-creation + "helm.sh/resource-policy": keep +{{- if $objectstore.storageClass.annotations }} {{ toYaml $objectstore.storageClass.annotations | indent 4 }} {{- end }} provisioner: {{ $root.Release.Namespace }}.ceph.rook.io/bucket diff --git a/deploy/charts/rook-ceph-cluster/templates/volumesnapshotclass.yaml b/deploy/charts/rook-ceph-cluster/templates/volumesnapshotclass.yaml index 45b1ba390..5aadf784e 100644 --- a/deploy/charts/rook-ceph-cluster/templates/volumesnapshotclass.yaml +++ b/deploy/charts/rook-ceph-cluster/templates/volumesnapshotclass.yaml @@ -13,6 +13,9 @@ metadata: {{ toYaml $filesystemvsc.labels | indent 4 }} {{- end }} annotations: + "helm.sh/hook": post-install,pre-upgrade + "helm.sh/hook-delete-policy": before-hook-creation + "helm.sh/resource-policy": keep snapshot.storage.kubernetes.io/is-default-class: "{{ if default false $filesystemvsc.isDefault }}true{{ else }}false{{ end }}" {{- if $filesystemvsc.annotations }} {{ toYaml $filesystemvsc.annotations | indent 4 }} @@ -43,6 +46,9 @@ metadata: {{ toYaml $blockpoolvsc.labels | indent 4 }} {{- end }} annotations: + "helm.sh/hook": post-install,pre-upgrade + "helm.sh/hook-delete-policy": before-hook-creation + "helm.sh/resource-policy": keep snapshot.storage.kubernetes.io/is-default-class: "{{ if default false $blockpoolvsc.isDefault }}true{{ else }}false{{ end }}" {{- if $blockpoolvsc.annotations }} {{ toYaml $blockpoolvsc.annotations | indent 4 }}