@@ -383,14 +383,19 @@ func addNodeLogicalFlowsHelper(testData []libovsdbtest.TestData, expectedOVNClus
383383 Nexthops : []string {node .NodeMgmtPortIP },
384384 Priority : intPriority ,
385385 })
386- testData = append (testData , & nbdb.LogicalRouterPolicy {
387- UUID : "policy-based-route-2-UUID" ,
388- Action : nbdb .LogicalRouterPolicyActionReroute ,
389- Match : matchStr2 ,
390- Nexthops : []string {node .NodeMgmtPortIP },
391- Priority : intPriority ,
392- })
393- expectedOVNClusterRouter .Policies = append (expectedOVNClusterRouter .Policies , []string {"policy-based-route-1-UUID" , "policy-based-route-2-UUID" }... )
386+ expectedOVNClusterRouter .Policies = append (expectedOVNClusterRouter .Policies , "policy-based-route-1-UUID" )
387+
388+ if config .Gateway .Mode == config .GatewayModeShared {
389+ testData = append (testData , & nbdb.LogicalRouterPolicy {
390+ UUID : "policy-based-route-2-UUID" ,
391+ Action : nbdb .LogicalRouterPolicyActionReroute ,
392+ Match : matchStr2 ,
393+ Nexthops : []string {node .NodeMgmtPortIP },
394+ Priority : intPriority ,
395+ })
396+ expectedOVNClusterRouter .Policies = append (expectedOVNClusterRouter .Policies , "policy-based-route-2-UUID" )
397+
398+ }
394399 testData = append (testData , expectedClusterPortGroup )
395400 testData = append (testData , expectedClusterRouterPortGroup )
396401 return testData
@@ -1093,9 +1098,6 @@ var _ = ginkgo.Describe("Default network controller operations", func() {
10931098 }()
10941099
10951100 oc .SCTPSupport = true
1096-
1097- expectedNBDatabaseState = addNodeLogicalFlowsWithServiceController (nil , expectedOVNClusterRouter , expectedNodeSwitch ,
1098- expectedClusterRouterPortGroup , expectedClusterPortGroup , & node1 , oc .svcTemplateSupport )
10991101 })
11001102
11011103 ginkgo .AfterEach (func () {
@@ -1113,7 +1115,11 @@ var _ = ginkgo.Describe("Default network controller operations", func() {
11131115 clusterSubnets := startFakeController (oc , wg )
11141116
11151117 subnet := ovntest .MustParseIPNet (node1 .NodeSubnet )
1116- err = oc .syncDefaultGatewayLogicalNetwork (& testNode , l3GatewayConfig , []* net.IPNet {subnet }, []string {node1 .NodeIP })
1118+
1119+ // Get node with the latest annotations set
1120+ testNode , err := fakeClient .KubeClient .CoreV1 ().Nodes ().Get (context .TODO (), testNode .Name , metav1.GetOptions {})
1121+ gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
1122+ err = oc .syncNodeGateway (testNode )
11171123 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
11181124 retry .InitRetryObjWithAdd (testNode , testNode .Name , oc .retryNodes )
11191125 gomega .Expect (retry .RetryObjsLen (oc .retryNodes )).To (gomega .Equal (1 ))
@@ -1129,6 +1135,8 @@ var _ = ginkgo.Describe("Default network controller operations", func() {
11291135 gomega .Expect (retry .CheckRetryObj (testNode .Name , oc .retryNodes )).To (gomega .BeFalse ())
11301136
11311137 skipSnat := false
1138+ expectedNBDatabaseState = addNodeLogicalFlowsWithServiceController (nil , expectedOVNClusterRouter , expectedNodeSwitch ,
1139+ expectedClusterRouterPortGroup , expectedClusterPortGroup , & node1 , oc .svcTemplateSupport )
11321140 expectedNBDatabaseState = generateGatewayInitExpectedNB (expectedNBDatabaseState , expectedOVNClusterRouter ,
11331141 expectedNodeSwitch , node1 .Name , clusterSubnets , []* net.IPNet {subnet }, l3GatewayConfig ,
11341142 []* net.IPNet {classBIPAddress (node1 .LrpIP )}, []* net.IPNet {classBIPAddress (node1 .DrLrpIP )},
@@ -1171,11 +1179,13 @@ var _ = ginkgo.Describe("Default network controller operations", func() {
11711179 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
11721180 err = oc .syncNodeManagementPortDefault (node , node .Name , []* net.IPNet {subnet })
11731181 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
1174- err = oc .syncDefaultGatewayLogicalNetwork (node , l3GatewayConfig , [] * net. IPNet { subnet }, [] string { node1 . NodeIP } )
1182+ err = oc .syncNodeGateway (node )
11751183 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
11761184 ginkgo .By ("Stale route should have been removed" )
11771185
11781186 skipSnat := false
1187+ expectedNBDatabaseState = addNodeLogicalFlowsWithServiceController (nil , expectedOVNClusterRouter , expectedNodeSwitch ,
1188+ expectedClusterRouterPortGroup , expectedClusterPortGroup , & node1 , oc .svcTemplateSupport )
11791189 expectedNBDatabaseState = generateGatewayInitExpectedNB (expectedNBDatabaseState , expectedOVNClusterRouter ,
11801190 expectedNodeSwitch , node1 .Name , clusterSubnets , []* net.IPNet {subnet }, l3GatewayConfig ,
11811191 []* net.IPNet {classBIPAddress (node1 .LrpIP )}, []* net.IPNet {classBIPAddress (node1 .DrLrpIP )},
@@ -1202,10 +1212,15 @@ var _ = ginkgo.Describe("Default network controller operations", func() {
12021212 clusterSubnets := startFakeController (oc , wg )
12031213
12041214 subnet := ovntest .MustParseIPNet (node1 .NodeSubnet )
1205- err = oc .syncDefaultGatewayLogicalNetwork (& testNode , l3GatewayConfig , []* net.IPNet {subnet }, []string {node1 .NodeIP })
1215+ // Get node with the latest annotations set
1216+ testNode , err := fakeClient .KubeClient .CoreV1 ().Nodes ().Get (context .TODO (), testNode .Name , metav1.GetOptions {})
1217+ gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
1218+ err = oc .syncNodeGateway (testNode )
12061219 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
12071220
12081221 skipSnat := false
1222+ expectedNBDatabaseState = addNodeLogicalFlowsWithServiceController (nil , expectedOVNClusterRouter , expectedNodeSwitch ,
1223+ expectedClusterRouterPortGroup , expectedClusterPortGroup , & node1 , oc .svcTemplateSupport )
12091224 expectedNBDatabaseState = generateGatewayInitExpectedNB (expectedNBDatabaseState , expectedOVNClusterRouter ,
12101225 expectedNodeSwitch , node1 .Name , clusterSubnets , []* net.IPNet {subnet }, l3GatewayConfig ,
12111226 []* net.IPNet {classBIPAddress (node1 .LrpIP )}, []* net.IPNet {classBIPAddress (node1 .DrLrpIP )},
@@ -1260,14 +1275,19 @@ var _ = ginkgo.Describe("Default network controller operations", func() {
12601275 // ensure the stale SNAT's are cleaned up
12611276 gomega .Expect (oc .StartServiceController (wg , false )).To (gomega .Succeed ())
12621277 subnet := ovntest .MustParseIPNet (node1 .NodeSubnet )
1263- err = oc .syncDefaultGatewayLogicalNetwork (& testNode , l3GatewayConfig , []* net.IPNet {subnet }, []string {node1 .NodeIP })
1278+ // Get node with the latest annotations set
1279+ testNode , err := fakeClient .KubeClient .CoreV1 ().Nodes ().Get (context .TODO (), testNode .Name , metav1.GetOptions {})
1280+ gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
1281+ err = oc .syncNodeGateway (testNode )
12641282 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
12651283
12661284 skipSnat := config .Gateway .DisableSNATMultipleGWs || oc .isPodNetworkAdvertisedAtNode (node1 .Name )
12671285 var clusterSubnets []* net.IPNet
12681286 for _ , clusterSubnet := range config .Default .ClusterSubnets {
12691287 clusterSubnets = append (clusterSubnets , clusterSubnet .CIDR )
12701288 }
1289+ expectedNBDatabaseState = addNodeLogicalFlowsWithServiceController (nil , expectedOVNClusterRouter , expectedNodeSwitch ,
1290+ expectedClusterRouterPortGroup , expectedClusterPortGroup , & node1 , oc .svcTemplateSupport )
12711291 expectedNBDatabaseState = generateGatewayInitExpectedNB (expectedNBDatabaseState , expectedOVNClusterRouter ,
12721292 expectedNodeSwitch , node1 .Name , clusterSubnets , []* net.IPNet {subnet }, l3GatewayConfig ,
12731293 []* net.IPNet {classBIPAddress (node1 .LrpIP )}, []* net.IPNet {classBIPAddress (node1 .DrLrpIP )},
@@ -1349,6 +1369,8 @@ var _ = ginkgo.Describe("Default network controller operations", func() {
13491369
13501370 skipSnat := false
13511371 subnet := ovntest .MustParseIPNet (node1 .NodeSubnet )
1372+ expectedNBDatabaseState = addNodeLogicalFlowsWithServiceController (nil , expectedOVNClusterRouter , expectedNodeSwitch ,
1373+ expectedClusterRouterPortGroup , expectedClusterPortGroup , & node1 , oc .svcTemplateSupport )
13521374 expectedNBDatabaseState = generateGatewayInitExpectedNB (expectedNBDatabaseState , expectedOVNClusterRouter ,
13531375 expectedNodeSwitch , node1 .Name , clusterSubnets , []* net.IPNet {subnet }, l3GatewayConfig ,
13541376 []* net.IPNet {classBIPAddress (node1 .LrpIP )}, []* net.IPNet {classBIPAddress (node1 .DrLrpIP )},
@@ -1394,6 +1416,8 @@ var _ = ginkgo.Describe("Default network controller operations", func() {
13941416
13951417 skipSnat := false
13961418 subnet := ovntest .MustParseIPNet (node1 .NodeSubnet )
1419+ expectedNBDatabaseState = addNodeLogicalFlowsWithServiceController (nil , expectedOVNClusterRouter , expectedNodeSwitch ,
1420+ expectedClusterRouterPortGroup , expectedClusterPortGroup , & node1 , oc .svcTemplateSupport )
13971421 expectedNBDatabaseState = generateGatewayInitExpectedNB (expectedNBDatabaseState , expectedOVNClusterRouter ,
13981422 expectedNodeSwitch , node1 .Name , clusterSubnets , []* net.IPNet {subnet }, l3GatewayConfig ,
13991423 []* net.IPNet {classBIPAddress (node1 .LrpIP )}, []* net.IPNet {classBIPAddress (node1 .DrLrpIP )},
@@ -1459,13 +1483,10 @@ var _ = ginkgo.Describe("Default network controller operations", func() {
14591483 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
14601484 startFakeController (oc , wg )
14611485
1462- subnet := ovntest .MustParseIPNet (node1 .NodeSubnet )
1463- nodeHostAddrs := []string {}
1464- for _ , nodeHostCIDR := range nodeHostCIDRs .UnsortedList () {
1465- ip , _ , _ := net .ParseCIDR (nodeHostCIDR )
1466- nodeHostAddrs = append (nodeHostAddrs , ip .String ())
1467- }
1468- err = oc .syncDefaultGatewayLogicalNetwork (& testNode , l3GatewayConfig , []* net.IPNet {subnet }, nodeHostAddrs )
1486+ // Get node with the latest annotations set
1487+ testNode , err := fakeClient .KubeClient .CoreV1 ().Nodes ().Get (context .TODO (), testNode .Name , metav1.GetOptions {})
1488+ gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
1489+ err = oc .syncNodeGateway (testNode )
14691490 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
14701491
14711492 // inject transient problem, nbdb is down
@@ -1558,13 +1579,9 @@ var _ = ginkgo.Describe("Default network controller operations", func() {
15581579 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
15591580 startFakeController (oc , wg )
15601581
1561- subnet := ovntest .MustParseIPNet (node1 .NodeSubnet )
1562- nodeHostAddrs := []string {}
1563- for _ , nodeHostCIDR := range nodeHostCIDRs .UnsortedList () {
1564- ip , _ , _ := net .ParseCIDR (nodeHostCIDR )
1565- nodeHostAddrs = append (nodeHostAddrs , ip .String ())
1566- }
1567- err = oc .syncDefaultGatewayLogicalNetwork (& testNode , l3GatewayConfig , []* net.IPNet {subnet }, nodeHostAddrs )
1582+ testNode , err := fakeClient .KubeClient .CoreV1 ().Nodes ().Get (context .TODO (), testNode .Name , metav1.GetOptions {})
1583+ gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
1584+ err = oc .syncNodeGateway (testNode )
15681585 gomega .Expect (err ).NotTo (gomega .HaveOccurred ())
15691586
15701587 // Delete the node's gateway Logical Router Port to force node delete to handle a
0 commit comments