From d1a602d56b493f77de6ef20b775d42101a2ba113 Mon Sep 17 00:00:00 2001 From: Rahul Sharma Date: Wed, 5 Feb 2025 09:48:30 -0500 Subject: [PATCH] add flag to skip custom delete logic (#649) --- Makefile | 2 +- .../kubeadm-capl-cluster/chainsaw-test.yaml | 51 +++++++++++-------- ...hild-cluster-vpc-and-firewall-deleted.yaml | 20 -------- 3 files changed, 30 insertions(+), 43 deletions(-) delete mode 100644 e2e/capl-cluster-flavors/kubeadm-capl-cluster/check-child-cluster-vpc-and-firewall-deleted.yaml diff --git a/Makefile b/Makefile index ea7a0f1ed..3c6c7c757 100644 --- a/Makefile +++ b/Makefile @@ -184,7 +184,7 @@ checkout-last-release: .PHONY: last-release-cluster last-release-cluster: kind ctlptl tilt kustomize clusterctl chainsaw kind-cluster checkout-last-release local-release local-deploy - GIT_REF=$(COMMON_CLUSTER_REF) LOCALBIN=$(CACHE_BIN) CLUSTERCTL_CONFIG=$(CLUSTERCTL_CONFIG) $(CHAINSAW) test --namespace $(COMMON_NAMESPACE) --assert-timeout 600s --skip-delete ./e2e/capl-cluster-flavors/kubeadm-capl-cluster + GIT_REF=$(COMMON_CLUSTER_REF) LOCALBIN=$(CACHE_BIN) CLUSTERCTL_CONFIG=$(CLUSTERCTL_CONFIG) SKIP_CUSTOM_DELETE=true $(CHAINSAW) test --namespace $(COMMON_NAMESPACE) --assert-timeout 600s --skip-delete ./e2e/capl-cluster-flavors/kubeadm-capl-cluster .PHONY: test-upgrade test-upgrade: last-release-cluster checkout-latest-commit diff --git a/e2e/capl-cluster-flavors/kubeadm-capl-cluster/chainsaw-test.yaml b/e2e/capl-cluster-flavors/kubeadm-capl-cluster/chainsaw-test.yaml index eb1aad855..7076a5943 100755 --- a/e2e/capl-cluster-flavors/kubeadm-capl-cluster/chainsaw-test.yaml +++ b/e2e/capl-cluster-flavors/kubeadm-capl-cluster/chainsaw-test.yaml @@ -130,28 +130,29 @@ spec: namespace: kube-system - name: Delete child cluster try: - - delete: - ref: - apiVersion: cluster.x-k8s.io/v1beta1 - kind: Cluster - name: ($cluster) - - delete: - ref: - apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 - kind: LinodeVPC - name: ($cluster) - - delete: - ref: - apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 - kind: LinodeFirewall - name: ($cluster) - - delete: - ref: - apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 - kind: LinodeFirewall - name: ($cluster)-nb - - error: - file: check-child-cluster-vpc-and-firewall-deleted.yaml + - script: + env: + - name: CLUSTER + value: ($cluster) + - name: NAMESPACE + value: ($namespace) + - name: CLUSTERCTL_CONFIG + value: (env('CLUSTERCTL_CONFIG')) + - name: SKIP_DELETE + value: (env('SKIP_CUSTOM_DELETE')) + content: | + set -e + if [[ -n "$SKIP_DELETE" ]]; then + echo "Skipping deletion of child cluster" + exit 0 + fi + kubectl delete cluster $CLUSTER -n $NAMESPACE --timeout=60s || { echo "deletion failed!"; exit 1; } + kubectl delete linodevpc $CLUSTER -n $NAMESPACE --timeout=60s || { echo "deletion failed!"; exit 1; } + kubectl delete linodefirewall $CLUSTER -n $NAMESPACE --timeout=60s || { echo "deletion failed!"; exit 1; } + kubectl delete linodefirewall $CLUSTER-nb -n $NAMESPACE --timeout=60s || { echo "deletion failed!"; exit 1; } + check: + ($error == null): true + (contains($stdout, 'deletion failed')): false - name: Check if the linodes are deleted try: - script: @@ -164,8 +165,14 @@ spec: value: linode/instances - name: FILTER value: (to_string({"tags":($cluster)})) + - name: SKIP_DELETE + value: (env('SKIP_CUSTOM_DELETE')) content: | set -e + if [[ -n "$SKIP_DELETE" ]]; then + echo {\"results\":0} + exit 0 + fi curl -s \ -H "Authorization: Bearer $LINODE_TOKEN" \ -H "X-Filter: $FILTER" \ diff --git a/e2e/capl-cluster-flavors/kubeadm-capl-cluster/check-child-cluster-vpc-and-firewall-deleted.yaml b/e2e/capl-cluster-flavors/kubeadm-capl-cluster/check-child-cluster-vpc-and-firewall-deleted.yaml deleted file mode 100644 index 14a4ff116..000000000 --- a/e2e/capl-cluster-flavors/kubeadm-capl-cluster/check-child-cluster-vpc-and-firewall-deleted.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 -kind: LinodeMachine -metadata: - labels: - cluster.x-k8s.io/cluster-name: ($cluster) ---- -apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 -kind: LinodeVPC -metadata: - name: ($cluster) ---- -apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 -kind: LinodeFirewall -metadata: - name: ($cluster) ---- -apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 -kind: LinodeFirewall -metadata: - name: ($cluster)-nb