Skip to content

Bug 2062842: [4.8z] After reboot egress node, lr-policy-list was not correct, some duplicate records or missed internal IPs#1009

Merged
openshift-merge-robot merged 10 commits intoopenshift:release-4.8from
flavio-fernandes:bz2062842_egressip-4.8
Apr 8, 2022
Merged

Bug 2062842: [4.8z] After reboot egress node, lr-policy-list was not correct, some duplicate records or missed internal IPs#1009
openshift-merge-robot merged 10 commits intoopenshift:release-4.8from
flavio-fernandes:bz2062842_egressip-4.8

Conversation

@flavio-fernandes
Copy link
Contributor

@flavio-fernandes flavio-fernandes commented Mar 22, 2022

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

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)
@openshift-ci openshift-ci bot added the bugzilla/severity-urgent Referenced Bugzilla bug's severity is urgent for the branch this PR is targeting. label Mar 22, 2022
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 22, 2022

@flavio-fernandes: This pull request references Bugzilla bug 2062842, which is invalid:

  • expected dependent Bugzilla bug 2059700 to be in one of the following states: VERIFIED, RELEASE_PENDING, CLOSED (ERRATA), CLOSED (CURRENTRELEASE), but it is POST instead

Comment /bugzilla refresh to re-evaluate validity if changes to the Bugzilla bug are made, or edit the title of this pull request to link to a different bug.

Details

In response to this:

Bug 2062842: [4.8z] After reboot egress node, lr-policy-list was not correct, some duplicate records or missed internal IPs

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.

@openshift-ci openshift-ci bot added the bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. label Mar 22, 2022
@openshift-ci openshift-ci bot requested review from abhat and dcbw March 22, 2022 21:45
@flavio-fernandes
Copy link
Contributor Author

/assign @trozet

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)
@jechen0648
Copy link
Contributor

/bugzilla cc-qa

@jechen0648
Copy link
Contributor

/label qe-approved

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 24, 2022

@jechen0648: This pull request references Bugzilla bug 2062842, which is invalid:

  • expected dependent Bugzilla bug 2059700 to be in one of the following states: VERIFIED, RELEASE_PENDING, CLOSED (ERRATA), CLOSED (CURRENTRELEASE), but it is POST instead

Comment /bugzilla refresh to re-evaluate validity if changes to the Bugzilla bug are made, or edit the title of this pull request to link to a different bug.

Details

In response to this:

/bugzilla cc-qa

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.

@openshift-ci openshift-ci bot added the qe-approved Signifies that QE has signed off on this PR label Mar 24, 2022
@flavio-fernandes
Copy link
Contributor Author

/retest-required

2 similar comments
@palonsoro
Copy link

/retest-required

@flavio-fernandes
Copy link
Contributor Author

/retest-required

@vpickard
Copy link
Contributor

vpickard commented Apr 6, 2022

/bugzilla refresh

@openshift-ci openshift-ci bot added bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. and removed bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. labels Apr 6, 2022
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 6, 2022

@vpickard: This pull request references Bugzilla bug 2062842, which is valid.

6 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target release (4.8.z) matches configured target release for branch (4.8.z)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, ON_DEV, POST, POST)
  • dependent bug Bugzilla bug 2059700 is in the state VERIFIED, which is one of the valid states (VERIFIED, RELEASE_PENDING, CLOSED (ERRATA), CLOSED (CURRENTRELEASE))
  • dependent Bugzilla bug 2059700 targets the "4.9.z" release, which is one of the valid target releases: 4.9.0, 4.9.z
  • bug has dependents

No GitHub users were found matching the public email listed for the QA contact in Bugzilla (jechen@redhat.com), skipping review request.

Details

In response to this:

/bugzilla refresh

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.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

19 similar comments
@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 8, 2022

@flavio-fernandes: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/4.8-upgrade-from-stable-4.7-e2e-aws-ovn-upgrade fba695a link false /test 4.8-upgrade-from-stable-4.7-e2e-aws-ovn-upgrade

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@flavio-fernandes
Copy link
Contributor Author

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

1 similar comment
@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@abhat
Copy link
Contributor

abhat commented Apr 8, 2022

/override ci/prow/e2e-metal-ipi-ovn-ipv6

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 8, 2022

@abhat: Overrode contexts on behalf of abhat: ci/prow/e2e-metal-ipi-ovn-ipv6

Details

In response to this:

/override ci/prow/e2e-metal-ipi-ovn-ipv6

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.

@openshift-merge-robot openshift-merge-robot merged commit 2661138 into openshift:release-4.8 Apr 8, 2022
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 8, 2022

@flavio-fernandes: All pull requests linked via external trackers have merged:

Bugzilla bug 2062842 has been moved to the MODIFIED state.

Details

In response to this:

Bug 2062842: [4.8z] After reboot egress node, lr-policy-list was not correct, some duplicate records or missed internal IPs

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 flavio-fernandes deleted the bz2062842_egressip-4.8 branch April 8, 2022 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. bugzilla/severity-urgent Referenced Bugzilla bug's severity is urgent for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. lgtm Indicates that a PR is ready to be merged. qe-approved Signifies that QE has signed off on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Comments