Bug 2002372
Summary: | Pod creation failed due to mismatched pod IP address in CNI and OVN | ||
---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Murali Krishnasamy <murali> |
Component: | Networking | Assignee: | Tim Rozet <trozet> |
Networking sub component: | ovn-kubernetes | QA Contact: | Murali Krishnasamy <murali> |
Status: | CLOSED ERRATA | Docs Contact: | |
Severity: | medium | ||
Priority: | urgent | CC: | anusaxen, bbennett, dblack, smalleni, trozet, yprokule |
Version: | 4.7 | Keywords: | FastFix |
Target Milestone: | --- | Flags: | murali:
needinfo-
murali: needinfo- |
Target Release: | 4.10.0 | ||
Hardware: | All | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2022-03-10 16:08:57 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 2004340 |
Description
Murali Krishnasamy
2021-09-08 16:10:08 UTC
This is a hard case to hit, so moving severity to medium. Basically what happened is: In the update pod logic, we pass the current pod event to addLogicalPort. In addLogicalPort we assume that if the annotations exist for the pod mac/ifaddr, then we use those and do not update annotations on the pod. This assumption is invalid, because this event may not be the current state of the pod. In other words we could have a situation where: 1. A pod add event comes we annotate with 10.0.0.2, assume OVN execute failure 2. Before the annotate is done, the pod is modified in some other way signaling another pod update event 3. A pod update event comes for 2, the pod is annotated with 10.0.0.3 because this was an update to the original pod, before it was annotated with 10.0.0.2, assume OVN execute failure 4. A pod update event comes for 1, since annotations existed, nothing is annotated and 10.0.0.2 is found to be used. OVN logical port is configured with 10.0.0.2. addLogicalPort succeeds. Now the pod has 10.0.0.3 annotated, and 10.0.0.2 in OVN. CNI openflow check will fail and the pod will never come up. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.10.3 security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:0056 |