Skip to content
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

Bug 2022043: [4.8z] Avoid stale annotations by re-subscribing to netlink #829

Conversation

flavio-fernandes
Copy link
Contributor

This PR includes the fixed needed for bug 2022043, including its dependencies.

@openshift-ci openshift-ci bot added bugzilla/severity-high Referenced Bugzilla bug's severity is high for the branch this PR is targeting. bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. labels Nov 10, 2021
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 10, 2021

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

  • expected dependent Bugzilla bug 2022042 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.

In response to this:

Bug 2022043: [4.8z] Avoid stale annotations by re-subscribing to netlink

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
Copy link
Contributor Author

/bugzilla refresh

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 11, 2021

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

  • expected dependent Bugzilla bug 2022042 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.

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.

@flavio-fernandes
Copy link
Contributor Author

/assign @kyrtapz

Copy link
Contributor Author

@flavio-fernandes flavio-fernandes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

go-controller/pkg/kube/annotator.go Outdated Show resolved Hide resolved
go-controller/pkg/kube/annotator.go Outdated Show resolved Hide resolved
go-controller/pkg/kube/annotator.go Outdated Show resolved Hide resolved
@flavio-fernandes
Copy link
Contributor Author

/retest

@flavio-fernandes
Copy link
Contributor Author

/retest-required

go-controller/pkg/kube/annotator.go Outdated Show resolved Hide resolved
go-controller/pkg/kube/annotator.go Outdated Show resolved Hide resolved
@abhat
Copy link
Contributor

abhat commented Nov 15, 2021

/retest

dcbw and others added 12 commits November 15, 2021 16:39
Signed-off-by: Dan Williams <dcbw@redhat.com>
(cherry picked from commit aecf6a4)
…)*kapi.Node

There is no need for SetAnnotationsOnNode to take the API object as a parameter, it only uses the node name.

Signed-off-by: Patryk Diak <pdiak@redhat.com>
(cherry picked from commit a4c05c2)
…notations(map[string]interface{})

There is no need for SetAnnotationsOnNamespace to take the API object as a parameter, it only uses the namespace name.
Values of annotations should be of interface{} type to allow for annotation removal.

Conflicts:
    go-controller/pkg/kube/annotator.go
    go-controller/pkg/kube/kube.go
    go-controller/pkg/kube/mocks/Interface.go

Signed-off-by: Patryk Diak <pdiak@redhat.com>
(cherry picked from commit 281e463)
Values of annotations should be of interface{} type to allow for annotation removal.

Conflicts:
    go-controller/pkg/kube/kube_test.go

Signed-off-by: Patryk Diak <pdiak@redhat.com>
(cherry picked from commit d5f6f16)
Node annotator used the node object to compare its annotations with the changes provided.
Because the object isn't synchronized with the API server, the comparison used potentially outdated values.

This change removes the logic of comparing existing annotations and only caches provided changes to send them with Run().

Conflicts:
    go-controller/pkg/node/gateway_init_linux_test.go
    go-controller/pkg/node/management-port_linux_test.go
    go-controller/pkg/node/node.go
    go-controller/pkg/kube/annotator.go

Signed-off-by: Patryk Diak <pdiak@redhat.com>
(cherry picked from commit f472725)
Pod annotator used the pod object to compare its annotations with the changes provided.
Because the object isn't synchronized with the API server, the comparison used potentially outdated values.

This change removes the logic of comparing existing annotations and only caches provided changes to send them with Run().

Signed-off-by: Patryk Diak <pdiak@redhat.com>
(cherry picked from commit 0674db6)
Namespace annotator used the namespace object to compare its annotations with the changes provided.
Because the object isn't synchronized with the API server, the comparison used potentially outdated values.

This change removes the logic of comparing existing annotations and only caches provided changes to send them with Run().

Signed-off-by: Patryk Diak <pdiak@redhat.com>
(cherry picked from commit ef70691)
Signed-off-by: Patryk Diak <pdiak@redhat.com>
(cherry picked from commit 96640b8)
…change

1. Create nodeAnnotator in newAddressManager instead of using an existing one, this avoids sending annotations that were added by other components.
2. Modify addressManager so it will try to set the annotations only if there was an actual change, not on every netlink notification.
2. Remove redundant nodeIPManager creation from gateway_init.go.

