Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[YUNIKORN-3016] Cleanup cluster resources after persistent_volume e2e test failed #947

Closed
wants to merge 3 commits into from
Closed
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 28 additions & 14 deletions test/e2e/persistent_volume/persistent_volume_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down Expand Up @@ -133,15 +134,16 @@ var _ = ginkgo.Describe("PersistentVolume", func() {
Ω(err).NotTo(HaveOccurred())
})

saName := "nfs-service-account"
crName := "nfs-cluster-role"
crbName := "nfs-cluster-role-binding" //nolint:gosec
serverName := "nfs-provisioner"
scName := "nfs-sc"
kaichiachen marked this conversation as resolved.
Show resolved Hide resolved

ginkgo.It("Verify_dynamic_bindng_with_nfs_server", 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)

Expand Down Expand Up @@ -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)
})
})

Expand Down Expand Up @@ -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) {
kaichiachen marked this conversation as resolved.
Show resolved Hide resolved
Ω(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())
}
}
Loading