Bug 2062842: [4.8z] After reboot egress node, lr-policy-list was not correct, some duplicate records or missed internal IPs#1009
Conversation
THe assignment set sequence is slightly incorrect for egress nodes as it couldn't correctly set all fields in the case a node is reachable but not ready. Signed-off-by: Alexander Constantinescu <aconstan@redhat.com> (cherry picked from commit 11b6a83)
Returning an error in this case is slightly incorrect since this case shouldn't really be considered an error. ovnkube-node will set the annotation once it has parsed it, but it is not expected to always be readily available for ovnkube-master to read. This also happens to spam the logs Signed-off-by: Alexander Constantinescu <aconstan@redhat.com> (cherry picked from commit 1468b31)
Egress IP has until now been flawed. For EgressIP objects with multiple statuses (essentially inidcating HA mode request) we created several individual logical router policies for every node used for egress IP, however only one was ever used at any given moment. OVN has now implemented ECMP routing for logical router policies allowing us to specify multiple nexthops and OVN to load balance between them. Now all egress nodes assigned to an EgressIP should be used equally during traffic distribution. Signed-off-by: Alexander Constantinescu <aconstan@redhat.com> (cherry picked from commit 19e2f18)
Signed-off-by: Alexander Constantinescu <aconstan@redhat.com> (cherry picked from commit ef615e6)
The old egress IP implementation used to create an LRP per egress node and set nexthop for each. We thus need to remove all of that since we'll be creating one LRP now with multiple nexthops. Conflicts: go-controller/pkg/ovn/egressip.go go-controller/pkg/ovn/egressip_test.go Signed-off-by: Alexander Constantinescu <aconstan@redhat.com> (cherry picked from commit 904ebce)
|
@flavio-fernandes: This pull request references Bugzilla bug 2062842, which is invalid:
Comment DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
/assign @trozet |
a344cc4 to
04ee445
Compare
Conflicts: go-controller/pkg/ovn/egressip.go Signed-off-by: Flavio Fernandes <flaviof@redhat.com> (cherry picked from commit fd9fae4)
Instead of relying on kapi.Pod.Status.PodIPs use the same approach as addPodEgressIPAssignments Conflicts: go-controller/pkg/ovn/egressip.go Signed-off-by: Patryk Diak <pdiak@redhat.com> (cherry picked from commit 8081e22)
Signed-off-by: Flavio Fernandes <flaviof@redhat.com> (cherry picked from commit bf6bcfa)
In cases where OVN database for logical router policies or NATs used by EgressIPs have stale nexthops or wrong external_ips, the sync function should remove them, so the proper row/column gets set. This commit backports the changes in a way that libovsdb is unused. Because of that, all libovsdb calls needed to be converted to legacy util.RunOVNNbctl() implementations. Conflicts: go-controller/pkg/ovn/egressip.go Signed-off-by: Flavio Fernandes <flaviof@redhat.com> (cherry picked from commit 39fcdcf)
Do not use nexhops as part of findReroutePolicyIDs lookup. Ensure nexthops are correct when updating egress ip policies. Signed-off-by: Flavio Fernandes <flaviof@redhat.com> (cherry picked from commit 5852d49)
04ee445 to
fba695a
Compare
|
/bugzilla cc-qa |
|
/label qe-approved |
|
@jechen0648: This pull request references Bugzilla bug 2062842, which is invalid:
Comment DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
/retest-required |
2 similar comments
|
/retest-required |
|
/retest-required |
|
/bugzilla refresh |
|
@vpickard: This pull request references Bugzilla bug 2062842, which is valid. 6 validation(s) were run on this bug
No GitHub users were found matching the public email listed for the QA contact in Bugzilla (jechen@redhat.com), skipping review request. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
19 similar comments
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
@flavio-fernandes: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
@trozet can we overwrite e2e-metal-ipi-ovn-ipv6 ? |
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
1 similar comment
|
/retest-required Please review the full test history for this PR and help us cut down flakes. |
|
/override ci/prow/e2e-metal-ipi-ovn-ipv6 |
|
@abhat: Overrode contexts on behalf of abhat: ci/prow/e2e-metal-ipi-ovn-ipv6 DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
@flavio-fernandes: All pull requests linked via external trackers have merged: Bugzilla bug 2062842 has been moved to the MODIFIED state. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Use pod IPs from annotation in sync
We cannot rely on pod.Status.PodIPs for obtaining the IPs, since that is unset in between the restart and the moment it retrieves that information. Use annotation instead.
In cases where OVN database for logical router policies or NATs used by EgressIPs have stale nexthops or wrong external_ips, the sync function should remove them, so the proper row/column gets set.
Backport from 4.9: Egress IP with ECMP routing (#981)
Signed-off-by: Flavio Fernandes flaviof@redhat.com