Skip to content

Commit 532c7d0

Browse files
committed
Removes stale code relying on networkID from nodes/caches
The networkID is stored in the NAD itself, and the network manager code in OVNK will refuse the start the network controller if it does not have the networkID. For backwards compatibility, when the NAD syncAll happens it checks for the networkID on a node and then copies it as well to the NAD in case it was missing previously. There were stale functions in these network controllers that were relying on setting a cached struct value of networkID, derived from either the NAD or from the annotation on nodes at runtime. This is duplicate information as the controllers all hold a reference to the NAD itself, which is updated through network controller reconicliation. This commit removes controller struct variables that store networkID, and instead rely on the embedded NAD to get it. Also, removes network controllers looking up networkID from nodes. The controllers should all have the networkID on start up derived from the associated NAD. Signed-off-by: Tim Rozet <[email protected]>
1 parent 167945e commit 532c7d0

14 files changed

+76
-260
lines changed

go-controller/pkg/node/gateway_udn.go

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,6 @@ const (
5050
type UserDefinedNetworkGateway struct {
5151
// network information
5252
util.NetInfo
53-
// stores the networkID of this network
54-
networkID int
5553
// node that its programming things on
5654
node *corev1.Node
5755
nodeLister listers.NodeLister
@@ -222,7 +220,7 @@ func setBridgeNetworkOfPorts(bridge *bridgeConfiguration, netName string) error
222220
return netConfig.setBridgeNetworkOfPortsInternal()
223221
}
224222

225-
func NewUserDefinedNetworkGateway(netInfo util.NetInfo, networkID int, node *corev1.Node, nodeLister listers.NodeLister,
223+
func NewUserDefinedNetworkGateway(netInfo util.NetInfo, node *corev1.Node, nodeLister listers.NodeLister,
226224
kubeInterface kube.Interface, vrfManager *vrfmanager.Controller, ruleManager *iprulemanager.Controller,
227225
defaultNetworkGateway Gateway) (*UserDefinedNetworkGateway, error) {
228226
// Generate a per network conntrack mark and masquerade IPs to be used for egress traffic.
@@ -231,6 +229,7 @@ func NewUserDefinedNetworkGateway(netInfo util.NetInfo, networkID int, node *cor
231229
v6MasqIPs *udn.MasqueradeIPs
232230
err error
233231
)
232+
networkID := netInfo.GetNetworkID()
234233
masqCTMark := ctMarkUDNBase + uint(networkID)
235234
pktMark := pktMarkBase + uint(networkID)
236235
if config.IPv4Mode {
@@ -253,7 +252,6 @@ func NewUserDefinedNetworkGateway(netInfo util.NetInfo, networkID int, node *cor
253252

254253
return &UserDefinedNetworkGateway{
255254
NetInfo: netInfo,
256-
networkID: networkID,
257255
node: node,
258256
nodeLister: nodeLister,
259257
kubeInterface: kubeInterface,
@@ -347,7 +345,7 @@ func (udng *UserDefinedNetworkGateway) AddNetwork() error {
347345
return fmt.Errorf("failed to update IP rules for network %s: %w", udng.GetNetworkName(), err)
348346
}
349347
// add loose mode for rp filter on management port
350-
mgmtPortName := util.GetNetworkScopedK8sMgmtHostIntfName(uint(udng.networkID))
348+
mgmtPortName := util.GetNetworkScopedK8sMgmtHostIntfName(uint(udng.GetNetworkID()))
351349
if err := addRPFilterLooseModeForManagementPort(mgmtPortName); err != nil {
352350
return fmt.Errorf("could not set loose mode for reverse path filtering on management port %s: %v", mgmtPortName, err)
353351
}
@@ -399,7 +397,7 @@ func (udng *UserDefinedNetworkGateway) AddNetwork() error {
399397
}
400398

401399
func (udng *UserDefinedNetworkGateway) GetNetworkRuleMetadata() string {
402-
return fmt.Sprintf("%s-%d", udng.GetNetworkName(), udng.networkID)
400+
return fmt.Sprintf("%s-%d", udng.GetNetworkName(), udng.GetNetworkID())
403401
}
404402

405403
// DelNetwork will be responsible to remove all plumbings
@@ -437,7 +435,7 @@ func (udng *UserDefinedNetworkGateway) DelNetwork() error {
437435
// Returns a netlink Link which is the UDN management port interface along with its MAC address
438436
func (udng *UserDefinedNetworkGateway) addUDNManagementPort() (netlink.Link, error) {
439437
var err error
440-
interfaceName := util.GetNetworkScopedK8sMgmtHostIntfName(uint(udng.networkID))
438+
interfaceName := util.GetNetworkScopedK8sMgmtHostIntfName(uint(udng.GetNetworkID()))
441439
networkLocalSubnets, err := udng.getLocalSubnets()
442440
if err != nil {
443441
return nil, err
@@ -532,7 +530,7 @@ func (udng *UserDefinedNetworkGateway) addUDNManagementPortIPs(mpLink netlink.Li
532530
// STEP2: deletes the mac address from the annotation
533531
func (udng *UserDefinedNetworkGateway) deleteUDNManagementPort() error {
534532
var err error
535-
interfaceName := util.GetNetworkScopedK8sMgmtHostIntfName(uint(udng.networkID))
533+
interfaceName := util.GetNetworkScopedK8sMgmtHostIntfName(uint(udng.GetNetworkID()))
536534
// STEP1
537535
stdout, stderr, err := util.RunOVSVsctl(
538536
"--", "--if-exists", "del-port", "br-int", interfaceName,
@@ -673,7 +671,7 @@ func (udng *UserDefinedNetworkGateway) getV4MasqueradeIP() (*net.IPNet, error) {
673671
if !config.IPv4Mode {
674672
return nil, nil
675673
}
676-
masqIPs, err := udn.AllocateV4MasqueradeIPs(udng.networkID)
674+
masqIPs, err := udn.AllocateV4MasqueradeIPs(udng.GetNetworkID())
677675
if err != nil {
678676
return nil, fmt.Errorf("failed to allocate masquerade IPs for v4 stack for network %s: %w", udng.GetNetworkName(), err)
679677
}
@@ -685,7 +683,7 @@ func (udng *UserDefinedNetworkGateway) getV6MasqueradeIP() (*net.IPNet, error) {
685683
if !config.IPv6Mode {
686684
return nil, nil
687685
}
688-
masqIPs, err := udn.AllocateV6MasqueradeIPs(udng.networkID)
686+
masqIPs, err := udn.AllocateV6MasqueradeIPs(udng.GetNetworkID())
689687
if err != nil {
690688
return nil, fmt.Errorf("failed to allocate masquerade IPs for v6 stack for network %s: %w", udng.GetNetworkName(), err)
691689
}
@@ -856,7 +854,7 @@ func (udng *UserDefinedNetworkGateway) doReconcile() error {
856854
// updateUDNVRFIPRule updates IP rules for a network depending on whether the
857855
// network is advertised or not
858856
func (udng *UserDefinedNetworkGateway) updateUDNVRFIPRule() error {
859-
interfaceName := util.GetNetworkScopedK8sMgmtHostIntfName(uint(udng.networkID))
857+
interfaceName := util.GetNetworkScopedK8sMgmtHostIntfName(uint(udng.GetNetworkID()))
860858
mplink, err := util.LinkByName(interfaceName)
861859
if err != nil {
862860
return fmt.Errorf("unable to get link for %s, error: %v", interfaceName, err)

go-controller/pkg/node/gateway_udn_test.go

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -386,9 +386,10 @@ var _ = Describe("UserDefinedNetworkGateway", func() {
386386
}
387387
nad := ovntest.GenerateNAD(netName, "rednad", "greenamespace",
388388
types.Layer3Topology, "100.128.0.0/16/24,ae70::/60/64", types.NetworkRolePrimary)
389+
ovntest.AnnotateNADWithNetworkID(netID, nad)
389390
netInfo, err := util.ParseNADInfo(nad)
390391
Expect(err).NotTo(HaveOccurred())
391-
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, 3, node, factoryMock.NodeCoreInformer().Lister(),
392+
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, node, factoryMock.NodeCoreInformer().Lister(),
392393
&kubeMock, vrf, nil, &gateway{})
393394
Expect(err).NotTo(HaveOccurred())
394395
_, ipNet, err := net.ParseCIDR(v4NodeSubnet)
@@ -430,9 +431,10 @@ var _ = Describe("UserDefinedNetworkGateway", func() {
430431
// must be defined so that the primary user defined network can match the ip families of the underlying cluster
431432
config.IPv4Mode = true
432433
config.IPv6Mode = true
434+
ovntest.AnnotateNADWithNetworkID(netID, nad)
433435
netInfo, err := util.ParseNADInfo(nad)
434436
Expect(err).NotTo(HaveOccurred())
435-
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, 3, node, factoryMock.NodeCoreInformer().Lister(),
437+
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, node, factoryMock.NodeCoreInformer().Lister(),
436438
&kubeMock, vrf, nil, &gateway{})
437439
Expect(err).NotTo(HaveOccurred())
438440
getDeletionFakeOVSCommands(fexec, mgtPort)
@@ -461,9 +463,10 @@ var _ = Describe("UserDefinedNetworkGateway", func() {
461463
}
462464
nad := ovntest.GenerateNAD(netName, "rednad", "greenamespace",
463465
types.Layer2Topology, "100.128.0.0/16,ae70::/60", types.NetworkRolePrimary)
466+
ovntest.AnnotateNADWithNetworkID(netID, nad)
464467
netInfo, err := util.ParseNADInfo(nad)
465468
Expect(err).NotTo(HaveOccurred())
466-
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, 3, node, factoryMock.NodeCoreInformer().Lister(),
469+
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, node, factoryMock.NodeCoreInformer().Lister(),
467470
&kubeMock, vrf, nil, &gateway{})
468471
Expect(err).NotTo(HaveOccurred())
469472
_, ipNet, err := net.ParseCIDR(v4NodeSubnet)
@@ -504,9 +507,10 @@ var _ = Describe("UserDefinedNetworkGateway", func() {
504507
// must be defined so that the primary user defined network can match the ip families of the underlying cluster
505508
config.IPv4Mode = true
506509
config.IPv6Mode = true
510+
ovntest.AnnotateNADWithNetworkID(netID, nad)
507511
netInfo, err := util.ParseNADInfo(nad)
508512
Expect(err).NotTo(HaveOccurred())
509-
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, 3, node, factoryMock.NodeCoreInformer().Lister(),
513+
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, node, factoryMock.NodeCoreInformer().Lister(),
510514
&kubeMock, vrf, nil, &gateway{})
511515
Expect(err).NotTo(HaveOccurred())
512516
getDeletionFakeOVSCommands(fexec, mgtPort)
@@ -544,6 +548,7 @@ var _ = Describe("UserDefinedNetworkGateway", func() {
544548
}
545549
nad := ovntest.GenerateNAD(netName, "rednad", "greenamespace",
546550
types.Layer3Topology, "100.128.0.0/16/24,ae70::/60/64", types.NetworkRolePrimary)
551+
ovntest.AnnotateNADWithNetworkID(netID, nad)
547552
netInfo, err := util.ParseNADInfo(nad)
548553
Expect(err).NotTo(HaveOccurred())
549554
setUpGatewayFakeOVSCommands(fexec)
@@ -656,7 +661,7 @@ var _ = Describe("UserDefinedNetworkGateway", func() {
656661
err = localGw.initFunc()
657662
Expect(err).NotTo(HaveOccurred())
658663
Expect(localGw.Init(stop, wg)).To(Succeed())
659-
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, 3, node, wf.NodeCoreInformer().Lister(),
664+
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, node, wf.NodeCoreInformer().Lister(),
660665
&kubeMock, vrf, ipRulesManager, localGw)
661666
Expect(err).NotTo(HaveOccurred())
662667
// we cannot start the shared gw directly because it will spawn a goroutine that may not be bound to the test netns
@@ -768,6 +773,7 @@ var _ = Describe("UserDefinedNetworkGateway", func() {
768773
}
769774
nad := ovntest.GenerateNAD(netName, "rednad", "greenamespace",
770775
types.Layer2Topology, "100.128.0.0/16,ae70::/64", types.NetworkRolePrimary)
776+
ovntest.AnnotateNADWithNetworkID(netID, nad)
771777
netInfo, err := util.ParseNADInfo(nad)
772778
Expect(err).NotTo(HaveOccurred())
773779
_, ipNet, err := net.ParseCIDR(v4NodeSubnet)
@@ -881,7 +887,7 @@ var _ = Describe("UserDefinedNetworkGateway", func() {
881887
wg := &sync.WaitGroup{}
882888
Expect(localGw.initFunc()).To(Succeed())
883889
Expect(localGw.Init(stop, wg)).To(Succeed())
884-
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, 3, node, wf.NodeCoreInformer().Lister(),
890+
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, node, wf.NodeCoreInformer().Lister(),
885891
&kubeMock, vrf, ipRulesManager, localGw)
886892
Expect(err).NotTo(HaveOccurred())
887893
// we cannot start the shared gw directly because it will spawn a goroutine that may not be bound to the test netns
@@ -984,9 +990,10 @@ var _ = Describe("UserDefinedNetworkGateway", func() {
984990
}
985991
nad := ovntest.GenerateNAD(netName, "rednad", "greenamespace",
986992
types.Layer3Topology, "100.128.0.0/16/24,ae70::/60/64", types.NetworkRolePrimary)
993+
ovntest.AnnotateNADWithNetworkID(netID, nad)
987994
netInfo, err := util.ParseNADInfo(nad)
988995
Expect(err).NotTo(HaveOccurred())
989-
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, 3, node, nil, nil, vrf, nil, &gateway{})
996+
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, node, nil, nil, vrf, nil, &gateway{})
990997
Expect(err).NotTo(HaveOccurred())
991998
getVRFCreationFakeOVSCommands(fexec)
992999
err = testNS.Do(func(ns.NetNS) error {
@@ -1052,9 +1059,10 @@ var _ = Describe("UserDefinedNetworkGateway", func() {
10521059
}
10531060
nad := ovntest.GenerateNAD(netName, "rednad", "greenamespace",
10541061
types.Layer3Topology, "100.128.0.0/16/24,ae70::/60/64", types.NetworkRolePrimary)
1062+
ovntest.AnnotateNADWithNetworkID(netID, nad)
10551063
netInfo, err := util.ParseNADInfo(nad)
10561064
Expect(err).NotTo(HaveOccurred())
1057-
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, 3, node, nil, nil, vrf, nil, &gateway{})
1065+
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, node, nil, nil, vrf, nil, &gateway{})
10581066
Expect(err).NotTo(HaveOccurred())
10591067
getVRFCreationFakeOVSCommands(fexec)
10601068
err = testNS.Do(func(ns.NetNS) error {
@@ -1269,9 +1277,10 @@ func TestConstructUDNVRFIPRules(t *testing.T) {
12691277
}
12701278
nad := ovntest.GenerateNAD("bluenet", "rednad", "greenamespace",
12711279
types.Layer3Topology, cidr, types.NetworkRolePrimary)
1280+
ovntest.AnnotateNADWithNetworkID("3", nad)
12721281
netInfo, err := util.ParseNADInfo(nad)
12731282
g.Expect(err).NotTo(HaveOccurred())
1274-
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, 3, node, nil, nil, nil, nil, &gateway{})
1283+
udnGateway, err := NewUserDefinedNetworkGateway(netInfo, node, nil, nil, nil, nil, &gateway{})
12751284
g.Expect(err).NotTo(HaveOccurred())
12761285
rules, delRules, err := udnGateway.constructUDNVRFIPRules(test.vrftableID)
12771286
g.Expect(err).ToNot(HaveOccurred())
@@ -1437,11 +1446,12 @@ func TestConstructUDNVRFIPRulesPodNetworkAdvertised(t *testing.T) {
14371446
}
14381447
nad := ovntest.GenerateNAD("bluenet", "rednad", "greenamespace",
14391448
types.Layer3Topology, cidr, types.NetworkRolePrimary)
1449+
ovntest.AnnotateNADWithNetworkID("3", nad)
14401450
netInfo, err := util.ParseNADInfo(nad)
14411451
g.Expect(err).ToNot(HaveOccurred())
14421452
mutableNetInfo := util.NewMutableNetInfo(netInfo)
14431453
mutableNetInfo.SetPodNetworkAdvertisedVRFs(map[string][]string{node.Name: {"bluenet"}})
1444-
udnGateway, err := NewUserDefinedNetworkGateway(mutableNetInfo, 3, node, nil, nil, nil, nil, &gateway{})
1454+
udnGateway, err := NewUserDefinedNetworkGateway(mutableNetInfo, node, nil, nil, nil, nil, &gateway{})
14451455
g.Expect(err).NotTo(HaveOccurred())
14461456
rules, delRules, err := udnGateway.constructUDNVRFIPRules(test.vrftableID)
14471457
g.Expect(err).ToNot(HaveOccurred())

go-controller/pkg/node/secondary_node_network_controller.go

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"sync"
77

88
"k8s.io/klog/v2"
9-
"k8s.io/utils/ptr"
109

1110
"github.com/ovn-org/ovn-kubernetes/go-controller/pkg/config"
1211
"github.com/ovn-org/ovn-kubernetes/go-controller/pkg/factory"
@@ -22,8 +21,6 @@ type SecondaryNodeNetworkController struct {
2221
BaseNodeNetworkController
2322
// pod events factory handler
2423
podHandler *factory.Handler
25-
// stores the networkID of this network
26-
networkID *int
2724
// responsible for programing gateway elements for this network
2825
gateway *UserDefinedNetworkGateway
2926
}
@@ -53,12 +50,8 @@ func NewSecondaryNodeNetworkController(
5350
return nil, fmt.Errorf("error retrieving node %s while creating node network controller for network %s: %v",
5451
snnc.name, netInfo.GetNetworkName(), err)
5552
}
56-
networkID, err := snnc.getNetworkID()
57-
if err != nil {
58-
return nil, fmt.Errorf("error retrieving network id for network %s: %v", netInfo.GetNetworkName(), err)
59-
}
6053

61-
snnc.gateway, err = NewUserDefinedNetworkGateway(snnc.GetNetInfo(), networkID, node,
54+
snnc.gateway, err = NewUserDefinedNetworkGateway(snnc.GetNetInfo(), node,
6255
snnc.watchFactory.NodeCoreInformer().Lister(), snnc.Kube, vrfManager, ruleManager, defaultNetworkGateway)
6356
if err != nil {
6457
return nil, fmt.Errorf("error creating UDN gateway for network %s: %v", netInfo.GetNetworkName(), err)
@@ -107,26 +100,6 @@ func (nc *SecondaryNodeNetworkController) Cleanup() error {
107100
return nil
108101
}
109102

110-
func (oc *SecondaryNodeNetworkController) getNetworkID() (int, error) {
111-
if oc.networkID == nil || *oc.networkID == util.InvalidID {
112-
oc.networkID = ptr.To(util.InvalidID)
113-
if netID := oc.GetNetworkID(); netID != util.InvalidID {
114-
*oc.networkID = netID
115-
return *oc.networkID, nil
116-
}
117-
118-
nodes, err := oc.watchFactory.GetNodes()
119-
if err != nil {
120-
return util.InvalidID, err
121-
}
122-
*oc.networkID, err = util.GetNetworkID(nodes, oc.GetNetInfo())
123-
if err != nil {
124-
return util.InvalidID, err
125-
}
126-
}
127-
return *oc.networkID, nil
128-
}
129-
130103
func (oc *SecondaryNodeNetworkController) shouldReconcileNetworkChange(old, new util.NetInfo) bool {
131104
wasUDNNetworkAdvertisedAtNode := util.IsPodNetworkAdvertisedAtNode(old, oc.name)
132105
isUDNNetworkAdvertisedAtNode := util.IsPodNetworkAdvertisedAtNode(new, oc.name)

go-controller/pkg/node/secondary_node_network_controller_test.go

Lines changed: 5 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"fmt"
66
"net"
7+
"strconv"
78
"sync"
89
"time"
910

@@ -14,10 +15,8 @@ import (
1415

1516
corev1 "k8s.io/api/core/v1"
1617
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
17-
"k8s.io/client-go/kubernetes/fake"
1818

1919
"github.com/ovn-org/ovn-kubernetes/go-controller/pkg/config"
20-
"github.com/ovn-org/ovn-kubernetes/go-controller/pkg/factory"
2120
factoryMocks "github.com/ovn-org/ovn-kubernetes/go-controller/pkg/factory/mocks"
2221
kubemocks "github.com/ovn-org/ovn-kubernetes/go-controller/pkg/kube/mocks"
2322
"github.com/ovn-org/ovn-kubernetes/go-controller/pkg/node/iprulemanager"
@@ -35,7 +34,8 @@ import (
3534

3635
var _ = Describe("SecondaryNodeNetworkController", func() {
3736
var (
38-
nad = ovntest.GenerateNAD("bluenet", "rednad", "greenamespace",
37+
networkID = "3"
38+
nad = ovntest.GenerateNAD("bluenet", "rednad", "greenamespace",
3939
types.Layer3Topology, "100.128.0.0/16", types.NetworkRolePrimary)
4040
fexec *ovntest.FakeExec
4141
mgtPortMAC string = "00:00:00:55:66:77" // dummy MAC used for fake commands
@@ -49,62 +49,12 @@ var _ = Describe("SecondaryNodeNetworkController", func() {
4949
// Set up a fake vsctl command mock interface
5050
fexec = ovntest.NewFakeExec()
5151
Expect(util.SetExec(fexec)).To(Succeed())
52+
ovntest.AnnotateNADWithNetworkID(networkID, nad)
5253
})
5354
AfterEach(func() {
5455
util.ResetRunner()
5556
})
5657

57-
It("should return networkID from one of the nodes in the cluster", func() {
58-
fakeClient := &util.OVNNodeClientset{
59-
KubeClient: fake.NewSimpleClientset(&corev1.Node{
60-
ObjectMeta: metav1.ObjectMeta{
61-
Name: "worker1",
62-
Annotations: map[string]string{
63-
"k8s.ovn.org/network-ids": `{"bluenet": "3"}`,
64-
},
65-
},
66-
}),
67-
}
68-
controller := SecondaryNodeNetworkController{}
69-
var err error
70-
controller.watchFactory, err = factory.NewNodeWatchFactory(fakeClient, "worker1")
71-
Expect(err).NotTo(HaveOccurred())
72-
Expect(controller.watchFactory.Start()).To(Succeed())
73-
74-
netInfo, err := util.ParseNADInfo(nad)
75-
Expect(err).NotTo(HaveOccurred())
76-
controller.ReconcilableNetInfo = util.NewReconcilableNetInfo(netInfo)
77-
78-
networkID, err := controller.getNetworkID()
79-
Expect(err).ToNot(HaveOccurred())
80-
Expect(networkID).To(Equal(3))
81-
})
82-
83-
It("should return invalid networkID if network not found", func() {
84-
fakeClient := &util.OVNNodeClientset{
85-
KubeClient: fake.NewSimpleClientset(&corev1.Node{
86-
ObjectMeta: metav1.ObjectMeta{
87-
Name: "worker1",
88-
Annotations: map[string]string{
89-
"k8s.ovn.org/network-ids": `{"othernet": "3"}`,
90-
},
91-
},
92-
}),
93-
}
94-
controller := SecondaryNodeNetworkController{}
95-
var err error
96-
controller.watchFactory, err = factory.NewNodeWatchFactory(fakeClient, "worker1")
97-
Expect(err).NotTo(HaveOccurred())
98-
Expect(controller.watchFactory.Start()).To(Succeed())
99-
100-
netInfo, err := util.ParseNADInfo(nad)
101-
Expect(err).NotTo(HaveOccurred())
102-
controller.ReconcilableNetInfo = util.NewReconcilableNetInfo(netInfo)
103-
104-
networkID, err := controller.getNetworkID()
105-
Expect(err).To(HaveOccurred())
106-
Expect(networkID).To(Equal(util.InvalidID))
107-
})
10858
It("ensure UDNGateway is not invoked when feature gate is OFF", func() {
10959
config.OVNKubernetesFeature.EnableNetworkSegmentation = false
11060
config.OVNKubernetesFeature.EnableMultiNetwork = true
@@ -322,6 +272,7 @@ var _ = Describe("SecondaryNodeNetworkController: UserDefinedPrimaryNetwork Gate
322272
By("creating NAD for primary UDN")
323273
nad = ovntest.GenerateNAD("bluenet", "rednad", "greenamespace",
324274
types.Layer3Topology, "100.128.0.0/16", types.NetworkRolePrimary)
275+
ovntest.AnnotateNADWithNetworkID(strconv.Itoa(netID), nad)
325276
NetInfo, err := util.ParseNADInfo(nad)
326277
Expect(err).NotTo(HaveOccurred())
327278
_, ipNet, err := net.ParseCIDR(v4NodeSubnet)

go-controller/pkg/ovn/base_network_controller.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,6 @@ func (oc *BaseNetworkController) reconcile(netInfo util.NetInfo, setNodeFailed f
247247
type BaseSecondaryNetworkController struct {
248248
BaseNetworkController
249249

250-
networkID *int
251-
252250
// network policy events factory handler
253251
netPolicyHandler *factory.Handler
254252
// multi-network policy events factory handler

0 commit comments

Comments
 (0)