@@ -1365,6 +1365,17 @@ func (c *Controller) reconcileOvnRoute(subnet *kubeovnv1.Subnet) error {
1365
1365
node , err := c .nodesLister .Get (subnet .Status .ActivateGateway )
1366
1366
if err == nil && nodeReady (node ) {
1367
1367
klog .Infof ("subnet %s uses the old activate gw %s" , subnet .Name , node .Name )
1368
+
1369
+ nodeTunlIPAddr , err := getNodeTunlIP (node )
1370
+ if err != nil {
1371
+ klog .Errorf ("failed to get gatewayNode tunnel ip for subnet %s" , subnet .Name )
1372
+ return err
1373
+ }
1374
+ nextHop := getNextHopByTunnelIP (nodeTunlIPAddr )
1375
+ if err = c .addPolicyRouteForCentralizedSubnet (subnet , subnet .Status .ActivateGateway , nil , strings .Split (nextHop , "," )); err != nil {
1376
+ klog .Errorf ("failed to add active-backup policy route for centralized subnet %s: %v" , subnet .Name , err )
1377
+ return err
1378
+ }
1368
1379
return nil
1369
1380
}
1370
1381
}
@@ -1898,12 +1909,12 @@ func (c *Controller) addPolicyRouteForCentralizedSubnet(subnet *kubeovnv1.Subnet
1898
1909
if util .CheckProtocol (cidrBlock ) != util .CheckProtocol (nodeIP ) {
1899
1910
continue
1900
1911
}
1901
- exist , err := c .checkPolicyRouteExistForNode (nodeName , cidrBlock , nodeIP , util .GatewayRouterPolicyPriority )
1912
+ consistent , err := c .checkPolicyRouteConsistent (nodeName , cidrBlock , nodeIP , util .GatewayRouterPolicyPriority )
1902
1913
if err != nil {
1903
- klog .Errorf ("check ecmp policy route exist for subnet %v, error %v" , subnet .Name , err )
1914
+ klog .Errorf ("failed to check policy route for subnet %v, error %v" , subnet .Name , err )
1904
1915
continue
1905
1916
}
1906
- if exist {
1917
+ if consistent {
1907
1918
continue
1908
1919
}
1909
1920
var nextHops []string
0 commit comments