Conflicts:
    go-controller/pkg/node/gateway_init.go
    go-controller/pkg/node/gateway_init_linux_test.go
    go-controller/pkg/node/gateway_shared_intf.go
    go-controller/hybrid-overlay/pkg/controller/master_test.go
    go-controller/hybrid-overlay/pkg/util/util.go
    go-controller/pkg/node/gateway_init.go
    go-controller/pkg/node/gateway_init_linux_test.go
    go-controller/pkg/node/gateway_shared_intf.go

Signed-off-by: Patryk Diak <pdiak@redhat.com>
(cherry picked from commit f57c2c1)
This PR is not the real fix. It includes better logging should this
issue happen again. The real fix has already been done via PR
ovn-org/ovn-kubernetes#2521 for the changes
on bug 1998515.

Signed-off-by: Flavio Fernandes <flaviof@redhat.com>
(cherry picked from commit 9b4d436)
This PR ensures that address callbacks for node IP handler are not
missed by re-subscribing for address updates from netlink in case of
errors and also by explicitly calling sync after an initial timeout.

Signed-off-by: Flavio Fernandes <flaviof@redhat.com>
Co-Authored-By: Andrew Stoycos <astoycos@redhat.com>
(cherry picked from commit ebce1b2)
prevent ovn syncNodeGateway from failing on missing
host-addresses annotations.

Instead, proceeed with syncing ovn gateway without
additional addresses.

Signed-off-by: Adrian Chiris <adrianc@nvidia.com>
(cherry picked from commit d8057cf)
@openshift-bot
Copy link
Contributor

/retest-required

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

8 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.

@flavio-fernandes
Copy link
Contributor Author

/test e2e-metal-ipi-ovn-dualstack

@flavio-fernandes
Copy link
Contributor Author

/test 4.8-upgrade-from-stable-4.7-e2e-aws-ovn-upgrade

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 18, 2021

@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 e0a2ab8 link false /test 4.8-upgrade-from-stable-4.7-e2e-aws-ovn-upgrade

Full PR test history. Your PR dashboard.

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

/bugzilla refresh

Recalculating validity in case the underlying Bugzilla bug has changed.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 19, 2021

@openshift-bot: This pull request references Bugzilla bug 2022043, which is invalid:

  • expected dependent Bugzilla bug 2022042 to be in one of the following states: VERIFIED, RELEASE_PENDING, CLOSED (ERRATA), CLOSED (CURRENTRELEASE), but it is MODIFIED 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.

In response to this:

/bugzilla refresh

Recalculating validity in case the underlying Bugzilla bug has changed.

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.

@flavio-fernandes
Copy link
Contributor Author

/test 4.8-upgrade-from-stable-4.7-e2e-aws-ovn-upgrade

@abhat
Copy link
Contributor

abhat commented Nov 19, 2021

/bugzilla refresh

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 19, 2021

@abhat: This pull request references Bugzilla bug 2022043, which is invalid:

  • expected dependent Bugzilla bug 2022042 to be in one of the following states: VERIFIED, RELEASE_PENDING, CLOSED (ERRATA), CLOSED (CURRENTRELEASE), but it is ON_QA 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.

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.

@abhat
Copy link
Contributor

abhat commented Nov 19, 2021

/bugzilla refresh

@openshift-ci openshift-ci bot added the bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. label Nov 19, 2021
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 19, 2021

@abhat: This pull request references Bugzilla bug 2022043, 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 2022042 is in the state VERIFIED, which is one of the valid states (VERIFIED, RELEASE_PENDING, CLOSED (ERRATA), CLOSED (CURRENTRELEASE))
  • dependent Bugzilla bug 2022042 targets the "4.9.z" release, which is one of the valid target releases: 4.9.0, 4.9.z
  • bug has dependents

Requesting review from QA contact:
/cc @anuragthehatter

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-ci openshift-ci bot removed the bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. label Nov 19, 2021
@huiran0826
Copy link

/label cherry-pick-approved

@openshift-ci openshift-ci bot added the cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. label Nov 19, 2021
@huiran0826
Copy link

/label qe-approved

@openshift-ci openshift-ci bot added the qe-approved Signifies that QE has signed off on this PR label Nov 19, 2021
@openshift-merge-robot openshift-merge-robot merged commit b5183e8 into openshift:release-4.8 Nov 19, 2021
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 19, 2021

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

Bugzilla bug 2022043 has been moved to the MODIFIED state.

In response to this:

Bug 2022043: [4.8z] Avoid stale annotations by re-subscribing to netlink

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 fix_stale_annotations_bug2022043 branch November 19, 2021 13:37
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-high Referenced Bugzilla bug's severity is high 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.

None yet

9 participants