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
eni: Fix releases of excess IPs #9858
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
The release of excess IPs has been incorrect due to not taking into account the max-above-watermark limit in combination with min-allocate. This bug was hidden in the unit test as min-allocate was set to a value equal to the max IP limit of the interface which rendered the value of max-above-watermark (4) to never be taken into account as min-allocate had already maxed out the interface limit. Fix the calculation of excess IPs to never fall below min-allocate + max-above-watermark and change the unit tests to cover this scenario. This fixes a bug where IPs would always be immediately released again if min-allocate was greater than pre-allocate and the number of used IPs did not make up for that gap. Signed-off-by: Thomas Graf <thomas@cilium.io>
tgraf
added
kind/bug
This is a bug in the Cilium logic.
pending-review
area/eni
Impacts ENI based IPAM.
labels
Jan 13, 2020
Release note label not set, please set the appropriate release note. |
2 similar comments
Release note label not set, please set the appropriate release note. |
Release note label not set, please set the appropriate release note. |
tgraf
added
the
release-note/bug
This PR fixes an issue in a previous release of Cilium.
label
Jan 13, 2020
test-me-please |
tgraf
removed
the
release-note/bug
This PR fixes an issue in a previous release of Cilium.
label
Jan 13, 2020
Release note label not set, please set the appropriate release note. |
tgraf
added
the
release-note/bug
This PR fixes an issue in a previous release of Cilium.
label
Jan 13, 2020
aanm
removed
the
release-note/bug
This PR fixes an issue in a previous release of Cilium.
label
Jan 13, 2020
Release note label not set, please set the appropriate release note. |
aanm
added
the
release-note/bug
This PR fixes an issue in a previous release of Cilium.
label
Jan 13, 2020
aanm
approved these changes
Jan 13, 2020
maintainer-s-little-helper
bot
moved this from Needs backport from master
to Backport pending to v1.6
in 1.6.6
Jan 24, 2020
maintainer-s-little-helper
bot
moved this from Backport pending to v1.6
to Backport done to v1.6
in 1.6.6
Jan 24, 2020
maintainer-s-little-helper
bot
moved this from Backport pending to v1.6
to Backport done to v1.6
in 1.6.6
Jan 24, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area/eni
Impacts ENI based IPAM.
kind/bug
This is a bug in the Cilium logic.
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.
The release of excess IPs has been incorrect due to not taking into account the
max-above-watermark limit in combination with min-allocate. This bug was hidden
in the unit test as min-allocate was set to a value equal to the max IP limit
of the interface which rendered the value of max-above-watermark (4) to never
be taken into account as min-allocate had already maxed out the interface limit.
Fix the calculation of excess IPs to never fall below min-allocate +
max-above-watermark and change the unit tests to cover this scenario.
This fixes a bug where IPs would always be immediately released again if
min-allocate was greater than pre-allocate and the number of used IPs did not
make up for that gap.
This change is