Skip to content

Commit 69c657a

Browse files
committed
new changes
1 parent ca4efa9 commit 69c657a

File tree

1 file changed

+31
-21
lines changed

1 file changed

+31
-21
lines changed

tests/e2e/mgmt_wrkld_domain_isolation_utils.go

+31-21
Original file line numberDiff line numberDiff line change
@@ -40,62 +40,72 @@ pod node anotation and cns volume metadata
4040
func verifyAnnotationsAndNodeAffinityForStatefulsetinSvc(ctx context.Context, client clientset.Interface,
4141
statefulset *appsv1.StatefulSet, namespace string,
4242
allowedTopologies []v1.TopologySelectorLabelRequirement) error {
43-
// read topology mapping
43+
// Read topology mapping
4444
allowedTopologiesMap := createAllowedTopologiesMap(allowedTopologies)
4545
topologyMap := GetAndExpectStringEnvVar(envTopologyMap)
4646
_, topologyCategories := createTopologyMapLevel5(topologyMap)
4747

4848
framework.Logf("Reading statefulset pod list for node affinity verification")
4949
ssPodsBeforeScaleDown := GetListOfPodsInSts(client, statefulset)
5050
for _, sspod := range ssPodsBeforeScaleDown.Items {
51+
// Get Pod details
5152
_, err := client.CoreV1().Pods(namespace).Get(ctx, sspod.Name, metav1.GetOptions{})
5253
if err != nil {
53-
return err
54+
return fmt.Errorf("failed to get pod %s in namespace %s: %w", sspod.Name, namespace, err)
5455
}
5556

56-
framework.Logf("Verifying PVC annotation and pv affinity rules")
57+
framework.Logf("Verifying PVC annotation and PV affinity rules")
5758
for _, volumespec := range sspod.Spec.Volumes {
5859
if volumespec.PersistentVolumeClaim != nil {
5960
svPvcName := volumespec.PersistentVolumeClaim.ClaimName
6061
pv := getPvFromClaim(client, statefulset.Namespace, svPvcName)
61-
svcPVC, err := client.CoreV1().PersistentVolumeClaims(namespace).Get(ctx, svPvcName,
62-
metav1.GetOptions{})
63-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
6462

63+
// Get SVC PVC
64+
svcPVC, err := client.CoreV1().PersistentVolumeClaims(namespace).Get(ctx, svPvcName, metav1.GetOptions{})
65+
if err != nil {
66+
return fmt.Errorf("failed to get SVC PVC %s in namespace %s: %w", svPvcName, namespace, err)
67+
}
68+
69+
// Get ready and schedulable nodes
6570
nodeList, err := fnodes.GetReadySchedulableNodes(ctx, client)
6671
if err != nil {
67-
return err
72+
return fmt.Errorf("failed to get ready and schedulable nodes: %w", err)
6873
}
6974
if len(nodeList.Items) <= 0 {
70-
return fmt.Errorf("unable to find ready and schedulable Node")
75+
return fmt.Errorf("no ready and schedulable nodes found")
7176
}
7277

73-
framework.Logf("Verify SV PVC has topology annotations set")
78+
// Verify SV PVC topology annotations
7479
err = checkPvcTopologyAnnotationOnSvc(svcPVC, allowedTopologiesMap, topologyCategories)
75-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
76-
framework.Logf("SVC PVC: %s has topology annotations set", svcPVC.Name)
80+
if err != nil {
81+
return fmt.Errorf("topology annotation verification failed for SVC PVC %s: %w", svcPVC.Name, err)
82+
}
7783

78-
framework.Logf("Verify SV PV has has required PV node affinity details")
84+
// Verify SV PV node affinity details
7985
svcPV := getPvFromClaim(client, namespace, svPvcName)
8086
_, err = verifyVolumeTopologyForLevel5(svcPV, allowedTopologiesMap)
81-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
82-
framework.Logf("SVC PV: %s has required PV node affinity details", svcPV.Name)
87+
if err != nil {
88+
return fmt.Errorf("topology verification failed for SVC PV %s: %w", svcPV.Name, err)
89+
}
8390

84-
framework.Logf("Verify Pod node annotation")
91+
// Verify pod node annotation
8592
_, err = verifyPodLocationLevel5(&sspod, nodeList, allowedTopologiesMap)
86-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
87-
88-
framework.Logf("Verify CNS volume metadata for Pod, PVC and PV")
89-
err = verifyVolumeMetadataInCNS(&e2eVSphere, pv.Spec.CSI.VolumeHandle,
90-
svPvcName, pv.ObjectMeta.Name, sspod.Name)
91-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
93+
if err != nil {
94+
return fmt.Errorf("pod node annotation verification failed for pod %s: %w", sspod.Name, err)
95+
}
9296

97+
// Verify CNS volume metadata
98+
err = verifyVolumeMetadataInCNS(&e2eVSphere, pv.Spec.CSI.VolumeHandle, svPvcName, pv.ObjectMeta.Name, sspod.Name)
99+
if err != nil {
100+
return fmt.Errorf("CNS volume metadata verification failed for pod %s: %w", sspod.Name, err)
101+
}
93102
}
94103
}
95104
}
96105
return nil
97106
}
98107

108+
99109
// Function to check annotation on a Supervisor PVC
100110
func checkPvcTopologyAnnotationOnSvc(svcPVC *v1.PersistentVolumeClaim,
101111
allowedTopologies map[string][]string, categories []string) error {

0 commit comments

Comments
 (0)