@@ -169,7 +169,7 @@ var _ = Describe("NetAttachDefTemplate", func() {
169169 ),
170170 )
171171
172- DescribeTable ("should fail to render NAD, given" ,
172+ DescribeTable ("should fail to render NAD manifest , given" ,
173173 func (obj client.Object ) {
174174 _ , err := RenderNetAttachDefManifest (obj , "test" )
175175 Expect (err ).To (HaveOccurred ())
@@ -223,10 +223,35 @@ var _ = Describe("NetAttachDefTemplate", func() {
223223 & udnv1.ClusterUserDefinedNetwork {Spec : udnv1.ClusterUserDefinedNetworkSpec {Network : udnv1.NetworkSpec {
224224 Topology : udnv1 .NetworkTopologyLayer2 , Layer3 : & udnv1.Layer3Config {}}}},
225225 ),
226+ Entry ("CUDN, invalid topology: topology layer2 & localnet config" ,
227+ & udnv1.ClusterUserDefinedNetwork {Spec : udnv1.ClusterUserDefinedNetworkSpec {Network : udnv1.NetworkSpec {
228+ Topology : udnv1 .NetworkTopologyLayer2 , Localnet : & udnv1.LocalnetConfig {}}}},
229+ ),
226230 Entry ("CUDN, invalid topology: topology layer3 & layer2 config" ,
227231 & udnv1.ClusterUserDefinedNetwork {Spec : udnv1.ClusterUserDefinedNetworkSpec {Network : udnv1.NetworkSpec {
228232 Topology : udnv1 .NetworkTopologyLayer3 , Layer2 : & udnv1.Layer2Config {}}}},
229233 ),
234+ Entry ("CUDN, invalid topology: topology layer3 & localnet config" ,
235+ & udnv1.ClusterUserDefinedNetwork {Spec : udnv1.ClusterUserDefinedNetworkSpec {Network : udnv1.NetworkSpec {
236+ Topology : udnv1 .NetworkTopologyLayer3 , Localnet : & udnv1.LocalnetConfig {}}}},
237+ ),
238+ Entry ("CUDN, invalid topology: topology localnet & layer2 config" ,
239+ & udnv1.ClusterUserDefinedNetwork {Spec : udnv1.ClusterUserDefinedNetworkSpec {Network : udnv1.NetworkSpec {
240+ Topology : udnv1 .NetworkTopologyLocalnet , Layer2 : & udnv1.Layer2Config {}}}},
241+ ),
242+ Entry ("CUDN, invalid topology: topology localnet & layer3 config" ,
243+ & udnv1.ClusterUserDefinedNetwork {Spec : udnv1.ClusterUserDefinedNetworkSpec {Network : udnv1.NetworkSpec {
244+ Topology : udnv1 .NetworkTopologyLocalnet , Layer3 : & udnv1.Layer3Config {}}}},
245+ ),
246+ Entry ("CUDN, localnet: excludeSubnets not in range of subnets" ,
247+ & udnv1.ClusterUserDefinedNetwork {Spec : udnv1.ClusterUserDefinedNetworkSpec {Network : udnv1.NetworkSpec {
248+ Topology : udnv1 .NetworkTopologyLocalnet ,
249+ Localnet : & udnv1.LocalnetConfig {Role : udnv1 .NetworkRoleSecondary , PhysicalNetworkName : "localnet1" ,
250+ Subnets : udnv1.DualStackCIDRs {"192.168.0.0/16" , "2001:dbb::/64" },
251+ ExcludeSubnets : []udnv1.CIDR {"192.200.0.0/30" , "2001:aaa::/127" , "192.300.0.1/32" , "2001:bbb::1/120" },
252+ },
253+ }}},
254+ ),
230255 )
231256
232257 It ("should return no error given no UDN" , func () {
@@ -492,7 +517,7 @@ var _ = Describe("NetAttachDefTemplate", func() {
492517 "allowPersistentIPs": true
493518 }` ,
494519 ),
495- Entry ("secondary network" ,
520+ Entry ("secondary network, layer2 " ,
496521 udnv1.NetworkSpec {
497522 Topology : udnv1 .NetworkTopologyLayer2 ,
498523 Layer2 : & udnv1.Layer2Config {
@@ -516,5 +541,35 @@ var _ = Describe("NetAttachDefTemplate", func() {
516541 "allowPersistentIPs": true
517542 }` ,
518543 ),
544+ Entry ("secondary network, localnet" ,
545+ udnv1.NetworkSpec {
546+ Topology : udnv1 .NetworkTopologyLocalnet ,
547+ Localnet : & udnv1.LocalnetConfig {
548+ Role : udnv1 .NetworkRoleSecondary ,
549+ PhysicalNetworkName : "mylocalnet1" ,
550+ MTU : 1600 ,
551+ VLAN : & udnv1.VLANConfig {Mode : udnv1 .VLANModeAccess , Access : & udnv1.AccessVLANConfig {ID : 200 }},
552+ Subnets : udnv1.DualStackCIDRs {"192.168.100.0/24" , "2001:dbb::/64" },
553+ ExcludeSubnets : []udnv1.CIDR {"192.168.100.1/32" , "2001:dbb::0/128" },
554+ IPAM : & udnv1.IPAMConfig {
555+ Lifecycle : udnv1 .IPAMLifecyclePersistent ,
556+ },
557+ },
558+ },
559+ `{
560+ "cniVersion": "1.0.0",
561+ "type": "ovn-k8s-cni-overlay",
562+ "name": "cluster_udn_test-net",
563+ "netAttachDefName": "mynamespace/test-net",
564+ "role": "secondary",
565+ "topology": "localnet",
566+ "physicalNetworkName": "mylocalnet1",
567+ "subnets": "192.168.100.0/24,2001:dbb::/64",
568+ "excludeSubnets": "192.168.100.1/32,2001:dbb::0/128",
569+ "mtu": 1600,
570+ "vlanID": 200,
571+ "allowPersistentIPs": true
572+ }` ,
573+ ),
519574 )
520575})
0 commit comments