-
Notifications
You must be signed in to change notification settings - Fork 39.4k
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
ipvs: fix string check for IPVS protocol during graceful termination #78999
ipvs: fix string check for IPVS protocol during graceful termination #78999
Conversation
/assign @m1093782566 @lbernail |
/priority critical-urgent |
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
388308c
to
bb95143
Compare
More proper fix for a follow-up PR would be to change the string values returned in protocolToString to lower case values to be consistent with values passed into |
Also created #79001 re: e2e coverage for IPVS graceful termination |
/retest |
Nice catch I agree that we should standardize on lower or upper everywhere to avoid this type of issue |
/lgtm |
We'll need to cherry-pick this in 1.14, 1.13 and 1.12 |
(for the future cleanup, not this patch) Would suggest moving those strings into constants for consistency. |
/assign @johnbelamaric |
needs approval. once approved, go ahead and open the cherrypick against 1.15 if you want to make v1.15.0, since the master merge pool is full |
@kubernetes/patch-release-team |
note that this is targeting v1.15.0 |
Created #79044 for faster turn over into 1.15 if/when this one gets approved (please approve this one first). |
Thanks! /lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: andrewsykim, thockin The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…78999-origin-release-1.15 Automated cherry pick of #78999: ipvs: fix string check for IPVS protocol during graceful
…78999-origin-release-1.12 Automated cherry pick of #78999: ipvs: fix string check for IPVS protocol during graceful
…78999-origin-release-1.14 Automated cherry pick of #78999: ipvs: fix string check for IPVS protocol during graceful
…78999-origin-release-1.13 Automated cherry pick of #78999: ipvs: fix string check for IPVS protocol during graceful
Signed-off-by: Andrew Sy Kim kiman@vmware.com
What type of PR is this?
/kind bug
What this PR does / why we need it:
In #77802 we removed graceful termination for UDP (causes many issues when there are too many connections/real servers). It turns out that in
pkg/util/ipvs
we actually convert the protocol values from netlink to upper case strings ("TCP", "UDP", etc, see protocolToString) even though the string passed intodocker/libnetwork/ipvs
is lower case string (see stringToProtocol).This PR fixes this bug by always checking upper case values. As a follow-up we should consolidate the string casing for utils/ipvs to ensure this doesn't happen again. The PR for this will be larger so wanted to get the bug fix only change in before we cut v1.15 and for easier cherry-picking for previous versions.
I'm missing context as to why we use lower case values for
stringToProtocol
and upper case values forprotocolToString
, would appreciate some background there @m1093782566 @lbernail.Which issue(s) this PR fixes:
Fixes ##78993
DNS service in the reported issue went down due to too many stale real server entries being held by graceful termination.
Special notes for your reviewer:
Does this PR introduce a user-facing change?: