You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by ch...@apache.org on 2025/01/26 04:45:38 UTC

(yunikorn-k8shim) branch master updated: [YUNIKORN-3016] Cleanup cluster resources after persistent_volume e2e test failed (#947)

This is an automated email from the ASF dual-hosted git repository.

chenyulin0719 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yunikorn-k8shim.git


The following commit(s) were added to refs/heads/master by this push:
     new d4344fb8 [YUNIKORN-3016] Cleanup cluster resources after persistent_volume e2e test failed (#947)
d4344fb8 is described below

commit d4344fb8719c01ec9ad3bffa60479f39d11d15c4
Author: kaichiachen <ka...@gmail.com>
AuthorDate: Sun Jan 26 04:43:12 2025 +0000

    [YUNIKORN-3016] Cleanup cluster resources after persistent_volume e2e test failed (#947)
    
    Closes: #947
    
    Signed-off-by: Yu-Lin Chen <ch...@apache.org>
---
 .../persistent_volume/persistent_volume_test.go    | 50 ++++++++++++++--------
 1 file changed, 32 insertions(+), 18 deletions(-)

diff --git a/test/e2e/persistent_volume/persistent_volume_test.go b/test/e2e/persistent_volume/persistent_volume_test.go
index c82196f7..5a1c0073 100644
--- a/test/e2e/persistent_volume/persistent_volume_test.go
+++ b/test/e2e/persistent_volume/persistent_volume_test.go
@@ -28,6 +28,7 @@ import (
 	v1 "k8s.io/api/core/v1"
 	rbacv1 "k8s.io/api/rbac/v1"
 	storagev1 "k8s.io/api/storage/v1"
+	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 	"k8s.io/apimachinery/pkg/api/resource"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
@@ -42,8 +43,14 @@ var kClient k8s.KubeCtl
 var restClient yunikorn.RClient
 
 const (
-	LocalTypePv    = "Local"
-	StandardScName = "standard"
+	localTypePv    = "Local"
+	standardScName = "standard"
+
+	saName     = "nfs-service-account"
+	crName     = "nfs-cluster-role"
+	crbName    = "nfs-cluster-role-binding" //nolint:gosec
+	serverName = "nfs-provisioner"
+	scName     = "nfs-sc"
 )
 
 var _ = ginkgo.BeforeSuite(func() {
@@ -89,9 +96,9 @@ var _ = ginkgo.Describe("PersistentVolume", func() {
 			Name:         pvName,
 			Capacity:     "1Gi",
 			AccessModes:  []v1.PersistentVolumeAccessMode{v1.ReadWriteOnce},
-			Type:         LocalTypePv,
+			Type:         localTypePv,
 			Path:         "/tmp",
-			StorageClass: StandardScName,
+			StorageClass: standardScName,
 		}
 
 		ginkgo.By("Create local type pv " + pvName)
@@ -137,11 +144,6 @@ var _ = ginkgo.Describe("PersistentVolume", func() {
 		ginkgo.By("Start creating nfs provisioner.")
 
 		// Create nfs server and related rbac
-		saName := "nfs-service-account"
-		crName := "nfs-cluster-role"
-		crbName := "nfs-cluster-role-binding" //nolint:gosec
-		serverName := "nfs-provisioner"
-		scName := "nfs-sc"
 		createNfsRbac(saName, crName, crbName)
 		createNfsProvisioner(saName, serverName, scName)
 
@@ -178,12 +180,14 @@ var _ = ginkgo.Describe("PersistentVolume", func() {
 		err = kClient.WaitForPodRunning(dev, podName, 60*time.Second)
 		Ω(err).NotTo(HaveOccurred())
 
-		deleteNfsRelatedRoles(saName, crName, crbName)
-		deleteNfsProvisioner(serverName, scName)
 	})
 
 	ginkgo.AfterEach(func() {
 		tests.DumpClusterInfoIfSpecFailed(suiteName, []string{"default"})
+
+		// Clean up nfs provisioner resources
+		deleteNfsRelatedRoles(saName, crName, crbName)
+		deleteNfsProvisioner(serverName, scName)
 	})
 })
 
@@ -338,19 +342,29 @@ func createNfsProvisioner(svaName string, serverName string, scName string) {
 func deleteNfsRelatedRoles(serviceAccount string, clusterRole string, clusterRoleBinding string) {
 	ginkgo.By("Deleting NFS related roles and bindings")
 	err := kClient.DeleteClusterRoleBindings(clusterRoleBinding)
+	if err != nil && !k8serrors.IsNotFound(err) {
+		Ω(err).NotTo(HaveOccurred())
+	}
+
 	err2 := kClient.DeleteClusterRole(clusterRole)
-	err3 := kClient.DeleteServiceAccount(serviceAccount, dev)
+	if err2 != nil && !k8serrors.IsNotFound(err2) {
+		Ω(err2).NotTo(HaveOccurred())
+	}
 
-	Ω(err).NotTo(HaveOccurred())
-	Ω(err2).NotTo(HaveOccurred())
-	Ω(err3).NotTo(HaveOccurred())
+	err3 := kClient.DeleteServiceAccount(serviceAccount, dev)
+	if err3 != nil && !k8serrors.IsNotFound(err3) {
+		Ω(err3).NotTo(HaveOccurred())
+	}
 }
 
 func deleteNfsProvisioner(deployName string, scName string) {
 	ginkgo.By("Deleting NFS deployment and storage class")
 	err := kClient.DeleteDeployment(deployName, dev)
+	if err != nil && !k8serrors.IsNotFound(err) {
+		Ω(err).NotTo(HaveOccurred())
+	}
 	err2 := kClient.DeleteStorageClass(scName)
-
-	Ω(err).NotTo(HaveOccurred())
-	Ω(err2).NotTo(HaveOccurred())
+	if err2 != nil && !k8serrors.IsNotFound(err2) {
+		Ω(err2).NotTo(HaveOccurred())
+	}
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org