@@ -82,18 +82,25 @@ var _ = ginkgo.Describe("statefulset", func() {
8282 stsReplicas int32
8383 allowedTopologies []v1.TopologySelectorLabelRequirement
8484 isQuotaValidationSupported bool
85+ adminClient clientset.Interface
8586 )
8687
8788 ginkgo .BeforeEach (func () {
8889 ctx , cancel := context .WithCancel (context .Background ())
8990 defer cancel ()
90- namespace = getNamespaceToRunTests ( f )
91+ var err error
9192 client = f .ClientSet
93+ namespace = getNamespaceToRunTests (f )
94+ adminClient , client = initializeClusterClientsByUserRoles (client )
95+
9296 bootstrap ()
93- sc , err := client .StorageV1 ().StorageClasses ().Get (ctx , defaultNginxStorageClassName , metav1.GetOptions {})
94- if err == nil && sc != nil {
95- gomega .Expect (client .StorageV1 ().StorageClasses ().Delete (ctx , sc .Name ,
96- * metav1 .NewDeleteOptions (0 ))).NotTo (gomega .HaveOccurred ())
97+
98+ if vanillaCluster {
99+ sc , err := client .StorageV1 ().StorageClasses ().Get (ctx , defaultNginxStorageClassName , metav1.GetOptions {})
100+ if err == nil && sc != nil {
101+ gomega .Expect (client .StorageV1 ().StorageClasses ().Delete (ctx , sc .Name ,
102+ * metav1 .NewDeleteOptions (0 ))).NotTo (gomega .HaveOccurred ())
103+ }
97104 }
98105
99106 scParameters = make (map [string ]string )
@@ -127,7 +134,7 @@ var _ = ginkgo.Describe("statefulset", func() {
127134 }
128135
129136 if stretchedSVC {
130- nodeList , err = fnodes .GetReadySchedulableNodes (ctx , client )
137+ nodeList , err = fnodes .GetReadySchedulableNodes (ctx , f . ClientSet )
131138 framework .ExpectNoError (err , "Unable to find ready and schedulable Node" )
132139 }
133140
@@ -142,12 +149,13 @@ var _ = ginkgo.Describe("statefulset", func() {
142149 ctx , cancel := context .WithCancel (context .Background ())
143150 defer cancel ()
144151 ginkgo .By (fmt .Sprintf ("Deleting all statefulsets in namespace: %v" , namespace ))
145- fss . DeleteAllStatefulSets (ctx , client , namespace )
152+ deleteAllStsAndPodsPVCsInNamespace (ctx , client , namespace )
146153 ginkgo .By (fmt .Sprintf ("Deleting service nginx in namespace: %v" , namespace ))
147154 err := client .CoreV1 ().Services (namespace ).Delete (ctx , servicename , * metav1 .NewDeleteOptions (0 ))
148155 if ! apierrors .IsNotFound (err ) {
149156 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
150157 }
158+
151159 if supervisorCluster {
152160 dumpSvcNsEventsOnTestFailure (client , namespace )
153161 }
@@ -195,8 +203,6 @@ var _ = ginkgo.Describe("statefulset", func() {
195203 } else {
196204 storageClassName = storagePolicyName
197205 ginkgo .By ("Running for WCP setup" )
198- profileID := e2eVSphere .GetSpbmPolicyID (storagePolicyName )
199- scParameters [scParamStoragePolicyID ] = profileID
200206 }
201207
202208 restConfig := getRestConfigClient ()
@@ -220,7 +226,7 @@ var _ = ginkgo.Describe("statefulset", func() {
220226
221227 if stretchedSVC {
222228 scParameters [svStorageClassName ] = zonalPolicy
223- storageclass , err := client .StorageV1 ().StorageClasses ().Get (ctx , zonalPolicy , metav1.GetOptions {})
229+ storageclass , err := adminClient .StorageV1 ().StorageClasses ().Get (ctx , zonalPolicy , metav1.GetOptions {})
224230 if ! apierrors .IsNotFound (err ) {
225231 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
226232 }
@@ -232,6 +238,10 @@ var _ = ginkgo.Describe("statefulset", func() {
232238
233239 CreateStatefulSet (namespace , statefulset , client )
234240 replicas := * (statefulset .Spec .Replicas )
241+
242+ defer func () {
243+ deleteAllStsAndPodsPVCsInNamespace (ctx , client , namespace )
244+ }()
235245 // Waiting for pods status to be Ready
236246 fss .WaitForStatusReadyReplicas (ctx , client , statefulset , replicas )
237247 gomega .Expect (fss .CheckMount (ctx , client , statefulset , mountPath )).NotTo (gomega .HaveOccurred ())
@@ -438,8 +448,6 @@ var _ = ginkgo.Describe("statefulset", func() {
438448 } else {
439449 storageClassName = storagePolicyName
440450 ginkgo .By ("Running for WCP setup" )
441- profileID := e2eVSphere .GetSpbmPolicyID (storagePolicyName )
442- scParameters [scParamStoragePolicyID ] = profileID
443451 }
444452
445453 ginkgo .By ("Creating service" )
@@ -456,6 +464,9 @@ var _ = ginkgo.Describe("statefulset", func() {
456464 ginkgo .By ("Creating statefulset" )
457465 CreateStatefulSet (namespace , statefulset , client )
458466 replicas := * (statefulset .Spec .Replicas )
467+ defer func () {
468+ deleteAllStsAndPodsPVCsInNamespace (ctx , client , namespace )
469+ }()
459470 // Waiting for pods status to be Ready
460471 fss .WaitForStatusReadyReplicas (ctx , client , statefulset , replicas )
461472 gomega .Expect (fss .CheckMount (ctx , client , statefulset , mountPath )).NotTo (gomega .HaveOccurred ())
@@ -637,8 +648,6 @@ var _ = ginkgo.Describe("statefulset", func() {
637648 storageClassName = GetAndExpectStringEnvVar (envStoragePolicyNameForSharedDatastores )
638649 framework .Logf ("storageClassName %v" , storageClassName )
639650 ginkgo .By ("CNS_TEST: Running for WCP setup" )
640- profileID := e2eVSphere .GetSpbmPolicyID (storageClassName )
641- scParameters [scParamStoragePolicyID ] = profileID
642651 }
643652
644653 if ! vcptocsi {
@@ -668,6 +677,10 @@ var _ = ginkgo.Describe("statefulset", func() {
668677 Spec .StorageClassName = & storageClassName
669678 CreateStatefulSet (namespace , statefulset , client )
670679 replicas := * (statefulset .Spec .Replicas )
680+ defer func () {
681+ deleteAllStsAndPodsPVCsInNamespace (ctx , client , namespace )
682+ }()
683+
671684 // Waiting for pods status to be Ready
672685 fss .WaitForStatusReadyReplicas (ctx , client , statefulset , replicas )
673686 gomega .Expect (fss .CheckMount (ctx , client , statefulset , mountPath )).NotTo (gomega .HaveOccurred ())
@@ -827,7 +840,7 @@ var _ = ginkgo.Describe("statefulset", func() {
827840 12. Inncrease the CSI driver replica to 3
828841
829842 */
830- ginkgo .It ("[ef-wcp][csi-block-vanilla][csi-supervisor][pq-vanilla-block ] ListVolumeResponse " +
843+ ginkgo .It ("[ef-wcp][csi-block-vanilla] [csi-supervisor] ListVolumeResponse " +
831844 "Validation" , ginkgo .Label (p1 , listVolume , block , vanilla , wcp , vc70 ), func () {
832845 ctx , cancel := context .WithCancel (context .Background ())
833846 defer cancel ()
@@ -843,21 +856,18 @@ var _ = ginkgo.Describe("statefulset", func() {
843856 storageClassName = "nginx-sc-default"
844857 } else {
845858 ginkgo .By ("Running for WCP setup" )
846-
847- profileID := e2eVSphere .GetSpbmPolicyID (storagePolicyName )
848- scParameters [scParamStoragePolicyID ] = profileID
849- // create resource quota
859+ storageClassName = storagePolicyName
850860 }
851861
852862 ginkgo .By ("scale down CSI driver POD to 1 , so that it will" +
853863 "be easy to validate all Listvolume response on one driver POD" )
854- collectPodLogs (ctx , client , csiSystemNamespace )
855- scaledownCSIDriver , err := scaleCSIDriver (ctx , client , namespace , 1 )
864+ collectPodLogs (ctx , adminClient , csiSystemNamespace )
865+ scaledownCSIDriver , err := scaleCSIDriver (ctx , adminClient , namespace , 1 )
856866 gomega .Expect (scaledownCSIDriver ).To (gomega .BeTrue (), "csi driver scaledown is not successful" )
857867 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
858868 defer func () {
859869 ginkgo .By ("Scale up the csi-driver replica to 3" )
860- success , err := scaleCSIDriver (ctx , client , namespace , 3 )
870+ success , err := scaleCSIDriver (ctx , adminClient , namespace , 3 )
861871 gomega .Expect (success ).To (gomega .BeTrue (), "csi driver scale up to 3 replica not successful" )
862872 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
863873 }()
@@ -884,6 +894,10 @@ var _ = ginkgo.Describe("statefulset", func() {
884894 Spec .StorageClassName = & storageClassName
885895 CreateStatefulSet (namespace , statefulset , client )
886896 replicas := * (statefulset .Spec .Replicas )
897+
898+ defer func () {
899+ deleteAllStsAndPodsPVCsInNamespace (ctx , client , namespace )
900+ }()
887901 // Waiting for pods status to be Ready
888902 fss .WaitForStatusReadyReplicas (ctx , client , statefulset , replicas )
889903 gomega .Expect (fss .CheckMount (ctx , client , statefulset , mountPath )).NotTo (gomega .HaveOccurred ())
@@ -937,7 +951,7 @@ var _ = ginkgo.Describe("statefulset", func() {
937951 HostKeyCallback : ssh .InsecureIgnoreHostKey (),
938952 }
939953 }
940- _ , _ , err = getCSIPodWhereListVolumeResponseIsPresent (ctx , client , sshClientConfig ,
954+ _ , _ , err = getCSIPodWhereListVolumeResponseIsPresent (ctx , adminClient , sshClientConfig ,
941955 containerName , logMessage , volumesBeforeScaleUp )
942956 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
943957
@@ -957,7 +971,7 @@ var _ = ginkgo.Describe("statefulset", func() {
957971
958972 ginkgo .By ("Validate pagination" )
959973 logMessage = "token for next set: 3"
960- _ , _ , err = getCSIPodWhereListVolumeResponseIsPresent (ctx , client , sshClientConfig , containerName , logMessage , nil )
974+ _ , _ , err = getCSIPodWhereListVolumeResponseIsPresent (ctx , adminClient , sshClientConfig , containerName , logMessage , nil )
961975 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
962976
963977 if vanillaCluster {
@@ -970,7 +984,7 @@ var _ = ginkgo.Describe("statefulset", func() {
970984 //List volume responses will show up in the interval of every 1 minute.
971985 //To see the error, It is required to wait for 1 min after deleteting few Volumes
972986 time .Sleep (pollTimeoutShort )
973- _ , _ , err = getCSIPodWhereListVolumeResponseIsPresent (ctx , client , sshClientConfig , containerName , logMessage , nil )
987+ _ , _ , err = getCSIPodWhereListVolumeResponseIsPresent (ctx , adminClient , sshClientConfig , containerName , logMessage , nil )
974988 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
975989 }
976990
@@ -996,7 +1010,7 @@ var _ = ginkgo.Describe("statefulset", func() {
9961010 ginkgo .By ("Validate ListVolume Response when no volumes are present" )
9971011 logMessage = "ListVolumes served 0 results"
9981012
999- _ , _ , err = getCSIPodWhereListVolumeResponseIsPresent (ctx , client , sshClientConfig , containerName , logMessage , nil )
1013+ _ , _ , err = getCSIPodWhereListVolumeResponseIsPresent (ctx , adminClient , sshClientConfig , containerName , logMessage , nil )
10001014 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
10011015 })
10021016
@@ -1009,7 +1023,7 @@ var _ = ginkgo.Describe("statefulset", func() {
10091023 5. Scale up replica to 5.
10101024 6. Exit MM and clean up all pods and PVs.
10111025 */
1012- ginkgo .It ("[ef-f- wcp][csi-supervisor] Test MM workflow on statefulset" , ginkgo .Label (p1 , block , wcp ,
1026+ ginkgo .It ("[ef-wcp][csi-supervisor] Test MM workflow on statefulset" , ginkgo .Label (p1 , block , wcp ,
10131027 disruptive , vc70 ), func () {
10141028 ctx , cancel := context .WithCancel (context .Background ())
10151029 defer cancel ()
@@ -1021,7 +1035,7 @@ var _ = ginkgo.Describe("statefulset", func() {
10211035 setStoragePolicyQuota (ctx , restConfig , storagePolicyName , namespace , rqLimit )
10221036
10231037 ginkgo .By ("Get the storageclass from Supervisor" )
1024- sc , err := client .StorageV1 ().StorageClasses ().Get (ctx , storagePolicyName , metav1.GetOptions {})
1038+ sc , err := adminClient .StorageV1 ().StorageClasses ().Get (ctx , storagePolicyName , metav1.GetOptions {})
10251039 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
10261040
10271041 ginkgo .By ("Creating service" )
@@ -1117,7 +1131,7 @@ var _ = ginkgo.Describe("statefulset", func() {
11171131 7. clean up the data
11181132 */
11191133
1120- ginkgo .It ("[ef-f- stretched-svc][stretched-svc] Statefulset-parallel-podManagementPolicy-wffc" ,
1134+ ginkgo .It ("[ef-stretched-svc][stretched-svc] Statefulset-parallel-podManagementPolicy-wffc" ,
11211135 ginkgo .Label (p0 , block , stretchedSvc , vc70 ), func () {
11221136 ctx , cancel := context .WithCancel (context .Background ())
11231137 defer cancel ()
@@ -1130,7 +1144,7 @@ var _ = ginkgo.Describe("statefulset", func() {
11301144 parallelStatefulSetCreation := false
11311145
11321146 scParameters [svStorageClassName ] = zonalWffcPolicy
1133- storageclass , err := client .StorageV1 ().StorageClasses ().Get (ctx , zonalWffcPolicy , metav1.GetOptions {})
1147+ storageclass , err := adminClient .StorageV1 ().StorageClasses ().Get (ctx , zonalWffcPolicy , metav1.GetOptions {})
11341148 if ! apierrors .IsNotFound (err ) {
11351149 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
11361150 }
@@ -1147,7 +1161,7 @@ var _ = ginkgo.Describe("statefulset", func() {
11471161 stsReplicas , nodeAffinityToSet , nil , podAntiAffinityToSet , true ,
11481162 "" , "" , storageclass , storageClassName )
11491163 defer func () {
1150- fss . DeleteAllStatefulSets (ctx , client , namespace )
1164+ deleteAllStsAndPodsPVCsInNamespace (ctx , client , namespace )
11511165 }()
11521166
11531167 framework .Logf ("Verify PV node affinity and that the PODS are running on appropriate node" )
@@ -1205,7 +1219,7 @@ var _ = ginkgo.Describe("statefulset", func() {
12051219 parallelStatefulSetCreation := false
12061220
12071221 scParameters [svStorageClassName ] = zonalPolicy
1208- storageclass , err := client .StorageV1 ().StorageClasses ().Get (ctx , zonalPolicy , metav1.GetOptions {})
1222+ storageclass , err := adminClient .StorageV1 ().StorageClasses ().Get (ctx , zonalPolicy , metav1.GetOptions {})
12091223 if ! apierrors .IsNotFound (err ) {
12101224 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
12111225 }
@@ -1222,7 +1236,7 @@ var _ = ginkgo.Describe("statefulset", func() {
12221236 stsReplicas , nodeAffinityToSet , allowedTopologies , podAntiAffinityToSet , true ,
12231237 "" , "" , storageclass , storageClassName )
12241238 defer func () {
1225- fss . DeleteAllStatefulSets (ctx , client , namespace )
1239+ deleteAllStsAndPodsPVCsInNamespace (ctx , client , namespace )
12261240 }()
12271241
12281242 framework .Logf ("Verify PV node affinity and that the PODS are running on appropriate node" )
@@ -1278,7 +1292,7 @@ var _ = ginkgo.Describe("statefulset", func() {
12781292 parallelStatefulSetCreation := false
12791293
12801294 scParameters [svStorageClassName ] = zonalPolicy
1281- storageclass , err := client .StorageV1 ().StorageClasses ().Get (ctx , zonalPolicy , metav1.GetOptions {})
1295+ storageclass , err := adminClient .StorageV1 ().StorageClasses ().Get (ctx , zonalPolicy , metav1.GetOptions {})
12821296 if ! apierrors .IsNotFound (err ) {
12831297 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
12841298 }
@@ -1295,7 +1309,7 @@ var _ = ginkgo.Describe("statefulset", func() {
12951309 stsReplicas , nodeAffinityToSet , allowedTopologies , podAntiAffinityToSet , true ,
12961310 "" , "" , storageclass , storageClassName )
12971311 defer func () {
1298- fss . DeleteAllStatefulSets (ctx , client , namespace )
1312+ deleteAllStsAndPodsPVCsInNamespace (ctx , client , namespace )
12991313 }()
13001314
13011315 ginkgo .By ("Verify all volumes are attached to Nodes after Statefulsets is scaled up/down" )
0 commit comments