From 85949e04c72f8128d3c3f46041259fb998cbd21c Mon Sep 17 00:00:00 2001 From: David Cassany Date: Wed, 26 Jun 2024 16:16:30 +0200 Subject: [PATCH] Block reinstall if crds are still pending to be deleted Signed-off-by: David Cassany --- .../validate-no-pending-deletions.yaml | 19 +++++++++++++++---- .../templates/validate-install-crd.yaml | 1 + 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.obs/chartfile/crds/templates/validate-no-pending-deletions.yaml b/.obs/chartfile/crds/templates/validate-no-pending-deletions.yaml index bf9210716..35e5ffefe 100644 --- a/.obs/chartfile/crds/templates/validate-no-pending-deletions.yaml +++ b/.obs/chartfile/crds/templates/validate-no-pending-deletions.yaml @@ -1,6 +1,17 @@ -{{- $inventoryCRD := lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" .Release.Namespace "machineinventories.elemental.cattle.io" -}} -{{- if $inventoryCRD -}} - {{- if $inventoryCRD.metadata.deletionTimestamp -}} - {{- required "CRDs from previous installations are pending to be removed (deletionTimestamp is set). Fully deleting them before (re-)installing is required" "" -}} +{{- $crds := list + "machineinventories" + "machineinventoryselectors" + "machineinventoryselectortemplates" + "machineregistrations" + "managedosimages" + "managedosversionchannels" + "managedosversions" + "seedimages" + "metadatas" +-}} +{{- range $index, $crd := $crds -}} + {{- $obj := lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" .Release.Namespace (print $crd ".elemental.cattle.io") -}} + {{- if and $obj $obj.metadata.deletionTimestamp -}} + {{- required "CRDs from previous installations are pending to be removed (deletionTimestamp is set). Fully deleting them before (re-)installing is required" "" -}} {{- end -}} {{- end -}} diff --git a/.obs/chartfile/operator/templates/validate-install-crd.yaml b/.obs/chartfile/operator/templates/validate-install-crd.yaml index c5c4aded4..d283d9a67 100644 --- a/.obs/chartfile/operator/templates/validate-install-crd.yaml +++ b/.obs/chartfile/operator/templates/validate-install-crd.yaml @@ -8,6 +8,7 @@ "elemental.cattle.io/v1beta1/ManagedOSVersionChannel" "managedosversionchannels" "elemental.cattle.io/v1beta1/ManagedOSVersion" "managedosversions" "elemental.cattle.io/v1beta1/SeedImage" "seedimages" + "elemental.cattle.io/v1beta1/Metadata" "metadatas" }} {{- range $api, $crd := $apis -}} {{- if not ($.Capabilities.APIVersions.Has $api) -}}