@@ -71,12 +71,12 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
7171 })
7272
7373 DescribeTableSubtree ("created using" ,
74- func (createNetworkFn func (c networkAttachmentConfigParams ) error ) {
74+ func (createNetworkFn func (c * networkAttachmentConfigParams ) error ) {
7575
7676 DescribeTable (
7777 "can perform east/west traffic between nodes" ,
7878 func (
79- netConfig networkAttachmentConfigParams ,
79+ netConfig * networkAttachmentConfigParams ,
8080 clientPodConfig podConfiguration ,
8181 serverPodConfig podConfiguration ,
8282 ) {
@@ -127,7 +127,7 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
127127 },
128128 Entry (
129129 "for two pods connected over a L2 primary UDN" ,
130- networkAttachmentConfigParams {
130+ & networkAttachmentConfigParams {
131131 name : nadName ,
132132 topology : "layer2" ,
133133 role : "primary" ,
@@ -141,7 +141,7 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
141141 ),
142142 Entry (
143143 "two pods connected over a L3 primary UDN" ,
144- networkAttachmentConfigParams {
144+ & networkAttachmentConfigParams {
145145 name : nadName ,
146146 topology : "layer3" ,
147147 role : "primary" ,
@@ -158,7 +158,7 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
158158 DescribeTable (
159159 "is isolated from the default network" ,
160160 func (
161- netConfigParams networkAttachmentConfigParams ,
161+ netConfigParams * networkAttachmentConfigParams ,
162162 udnPodConfig podConfiguration ,
163163 ) {
164164 By ("Creating second namespace for default network pods" )
@@ -342,7 +342,7 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
342342 },
343343 Entry (
344344 "with L2 primary UDN" ,
345- networkAttachmentConfigParams {
345+ & networkAttachmentConfigParams {
346346 name : nadName ,
347347 topology : "layer2" ,
348348 role : "primary" ,
@@ -353,7 +353,7 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
353353 ),
354354 Entry (
355355 "with L3 primary UDN" ,
356- networkAttachmentConfigParams {
356+ & networkAttachmentConfigParams {
357357 name : nadName ,
358358 topology : "layer3" ,
359359 role : "primary" ,
@@ -379,7 +379,7 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
379379 namespaceRed := f .Namespace .Name + "-" + red
380380 namespaceBlue := f .Namespace .Name + "-" + blue
381381
382- netConfig := networkAttachmentConfigParams {
382+ netConfig := & networkAttachmentConfigParams {
383383 topology : topology ,
384384 cidr : correctCIDRFamily (oc , userDefinedv4Subnet , userDefinedv6Subnet ),
385385 role : "primary" ,
@@ -407,7 +407,13 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
407407 netConfig .name = network
408408
409409 Expect (createNetworkFn (netConfig )).To (Succeed ())
410+ // update the name because createNetworkFn may mutate the netConfig.name
411+ // for cluster scope objects (i.g.: CUDN cases) to enable parallel testing.
412+ networkNamespaceMap [namespace ] = netConfig .name
410413 }
414+ red = networkNamespaceMap [namespaceRed ]
415+ blue = networkNamespaceMap [namespaceBlue ]
416+
411417 workerNodes , err := getWorkerNodesOrdered (cs )
412418 Expect (err ).NotTo (HaveOccurred ())
413419 pods := []* v1.Pod {}
@@ -540,27 +546,29 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
540546 ),
541547 )
542548 },
543- Entry ("NetworkAttachmentDefinitions" , func (c networkAttachmentConfigParams ) error {
544- netConfig := newNetworkAttachmentConfig (c )
549+ Entry ("NetworkAttachmentDefinitions" , func (c * networkAttachmentConfigParams ) error {
550+ netConfig := newNetworkAttachmentConfig (* c )
545551 nad := generateNAD (netConfig )
546552 _ , err := nadClient .NetworkAttachmentDefinitions (c .namespace ).Create (context .Background (), nad , metav1.CreateOptions {})
547553 return err
548554 }),
549- Entry ("UserDefinedNetwork" , func (c networkAttachmentConfigParams ) error {
550- udnManifest := generateUserDefinedNetworkManifest (& c )
555+ Entry ("UserDefinedNetwork" , func (c * networkAttachmentConfigParams ) error {
556+ udnManifest := generateUserDefinedNetworkManifest (c )
551557 cleanup , err := createManifest (c .namespace , udnManifest )
552558 DeferCleanup (cleanup )
553559 Expect (waitForUserDefinedNetworkReady (c .namespace , c .name , udnCrReadyTimeout )).To (Succeed ())
554560 return err
555561 }),
556- Entry ("ClusterUserDefinedNetwork" , func (c networkAttachmentConfigParams ) error {
557- cudnManifest := generateClusterUserDefinedNetworkManifest (& c )
562+ Entry ("ClusterUserDefinedNetwork" , func (c * networkAttachmentConfigParams ) error {
563+ cudnName := randomNetworkMetaName ()
564+ c .name = cudnName
565+ cudnManifest := generateClusterUserDefinedNetworkManifest (c )
558566 cleanup , err := createManifest ("" , cudnManifest )
559567 DeferCleanup (func () {
560568 cleanup ()
561569 By ("delete pods in test namespace to unblock CUDN CR & associate NAD deletion" )
562570 Expect (cs .CoreV1 ().Pods (c .namespace ).DeleteCollection (context .Background (), metav1.DeleteOptions {}, metav1.ListOptions {})).To (Succeed ())
563- _ , err := e2ekubectl .RunKubectl ("" , "delete" , "clusteruserdefinednetwork" , c . name , "--wait" , fmt .Sprintf ("--timeout=%ds" , 120 ))
571+ _ , err := e2ekubectl .RunKubectl ("" , "delete" , "clusteruserdefinednetwork" , cudnName , "--wait" , fmt .Sprintf ("--timeout=%ds" , 120 ))
564572 Expect (err ).NotTo (HaveOccurred ())
565573 })
566574 Expect (waitForClusterUserDefinedNetworkReady (c .name , 5 * time .Second )).To (Succeed ())
@@ -700,13 +708,10 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
700708 })
701709
702710 Context ("ClusterUserDefinedNetwork CRD Controller" , func () {
703- const (
704- testClusterUdnName = "test-cluster-net"
705- clusterUserDefinedNetworkResource = "clusteruserdefinednetwork"
706- )
707- var (
708- testTenantNamespaces []string
709- )
711+ const clusterUserDefinedNetworkResource = "clusteruserdefinednetwork"
712+
713+ var testTenantNamespaces []string
714+
710715 BeforeEach (func () {
711716 testTenantNamespaces = []string {
712717 f .Namespace .Name + "blue" ,
@@ -724,7 +729,10 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
724729 }
725730 })
726731
732+ var testClusterUdnName string
733+
727734 BeforeEach (func () {
735+ testClusterUdnName = randomNetworkMetaName ()
728736 By ("create test CR" )
729737 cleanup , err := createManifest ("" , newClusterUDNManifest (testClusterUdnName , testTenantNamespaces ... ))
730738 DeferCleanup (func () error {
@@ -943,7 +951,7 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
943951 Expect (err ).NotTo (HaveOccurred ())
944952
945953 By ("create primary Cluster UDN CR" )
946- const cudnName = "primary-net"
954+ cudnName := randomNetworkMetaName ()
947955 cleanup , err := createManifest (f .Namespace .Name , newPrimaryClusterUDNManifest (cudnName , testTenantNamespaces ... ))
948956 DeferCleanup (func () {
949957 cleanup ()
@@ -1082,6 +1090,13 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
10821090 })
10831091})
10841092
1093+ // randomNetworkMetaName return pseudo random name for network related objects (NAD,UDN,CUDN).
1094+ // CUDN is cluster-scoped object, in case tests running in parallel, having random names avoids
1095+ // conflicting with other tests.
1096+ func randomNetworkMetaName () string {
1097+ return fmt .Sprintf ("test-net-%s" , rand .String (5 ))
1098+ }
1099+
10851100var nadToUdnParams = map [string ]string {
10861101 "primary" : "Primary" ,
10871102 "secondary" : "Secondary" ,
0 commit comments