-
Notifications
You must be signed in to change notification settings - Fork 459
[BUG] Deleting FIP overwrites EIP ready state #5114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Deleting a FIP in Kube-OVN v.13.4 affects the ready state of an associated EIP because the EIP's status is updated based on the NAT rules that use it. When a FIP is deleted, the NAT rules associated with that FIP are also removed. This change is detected by the The issue you're encountering seems to be related to a race condition where the EIP's status is incorrectly set to To continue talking to Dosu, mention @dosu. Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Bug Report | Other |
Fixes kubeovn#5114 - Previously when deleting a FIP, the function `handleResetOvnEip` was called. - `handleResetOvnEip` called `patchOvnEipStatus` to set the "Ready" field to true, regardless of the current EIP. - This fixes it so when `handleResetOvnEip` is called, the "Ready" is field of the EIP is unchanged Signed-off-by: Andrew Lee <[email protected]>
Fixes kubeovn#5114 - Previously when deleting a FIP, the function `handleResetOvnEip` was called. - `handleResetOvnEip` called `patchOvnEipStatus` to set the "Ready" field to true, regardless of the current EIP. - This fixes it so when `patchOvnEipStatus` is called, we *never* change the "Ready" field. Signed-off-by: Andrew Lee <[email protected]>
Kube-OVN Version
v1.13.4
Kubernetes Version
v1.28.6
Operation-system/Kernel Version
"Ubuntu 22.04.5 LTS" 6.8.0-47-generic
Description
Deleting a FIP triggers a reset of the associated EIP. Resetting an EIP sets
status.ready: true
even if the EIP is not yet ready. The EIP update handler then does not program the EIP on the NAT GW.We hit this following a NAT GW being rescheduled to a new node, this triggers all FIPs and EIPs to be marked as not ready so they can be programmed on the new pod. A FIP was deleted and recreated while all this was going on but the associated EIP was never added to the new gateway pod.
Steps To Reproduce
It's a race condition so it can be difficult to consistently recreate this bug.
Current Behavior
Deleting a FIP while an EIP is not yet programmed prevents the EIP ever being programmed.
Expected Behavior
Deleting a FIP while an EIP is not yet programmed has no impact on EIP being programmed.
The text was updated successfully, but these errors were encountered: