From 123739816093e1a1d048fecfee08545ef268888a Mon Sep 17 00:00:00 2001 From: ganganxiaojiu Date: Sun, 7 Jan 2024 16:24:01 +0800 Subject: [PATCH] delete pvc include olap --- cmd/constants.go | 7 +++++-- cmd/delete.go | 31 +++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/cmd/constants.go b/cmd/constants.go index 3a4d7e7..db9e452 100755 --- a/cmd/constants.go +++ b/cmd/constants.go @@ -47,8 +47,11 @@ const ( DefaultSparkUIName = "spark-ui" ) const ( - FeaturesOlapKey = "olap" - DefaultDorisPortName = "query-port" + FeaturesOlapKey = "olap" + DefaultDorisPortName = "query-port" + DefaultOlapPVCLabelKey = "app.doris.ownerreference/name" + DefaultDorisBENameSuffix = "-doris-be" + DefaultDorisFENameSuffix = "-doris-fe" ) var ( diff --git a/cmd/delete.go b/cmd/delete.go index e7ceecf..f8528c4 100755 --- a/cmd/delete.go +++ b/cmd/delete.go @@ -76,6 +76,10 @@ func constructPVCLabel(name string) string { return DefaultPVCLabelKey + "=" + name } +func constructOlabPVCLabel(name string) string { + return DefaultOlapPVCLabelKey + "=" + name + DefaultDorisBENameSuffix +} + func deleteNineInfraPVC(name string, namespace string) error { if name == "" || namespace == "" { return nil @@ -93,6 +97,29 @@ func deleteNineInfraPVC(name string, namespace string) error { return nil } +func deleteOlapPVC(name string, namespace string) error { + if name == "" || namespace == "" { + return nil + } + path, _ := rootCmd.Flags().GetString(kubeconfig) + c, err := GetKubeClient(path) + if err != nil { + return err + } + + olapPvcLabel := DefaultOlapPVCLabelKey + "=" + name + DefaultDorisBENameSuffix + err = c.CoreV1().PersistentVolumeClaims(namespace).DeleteCollection(context.TODO(), metav1.DeleteOptions{}, metav1.ListOptions{LabelSelector: olapPvcLabel}) + if err != nil { + return err + } + olapPvcLabel = DefaultOlapPVCLabelKey + "=" + name + DefaultDorisFENameSuffix + err = c.CoreV1().PersistentVolumeClaims(namespace).DeleteCollection(context.TODO(), metav1.DeleteOptions{}, metav1.ListOptions{LabelSelector: olapPvcLabel}) + if err != nil { + return err + } + return nil +} + func (d *deleteCmd) run(args []string) error { path, _ := rootCmd.Flags().GetString(kubeconfig) nc, err := GetNineInfraClient(path) @@ -112,6 +139,10 @@ func (d *deleteCmd) run(args []string) error { if err != nil { return err } + err = deleteOlapPVC(d.deleteOpts.Name+DefaultNineSuffix, d.deleteOpts.NS) + if err != nil { + return err + } } else { fmt.Println("All PVCs used by Nine will not be deleted") }