@@ -1452,6 +1452,7 @@ func (c *Controller) acquireAddress(pod *v1.Pod, podNet *kubeovnNet) (string, st
1452
1452
podName := c .getNameByPod (pod )
1453
1453
key := fmt .Sprintf ("%s/%s" , pod .Namespace , podName )
1454
1454
1455
+ var isVMPod bool
1455
1456
isStsPod , _ := isStatefulSetPod (pod )
1456
1457
// if pod has static vip
1457
1458
vipName := pod .Annotations [util .VipAnnotation ]
@@ -1462,7 +1463,10 @@ func (c *Controller) acquireAddress(pod *v1.Pod, podNet *kubeovnNet) (string, st
1462
1463
return "" , "" , "" , podNet .Subnet , err
1463
1464
}
1464
1465
portName := ovs .PodNameToPortName (podName , pod .Namespace , podNet .ProviderName )
1465
- if err = c .podReuseVip (vipName , portName , isStsPod ); err != nil {
1466
+ if c .config .EnableKeepVmIP {
1467
+ isVMPod , _ = isVmPod (pod )
1468
+ }
1469
+ if err = c .podReuseVip (vipName , portName , isStsPod || isVMPod ); err != nil {
1466
1470
return "" , "" , "" , podNet .Subnet , err
1467
1471
}
1468
1472
return vip .Status .V4ip , vip .Status .V6ip , vip .Status .Mac , podNet .Subnet , nil
0 commit comments