-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
service: Restore Maglev table when M changes #14469
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
maintainer-s-little-helper
bot
added
the
dont-merge/needs-release-note-label
The author needs to describe the release impact of these changes.
label
Dec 21, 2020
test-me-please |
christarazi
reviewed
Dec 21, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, minor question below
brb
force-pushed
the
pr/brb/recalc-maglev-after-rm-map
branch
from
January 4, 2021 08:50
56ed2c8
to
090b024
Compare
When running in the lb-only mode, there is no connectivity to kube-apiserver, and UpsertService() can be only invoked by the Cilium API calls. When cilium-agent restarts, it might recreate the Maglev BPF map if it detects that the M param might have changed. The recreation removes the lookup entries from the map leaving the map empty. As there is no way to resync (with kube-apiserver) after the restart, we need to fix this by recalculating the Maglev tables during the restoration of services from the LB BPF maps. Reported-by: Han Zhou <hzhou8@ebay.com> Signed-off-by: Martynas Pumputis <m@lambda.lt>
retest-net-next |
brb
added
the
release-note/bug
This PR fixes an issue in a previous release of Cilium.
label
Jan 4, 2021
maintainer-s-little-helper
bot
removed
the
dont-merge/needs-release-note-label
The author needs to describe the release impact of these changes.
label
Jan 4, 2021
aanm
requested changes
Jan 4, 2021
aanm
approved these changes
Jan 4, 2021
christarazi
approved these changes
Jan 4, 2021
Previously all tests have passed. After pushing small changes, I ran only net-next which passed. The PR is good to merge. |
brb
added
the
ready-to-merge
This PR has passed all tests and received consensus from code owners to merge.
label
Jan 5, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
kind/bug
This is a bug in the Cilium logic.
ready-to-merge
This PR has passed all tests and received consensus from code owners to merge.
release-note/bug
This PR fixes an issue in a previous release of Cilium.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When running in the lb-only mode, there is no connectivity to
kube-apiserver, and UpsertService() can be only invoked by the Cilium
API calls.
When cilium-agent restarts, it might recreate the Maglev BPF map if it
detects that the M param might have changed. The recreation removes the
lookup entries from the map leaving the map empty.
As there is no way to resync (with kube-apiserver) after the restart, we
need to fix this by recalculating the Maglev tables during the
restoration of services from the LB BPF maps.
Reported-by: Han Zhou hzhou8@ebay.com