-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
4.18
-
Quality / Stability / Reliability
-
False
-
-
None
-
Important
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
The issue was found during pre-merge testing cncc pr, then it is reproduced in 4.18 nightly build, so file this ticket to track.
Version-Release number of selected component (if applicable)
% oc get clusterversion
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS
version 4.18.0-0.nightly-2025-10-22-102301 True False 7m41s Cluster version is 4.18.0-0.nightly-2025-10-22-102301
How reproducible:
With below steps, a few EIPs always have the issues.
Steps to Reproduce:
1. Labe one node as egressIP
2. Configure 101 EIPs on this node
% oc get egressip
NAME EGRESSIPS ASSIGNED NODE ASSIGNED EGRESSIPS
egressip2-1 10.0.129.2 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.2
egressip2-10 10.0.129.11 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.11
egressip2-100 10.0.129.101 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.101
egressip2-101 10.0.129.102
egressip2-11 10.0.129.12 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.12
egressip2-12 10.0.129.13 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.13
egressip2-13 10.0.129.14 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.14
egressip2-14 10.0.129.15 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.15
egressip2-15 10.0.129.16 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.16
egressip2-16 10.0.129.17 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.17
egressip2-17 10.0.129.18 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.18
egressip2-18 10.0.129.19 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.19
egressip2-19 10.0.129.20 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.20
egressip2-2 10.0.129.3 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.3
egressip2-20 10.0.129.21 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.21
egressip2-21 10.0.129.22 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.22
egressip2-22 10.0.129.23 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.23
egressip2-23 10.0.129.24 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.24
egressip2-24 10.0.129.25 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.25
egressip2-25 10.0.129.26 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.26
egressip2-26 10.0.129.27 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.27
egressip2-27 10.0.129.28 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.28
egressip2-28 10.0.129.29 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.29
egressip2-29 10.0.129.30 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.30
egressip2-3 10.0.129.4 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.4
egressip2-30 10.0.129.31 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.31
egressip2-31 10.0.129.32 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.32
egressip2-32 10.0.129.33 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.33
egressip2-33 10.0.129.34 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.34
egressip2-34 10.0.129.35 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.35
egressip2-35 10.0.129.36 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.36
egressip2-36 10.0.129.37 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.37
egressip2-37 10.0.129.38 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.38
egressip2-38 10.0.129.39 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.39
egressip2-39 10.0.129.40 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.40
egressip2-4 10.0.129.5 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.5
egressip2-40 10.0.129.41 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.41
egressip2-41 10.0.129.42 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.42
egressip2-42 10.0.129.43 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.43
egressip2-43 10.0.129.44 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.44
egressip2-44 10.0.129.45 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.45
egressip2-45 10.0.129.46 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.46
egressip2-46 10.0.129.47 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.47
egressip2-47 10.0.129.48 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.48
egressip2-48 10.0.129.49 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.49
egressip2-49 10.0.129.50 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.50
egressip2-5 10.0.129.6 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.6
egressip2-50 10.0.129.51 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.51
egressip2-51 10.0.129.52 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.52
egressip2-52 10.0.129.53 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.53
egressip2-53 10.0.129.54 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.54
egressip2-54 10.0.129.55 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.55
egressip2-55 10.0.129.56 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.56
egressip2-56 10.0.129.57 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.57
egressip2-57 10.0.129.58 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.58
egressip2-58 10.0.129.59 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.59
egressip2-59 10.0.129.60 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.60
egressip2-6 10.0.129.7 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.7
egressip2-60 10.0.129.61 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.61
egressip2-61 10.0.129.62 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.62
egressip2-62 10.0.129.63 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.63
egressip2-63 10.0.129.64 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.64
egressip2-64 10.0.129.65 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.65
egressip2-65 10.0.129.66 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.66
egressip2-66 10.0.129.67 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.67
egressip2-67 10.0.129.68 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.68
egressip2-68 10.0.129.69 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.69
egressip2-69 10.0.129.70 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.70
egressip2-7 10.0.129.8 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.8
egressip2-70 10.0.129.71 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.71
egressip2-71 10.0.129.72 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.72
egressip2-72 10.0.129.73 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.73
egressip2-73 10.0.129.74 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.74
egressip2-74 10.0.129.75 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.75
egressip2-75 10.0.129.76 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.76
egressip2-76 10.0.129.77 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.77
egressip2-77 10.0.129.78 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.78
egressip2-78 10.0.129.79 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.79
egressip2-79 10.0.129.80 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.80
egressip2-8 10.0.129.9 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.9
egressip2-80 10.0.129.81 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.81
egressip2-81 10.0.129.82 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.82
egressip2-82 10.0.129.83 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.83
egressip2-83 10.0.129.84 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.84
egressip2-84 10.0.129.85 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.85
egressip2-85 10.0.129.86 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.86
egressip2-86 10.0.129.87 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.87
egressip2-87 10.0.129.88 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.88
egressip2-88 10.0.129.89 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.89
egressip2-89 10.0.129.90 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.90
egressip2-9 10.0.129.10 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.10
egressip2-90 10.0.129.91 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.91
egressip2-91 10.0.129.92 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.92
egressip2-92 10.0.129.93 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.93
egressip2-93 10.0.129.94 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.94
egressip2-94 10.0.129.95 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.95
egressip2-95 10.0.129.96 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.96
egressip2-96 10.0.129.97 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.97
egressip2-97 10.0.129.98 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.98
egressip2-98 10.0.129.99 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.99
egressip2-99 10.0.129.100 huirwang-gcp3-h7rfm-worker-a-6x6dw 10.0.129.100
bash-3.2$ oc get cloudprivateipconfigs -ocustom-columns=NAME:.metadata.name,NODE:.spec.node,STATE:.status.conditions[].reason | grep CloudResponseSuccess | wc -l
100
bash-3.2$ oc get cloudprivateipconfigs -ocustom-columns=NAME:.metadata.name,NODE:.spec.node,STATE:.status.conditions[].reason | grep CloudResponseError | wc -l
0
The node ipv4 capcity is 100
Annotations: cloud.network.openshift.io/egress-ipconfig: [{"interface":"nic0","ifaddr":{"ipv4":"10.0.128.0/17"},"capacity":{"ip":100}}]
3. Label another node as egress node and remove egress label from original node to make EIPs failover
4. Check the result, 8 EIPs failover failed
bash-3.2$ oc get cloudprivateipconfigs -ocustom-columns=NAME:.metadata.name,NODE:.spec.node,STATE:.status.conditions[].reason | grep CloudResponseError | wc -l
8
bash-3.2$ oc get cloudprivateipconfigs -ocustom-columns=NAME:.metadata.name,NODE:.spec.node,STATE:.status.conditions[].reason | grep CloudResponseSuccess | wc -l
92
bash-3.2$
bash-3.2$
bash-3.2$ oc get cloudprivateipconfigs -ocustom-columns=NAME:.metadata.name,NODE:.spec.node,STATE:.status.conditions[].reason | grep CloudResponseError
10.0.129.101 huirwang-gcp3-h7rfm-worker-b-ktfqt CloudResponseError
10.0.129.15 huirwang-gcp3-h7rfm-worker-b-ktfqt CloudResponseError
10.0.129.17 huirwang-gcp3-h7rfm-worker-b-ktfqt CloudResponseError
10.0.129.19 huirwang-gcp3-h7rfm-worker-b-ktfqt CloudResponseError
10.0.129.21 huirwang-gcp3-h7rfm-worker-b-ktfqt CloudResponseError
10.0.129.22 huirwang-gcp3-h7rfm-worker-b-ktfqt CloudResponseError
10.0.129.23 huirwang-gcp3-h7rfm-worker-b-ktfqt CloudResponseError
10.0.129.24 huirwang-gcp3-h7rfm-worker-b-ktfqt CloudResponseError
bash-3.2$ oc get cloudprivateipconfigs 10.0.129.15 -o yaml
apiVersion: cloud.network.openshift.io/v1
kind: CloudPrivateIPConfig
metadata:
annotations:
k8s.ovn.org/egressip-owner-ref: egressip2-14
creationTimestamp: "2025-10-23T02:51:38Z"
finalizers:
- cloudprivateipconfig.cloud.network.openshift.io/finalizer
generation: 2
name: 10.0.129.15
resourceVersion: "47508"
uid: 81b1f9d1-593a-49af-af65-00bf9088c924
spec:
node: huirwang-gcp3-h7rfm-worker-b-ktfqt
status:
conditions:
- lastTransitionTime: "2025-10-23T03:12:13Z"
message: 'Error processing cloud assignment request, err: {"errors":[{"code":"IP_IN_USE_BY_ANOTHER_RESOURCE","message":"IP
''10.0.129.15/32'' is already being used by another resource. "}]}'
observedGeneration: 2
reason: CloudResponseError
status: "False"
type: Assigned
node: huirwang-gcp3-h7rfm-worker-b-ktfqt
Checked the Alias IP ranges for original node huirwang-gcp3-h7rfm-worker-a-6x6dw from GCP cloud console, the 8 IPs are still in original node, not removed.
10.0.129.15/32
10.0.129.17/32
10.0.129.19/32
10.0.129.21/32
10.0.129.23/32
10.0.129.24/32
10.0.129.22/32
10.0.129.101/32
3.
Actual results:{code:none}
Some EIPs failover failed
Expected results:
All EIPs failover succeeded.
Additional info: