-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.21
-
None
-
False
-
-
None
-
Important
-
None
-
None
-
None
-
Rejected
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
We have one auto case 47028 flaky failing in CI jobs, and then be able to reproduce it locally.
Version-Release number of selected component (if applicable):
4.21.0-0.nightly-2025-11-22-193140
How reproducible:
Sometimes
Steps to Reproduce:
1. Label one node as egress node
2. Create some EIP objects
% oc get egressip
NAME EGRESSIPS ASSIGNED NODE ASSIGNED EGRESSIPS
egressip-1 10.0.27.101 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.101
egressip-10 10.0.27.110 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.110
egressip-11 10.0.27.111 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.111
egressip-12 10.0.27.112 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.112
egressip-13 10.0.27.113 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.113
egressip-14 10.0.27.114 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.114
egressip-15 10.0.27.115
egressip-2 10.0.27.102 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.102
egressip-3 10.0.27.103 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.103
egressip-4 10.0.27.104 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.104
egressip-5 10.0.27.105 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.105
egressip-6 10.0.27.106 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.106
egressip-7 10.0.27.107 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.107
egressip-8 10.0.27.108 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.108
egressip-9 10.0.27.109 ip-10-0-42-69.us-east-2.compute.internal 10.0.27.109
3. Label another node as egress node and unlabel previous egress node
oc label node ip-10-0-42-69.us-east-2.compute.internal k8s.ovn.org/egress-assignable-; oc label node ip-10-0-43-77.us-east-2.compute.internal k8s.ovn.org/egress-assignable=
4. Repeat step3 for changing egress node for a couple of times
Actual results:
$ oc get egressip
NAME EGRESSIPS ASSIGNED NODE ASSIGNED EGRESSIPS
egressip-1 10.0.27.101 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.101
egressip-10 10.0.27.110 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.110
egressip-11 10.0.27.111 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.111
egressip-12 10.0.27.112 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.112
egressip-13 10.0.27.113 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.113
egressip-14 10.0.27.114 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.114
egressip-15 10.0.27.115 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.115
egressip-2 10.0.27.102 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.102
egressip-3 10.0.27.103 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.103
egressip-4 10.0.27.104 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.104
egressip-5 10.0.27.105 ip-10-0-43-77.us-east-2.compute.internal 10.0.27.105
egressip-6 10.0.27.106
egressip-7 10.0.27.107
egressip-8 10.0.27.108
egressip-9 10.0.27.109
bash-3.2$ oc get cloudprivateipconfigs -ocustom-columns=NAME:.metadata.name,NODE:.spec.node,STATE:.status.conditions[].reason | grep CloudResponseSuccess | wc -l
11
bash-3.2$ oc get cloudprivateipconfigs -ocustom-columns=NAME:.metadata.name,NODE:.spec.node,STATE:.status.conditions[].reason | grep CloudResponseError | wc -l
0
% oc describe node ip-10-0-43-77.us-east-2.compute.internal | grep capacity
[{"interface":"eni-0cfca2ec6c2267c7b","ifaddr":{"ipv4":"10.0.0.0/18"},"capacity":{"ipv4":14,"ipv6":15}}]
Expected results:
Should have 14 EIPs assigned to available egress node
Additional info: