From c6291b51c51182a146570128af42ba1b5ad93c7a Mon Sep 17 00:00:00 2001 From: hysyeah Date: Wed, 4 Dec 2024 13:28:56 +0800 Subject: [PATCH] fix: rm unmanaged pvc before unintall (#110) --- pkg/appinstaller/helm.go | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/pkg/appinstaller/helm.go b/pkg/appinstaller/helm.go index bca1319..ed005d5 100644 --- a/pkg/appinstaller/helm.go +++ b/pkg/appinstaller/helm.go @@ -630,14 +630,6 @@ func (h *HelmOps) unregisterAppPerm() error { // Uninstall do a uninstall operation for release. func (h *HelmOps) Uninstall() error { - err := helm.UninstallCharts(h.actionConfig, h.app.AppName) - if err != nil { - return err - } - err = h.unregisterAppPerm() - if err != nil { - klog.Errorf("Failed to unregister app err=%v", err) - } client, err := kubernetes.NewForConfig(h.kubeConfig) if err != nil { return err @@ -649,10 +641,21 @@ func (h *HelmOps) Uninstall() error { } for _, pvc := range pvcs.Items { err = client.CoreV1().PersistentVolumeClaims(pvc.Namespace).Delete(context.TODO(), pvc.Name, metav1.DeleteOptions{}) - if err != nil { + if err != nil && !apierrors.IsNotFound(err) { return err } } + } + err = helm.UninstallCharts(h.actionConfig, h.app.AppName) + if err != nil { + return err + } + err = h.unregisterAppPerm() + if err != nil { + klog.Errorf("Failed to unregister app err=%v", err) + } + + if !utils.IsProtectedNamespace(h.app.Namespace) { return client.CoreV1().Namespaces().Delete(context.TODO(), h.app.Namespace, metav1.DeleteOptions{}) } return nil