-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
4.20.z, 4.21.0
-
Quality / Stability / Reliability
-
False
-
-
None
-
Moderate
-
No
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
on openstack, config egress ip exceeding the capacity, then reboot the egress node, the annotaion k8s.ovn.org/bridge-egress-ips does not update correctly when egress ip assignment has changed
Version-Release number of selected component (if applicable):
4.21.0-0.nightly-2025-10-23-225733, 4.20.0-0.nightly-2025-10-22-141500
How reproducible:
always
Steps to Reproduce:
1. label one node with k8s.ovn.org/egress-assignable="" % oc label node/qiowang-osp3-3-trl8b-worker-0-9rdbp k8s.ovn.org/egress-assignable="" node/qiowang-osp3-3-trl8b-worker-0-9rdbp labeled 2. create 15 egress ips, exceeding the capacity 8 % oc apply -f egressips.yaml % oc get egressip NAME EGRESSIPS ASSIGNED NODE ASSIGNED EGRESSIPS egressip-test1 192.168.0.51 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.51 egressip-test10 192.168.0.60 egressip-test11 192.168.0.61 egressip-test12 192.168.0.62 egressip-test13 192.168.0.63 egressip-test14 192.168.0.64 egressip-test15 192.168.0.65 egressip-test2 192.168.0.52 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.52 egressip-test3 192.168.0.53 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.53 egressip-test4 192.168.0.54 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.54 egressip-test5 192.168.0.55 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.55 egressip-test6 192.168.0.56 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.56 egressip-test7 192.168.0.57 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.57 egressip-test8 192.168.0.58 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.58 egressip-test9 192.168.0.59 3. check the annotation k8s.ovn.org/bridge-egress-ips, it shows the 8 egress ips assigned to the node % oc get node/qiowang-osp3-3-trl8b-worker-0-9rdbp -oyaml | grep egress cloud.network.openshift.io/egress-ipconfig: '[{"interface":"cdd322db-b5bb-47da-9f22-5227c8137f3e","ifaddr":{"ipv4":"192.168.0.0/18"},"capacity":{"ip":8}}]' k8s.ovn.org/bridge-egress-ips: '["192.168.0.54","192.168.0.55","192.168.0.57","192.168.0.58","192.168.0.56","192.168.0.53","192.168.0.51","192.168.0.52"]' 4. reboot the node 5. after the node back to Ready, we can see some egress ips previously assigned to the node are unassigned now, like egressip-test3(192.168.0.53), and some other egress ips are assigned to the node, like egressip-test10(192.168.0.60) % oc get egressip NAME EGRESSIPS ASSIGNED NODE ASSIGNED EGRESSIPS egressip-test1 192.168.0.51 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.51 egressip-test10 192.168.0.60 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.60 egressip-test11 192.168.0.61 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.61 egressip-test12 192.168.0.62 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.62 egressip-test13 192.168.0.63 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.63 egressip-test14 192.168.0.64 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.64 egressip-test15 192.168.0.65 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.65 egressip-test2 192.168.0.52 qiowang-osp3-3-trl8b-worker-0-9rdbp 192.168.0.52 egressip-test3 192.168.0.53 egressip-test4 192.168.0.54 egressip-test5 192.168.0.55 egressip-test6 192.168.0.56 egressip-test7 192.168.0.57 egressip-test8 192.168.0.58 egressip-test9 192.168.0.59 6. check the annotation k8s.ovn.org/bridge-egress-ips on the node
Actual results:
the annotation does not update correctly when egress ip assignment has changed, the previously assigned egress ips are still shown here: % oc get node/qiowang-osp3-3-trl8b-worker-0-9rdbp -oyaml | grep egress cloud.network.openshift.io/egress-ipconfig: '[{"interface":"cdd322db-b5bb-47da-9f22-5227c8137f3e","ifaddr":{"ipv4":"192.168.0.0/18"},"capacity":{"ip":5}}]' k8s.ovn.org/bridge-egress-ips: '["192.168.0.62","192.168.0.63","192.168.0.64","192.168.0.60","192.168.0.55","192.168.0.65","192.168.0.51","192.168.0.53","192.168.0.57","192.168.0.54","192.168.0.58","192.168.0.61","192.168.0.52","192.168.0.56"]' p.s. the capacity is also incorrect, there is another bug follows the issue, so let's ignore it here
Expected results:
the annotation should be update correctly if egress ip assignment has changed