Skip to content

Commit 95774a2

Browse files
authored
Merge pull request #257 from openebs/update-cleanup-code
feat: delete statefulsets as part of cleanup
2 parents 2c85c9d + b84433a commit 95774a2

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

common/k8stest/util_cleanup.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,7 @@ func CleanUp() bool {
427427
podCount := 0
428428
pvcCount := 0
429429
snapshotCount := 0
430+
statefulsetCount := 0
430431

431432
nameSpaces, err := gTestEnv.KubeInt.CoreV1().Namespaces().List(context.TODO(), metaV1.ListOptions{})
432433
if err == nil {
@@ -437,6 +438,11 @@ func CleanUp() bool {
437438
errs = append(errs, err)
438439
}
439440
deploymentCount += tmp
441+
tmp, err = DeleteAllStatefulset(ns.Name)
442+
if err != nil {
443+
errs = append(errs, err)
444+
}
445+
statefulsetCount += tmp
440446
tmp, err = DeleteAllPods(ns.Name)
441447
if err != nil {
442448
errs = append(errs, err)
@@ -581,3 +587,37 @@ func DeleteAllSnapshots(nameSpace string) (int, error) {
581587
logf.Log.Info("DeleteAllSnapshots:", "number of Snapshot", numSnapshots, "error", err)
582588
return numSnapshots, err
583589
}
590+
591+
func DeleteAllStatefulset(nameSpace string) (int, error) {
592+
logf.Log.Info("DeleteAllStatefulset")
593+
numStatefulsets := 0
594+
595+
statefulsets, err := gTestEnv.KubeInt.AppsV1().StatefulSets(nameSpace).List(context.TODO(), metaV1.ListOptions{})
596+
if err == nil {
597+
logf.Log.Info("DeleteAllStatefulset: found", "sts", statefulsets)
598+
for _, sts := range statefulsets.Items {
599+
logf.Log.Info("DeleteAllStatefulset: Deleting", "statefulset", sts.Name)
600+
delErr := gTestEnv.KubeInt.AppsV1().StatefulSets(nameSpace).Delete(context.TODO(), sts.Name, metaV1.DeleteOptions{})
601+
if delErr != nil {
602+
logf.Log.Info("DeleteAllStatefulset: failed to delete the statefulset", "statefulset", sts.Name, "error", delErr)
603+
}
604+
}
605+
}
606+
607+
// Wait 2 minutes for Statefulset to be deleted
608+
for attempts := 0; attempts < 120; attempts++ {
609+
numStatefulsets = 0
610+
statefulsets, err := ListSts(nameSpace)
611+
if err == nil {
612+
for _, sts := range statefulsets {
613+
logf.Log.Info("Statefulset found", "name", sts.Name)
614+
numStatefulsets += 1
615+
}
616+
if numStatefulsets == 0 {
617+
break
618+
}
619+
}
620+
time.Sleep(1 * time.Second)
621+
}
622+
return numStatefulsets, err
623+
}

0 commit comments

Comments
 (0)