Skip to content

Commit cc8e9c8

Browse files
committed
[master] reuse SecondaryL3GatewayConfig for master gateway configuration
Move gateway-related info gathering to nodeGatewayConfig function similar to secondary controllers. syncNodeGateway was always called with hostSubnets=nil, remove. Update UT: master_test was always passing hostAddrs to syncDefaultGatewayLogicalNetwork, but the real code only sets them for shared GW mode. Update addNodeLogicalFlowsHelper to account for that, move its call from BeforeEach to the test, as GW mode is not set in BeforeEach. Signed-off-by: Nadia Pinaeva <[email protected]>
1 parent 1d9b4cf commit cc8e9c8

File tree

5 files changed

+111
-110
lines changed

5 files changed

+111
-110
lines changed

go-controller/pkg/ovn/hybrid_test.go

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -335,10 +335,6 @@ var _ = ginkgo.Describe("Hybrid SDN Master Operations", func() {
335335

336336
updatedNode, err := fakeClient.KubeClient.CoreV1().Nodes().Get(context.TODO(), testNode.Name, metav1.GetOptions{})
337337
gomega.Expect(err).NotTo(gomega.HaveOccurred())
338-
l3GatewayConfig, err := util.ParseNodeL3GatewayAnnotation(updatedNode)
339-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
340-
hostAddrs, err := util.ParseNodeHostCIDRsDropNetMask(updatedNode)
341-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
342338

343339
f, err = factory.NewMasterWatchFactory(fakeClient.GetMasterClientset())
344340
gomega.Expect(err).NotTo(gomega.HaveOccurred())
@@ -429,7 +425,7 @@ var _ = ginkgo.Describe("Hybrid SDN Master Operations", func() {
429425
}, 2).Should(gomega.HaveKeyWithValue(hotypes.HybridOverlayDRIP, nodeHOIP))
430426

431427
subnet := ovntest.MustParseIPNet(node1.NodeSubnet)
432-
err = clusterController.syncDefaultGatewayLogicalNetwork(updatedNode, l3GatewayConfig, []*net.IPNet{subnet}, hostAddrs.UnsortedList())
428+
err = clusterController.syncNodeGateway(updatedNode)
433429
gomega.Expect(err).NotTo(gomega.HaveOccurred())
434430

435431
var clusterSubnets []*net.IPNet
@@ -617,10 +613,6 @@ var _ = ginkgo.Describe("Hybrid SDN Master Operations", func() {
617613

618614
updatedNode, err := fakeClient.KubeClient.CoreV1().Nodes().Get(context.TODO(), testNode.Name, metav1.GetOptions{})
619615
gomega.Expect(err).NotTo(gomega.HaveOccurred())
620-
l3GatewayConfig, err := util.ParseNodeL3GatewayAnnotation(updatedNode)
621-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
622-
hostAddrs, err := util.ParseNodeHostCIDRsDropNetMask(updatedNode)
623-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
624616

625617
f, err = factory.NewMasterWatchFactory(fakeClient.GetMasterClientset())
626618
gomega.Expect(err).NotTo(gomega.HaveOccurred())
@@ -705,7 +697,7 @@ var _ = ginkgo.Describe("Hybrid SDN Master Operations", func() {
705697
setupCOPP := true
706698
setupClusterController(clusterController, setupCOPP)
707699

708-
err = clusterController.syncDefaultGatewayLogicalNetwork(updatedNode, l3GatewayConfig, []*net.IPNet{subnet}, hostAddrs.UnsortedList())
700+
err = clusterController.syncNodeGateway(updatedNode)
709701
gomega.Expect(err).NotTo(gomega.HaveOccurred())
710702

711703
//assuming all the pods have finished processing
@@ -826,10 +818,6 @@ var _ = ginkgo.Describe("Hybrid SDN Master Operations", func() {
826818

827819
updatedNode, err := fakeClient.KubeClient.CoreV1().Nodes().Get(context.TODO(), testNode.Name, metav1.GetOptions{})
828820
gomega.Expect(err).NotTo(gomega.HaveOccurred())
829-
l3GatewayConfig, err := util.ParseNodeL3GatewayAnnotation(updatedNode)
830-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
831-
hostAddrs, err := util.ParseNodeHostCIDRsDropNetMask(updatedNode)
832-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
833821

834822
f, err = factory.NewMasterWatchFactory(fakeClient.GetMasterClientset())
835823
gomega.Expect(err).NotTo(gomega.HaveOccurred())
@@ -912,7 +900,7 @@ var _ = ginkgo.Describe("Hybrid SDN Master Operations", func() {
912900
}, 2).Should(gomega.HaveKeyWithValue(hotypes.HybridOverlayDRMAC, nodeHOMAC))
913901

914902
subnet := ovntest.MustParseIPNet(node1.NodeSubnet)
915-
err = clusterController.syncDefaultGatewayLogicalNetwork(updatedNode, l3GatewayConfig, []*net.IPNet{subnet}, hostAddrs.UnsortedList())
903+
err = clusterController.syncNodeGateway(updatedNode)
916904
gomega.Expect(err).NotTo(gomega.HaveOccurred())
917905

918906
var clusterSubnets []*net.IPNet
@@ -1124,10 +1112,6 @@ var _ = ginkgo.Describe("Hybrid SDN Master Operations", func() {
11241112

11251113
updatedNode, err := fakeClient.KubeClient.CoreV1().Nodes().Get(context.TODO(), testNode1.Name, metav1.GetOptions{})
11261114
gomega.Expect(err).NotTo(gomega.HaveOccurred())
1127-
l3GatewayConfig, err := util.ParseNodeL3GatewayAnnotation(updatedNode)
1128-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
1129-
hostAddrs, err := util.ParseNodeHostCIDRsDropNetMask(updatedNode)
1130-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
11311115

11321116
f, err = factory.NewMasterWatchFactory(fakeClient.GetMasterClientset())
11331117
gomega.Expect(err).NotTo(gomega.HaveOccurred())
@@ -1214,8 +1198,7 @@ var _ = ginkgo.Describe("Hybrid SDN Master Operations", func() {
12141198
}, 2).Should(gomega.HaveKeyWithValue(hotypes.HybridOverlayDRMAC, nodeHOMAC))
12151199

12161200
//ensure hybrid overlay elements have been added
1217-
subnet := ovntest.MustParseIPNet(node1.NodeSubnet)
1218-
err = clusterController.syncDefaultGatewayLogicalNetwork(updatedNode, l3GatewayConfig, []*net.IPNet{subnet}, hostAddrs.UnsortedList())
1201+
err = clusterController.syncNodeGateway(updatedNode)
12191202
gomega.Expect(err).NotTo(gomega.HaveOccurred())
12201203

12211204
gomega.Eventually(func() ([]*nbdb.LogicalRouterStaticRoute, error) {
@@ -1337,10 +1320,6 @@ var _ = ginkgo.Describe("Hybrid SDN Master Operations", func() {
13371320

13381321
updatedNode, err := fakeClient.KubeClient.CoreV1().Nodes().Get(context.TODO(), testNode.Name, metav1.GetOptions{})
13391322
gomega.Expect(err).NotTo(gomega.HaveOccurred())
1340-
l3GatewayConfig, err := util.ParseNodeL3GatewayAnnotation(updatedNode)
1341-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
1342-
hostAddrs, err := util.ParseNodeHostCIDRsDropNetMask(updatedNode)
1343-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
13441323

13451324
f, err = factory.NewMasterWatchFactory(fakeClient.GetMasterClientset())
13461325
gomega.Expect(err).NotTo(gomega.HaveOccurred())
@@ -1419,8 +1398,7 @@ var _ = ginkgo.Describe("Hybrid SDN Master Operations", func() {
14191398
return updatedNode.Annotations, nil
14201399
}, 2).Should(gomega.HaveKeyWithValue(hotypes.HybridOverlayDRMAC, nodeHOMAC))
14211400

1422-
subnet := ovntest.MustParseIPNet(node1.NodeSubnet)
1423-
err = clusterController.syncDefaultGatewayLogicalNetwork(updatedNode, l3GatewayConfig, []*net.IPNet{subnet}, hostAddrs.UnsortedList())
1401+
err = clusterController.syncNodeGateway(updatedNode)
14241402
gomega.Expect(err).NotTo(gomega.HaveOccurred())
14251403

14261404
// switch the node to a ovn node

go-controller/pkg/ovn/master.go

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ const (
3333
OvnNodeAnnotationRetryTimeout = 1 * time.Second
3434
)
3535

36+
type L3GatewayConfig struct {
37+
config *util.L3GatewayConfig
38+
hostSubnets []*net.IPNet
39+
clusterSubnets []*net.IPNet
40+
gwLRPJoinIPs []*net.IPNet
41+
hostAddrs []string
42+
externalIPs []net.IP
43+
}
44+
3645
// SetupMaster creates the central router and load-balancers for the network
3746
func (oc *DefaultNetworkController) SetupMaster() error {
3847
// Create default Control Plane Protection (COPP) entry for routers
@@ -82,17 +91,35 @@ func (oc *DefaultNetworkController) syncNodeManagementPortDefault(node *corev1.N
8291
return err
8392
}
8493

85-
func (oc *DefaultNetworkController) syncDefaultGatewayLogicalNetwork(
86-
node *corev1.Node,
87-
l3GatewayConfig *util.L3GatewayConfig,
88-
hostSubnets []*net.IPNet,
89-
hostAddrs []string,
90-
) error {
94+
func (oc *DefaultNetworkController) nodeGatewayConfig(node *corev1.Node) (*L3GatewayConfig, error) {
95+
l3GatewayConfig, err := util.ParseNodeL3GatewayAnnotation(node)
96+
if err != nil {
97+
return nil, err
98+
}
99+
100+
externalIPs := make([]net.IP, len(l3GatewayConfig.IPAddresses))
101+
for i, ip := range l3GatewayConfig.IPAddresses {
102+
externalIPs[i] = ip.IP
103+
}
104+
105+
var hostAddrs []string
106+
if config.Gateway.Mode == config.GatewayModeShared {
107+
hostAddrs, err = util.GetNodeHostAddrs(node)
108+
if err != nil && !util.IsAnnotationNotSetError(err) {
109+
return nil, fmt.Errorf("failed to get host CIDRs for node: %s: %v", node.Name, err)
110+
}
111+
}
112+
91113
var clusterSubnets []*net.IPNet
92114
for _, clusterSubnet := range config.Default.ClusterSubnets {
93115
clusterSubnets = append(clusterSubnets, clusterSubnet.CIDR)
94116
}
95117

118+
hostSubnets, err := util.ParseNodeHostSubnetAnnotation(node, oc.GetNetworkName())
119+
if err != nil {
120+
return nil, err
121+
}
122+
96123
gwLRPIPs, err := util.ParseNodeGatewayRouterJoinAddrs(node, oc.GetNetworkName())
97124
if err != nil {
98125
if util.IsAnnotationNotSetError(err) {
@@ -101,26 +128,19 @@ func (oc *DefaultNetworkController) syncDefaultGatewayLogicalNetwork(
101128
var err1 error
102129
gwLRPIPs, err1 = util.ParseNodeGatewayRouterLRPAddrs(node)
103130
if err1 != nil {
104-
return fmt.Errorf("failed to get join switch port IP address for node %s: %v/%v", node.Name, err, err1)
131+
return nil, fmt.Errorf("failed to get join switch port IP address for node %s: %v/%v", node.Name, err, err1)
105132
}
106133
}
107134
}
108135

109-
externalIPs := make([]net.IP, len(l3GatewayConfig.IPAddresses))
110-
for i, ip := range l3GatewayConfig.IPAddresses {
111-
externalIPs[i] = ip.IP
112-
}
113-
114-
return oc.newGatewayManager(node.Name).syncGatewayLogicalNetwork(
115-
node,
116-
l3GatewayConfig,
117-
hostSubnets,
118-
hostAddrs,
119-
clusterSubnets,
120-
gwLRPIPs,
121-
oc.ovnClusterLRPToJoinIfAddrs,
122-
externalIPs,
123-
)
136+
return &L3GatewayConfig{
137+
config: l3GatewayConfig,
138+
hostSubnets: hostSubnets,
139+
clusterSubnets: clusterSubnets,
140+
gwLRPJoinIPs: gwLRPIPs,
141+
hostAddrs: hostAddrs,
142+
externalIPs: externalIPs,
143+
}, nil
124144
}
125145

126146
func (oc *DefaultNetworkController) addNode(node *corev1.Node) ([]*net.IPNet, error) {
@@ -596,7 +616,7 @@ func (oc *DefaultNetworkController) addUpdateLocalNodeEvent(node *corev1.Node, n
596616
}
597617

598618
if nSyncs.syncGw {
599-
err := oc.syncNodeGateway(node, nil)
619+
err := oc.syncNodeGateway(node)
600620
if err != nil {
601621
errs = append(errs, err)
602622
oc.gatewaysFailed.Store(node.Name, true)

go-controller/pkg/ovn/master_test.go

Lines changed: 46 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)