mirror of https://github.com/k3s-io/k3s
Merge pull request #35681 from vincentheet/issue-35677
Automatic merge from submit-queue Change stickyMaxAge from seconds to minutes, fixes issue #35677 **What this PR does / why we need it**: Increases the service sessionAfinity time from 180 seconds to 180 minutes for proxy mode iptables which was a bug introduced in a refactor. **Which issue this PR fixes**: fixes #35677 **Special notes for your reviewer**: **Release note**: ``` release-note Fixed wrong service sessionAffinity stickiness time from 180 sec to 180 minutes in proxy mode iptables. ``` Since there is no test for the sessionAffinity feature at the moment I wanted to create one but I don't know how.pull/6/head
commit
ddf5888da4
|
@ -138,7 +138,7 @@ type serviceInfo struct {
|
|||
nodePort int
|
||||
loadBalancerStatus api.LoadBalancerStatus
|
||||
sessionAffinityType api.ServiceAffinity
|
||||
stickyMaxAgeSeconds int
|
||||
stickyMaxAgeMinutes int
|
||||
externalIPs []string
|
||||
loadBalancerSourceRanges []string
|
||||
onlyNodeLocalEndpoints bool
|
||||
|
@ -155,7 +155,7 @@ type endpointsInfo struct {
|
|||
func newServiceInfo(service proxy.ServicePortName) *serviceInfo {
|
||||
return &serviceInfo{
|
||||
sessionAffinityType: api.ServiceAffinityNone, // default
|
||||
stickyMaxAgeSeconds: 180, // TODO: paramaterize this in the API.
|
||||
stickyMaxAgeMinutes: 180, // TODO: paramaterize this in the API.
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1165,7 +1165,7 @@ func (proxier *Proxier) syncProxyRules() {
|
|||
"-A", string(svcChain),
|
||||
"-m", "comment", "--comment", svcName.String(),
|
||||
"-m", "recent", "--name", string(endpointChain),
|
||||
"--rcheck", "--seconds", fmt.Sprintf("%d", svcInfo.stickyMaxAgeSeconds), "--reap",
|
||||
"--rcheck", "--seconds", fmt.Sprintf("%d", svcInfo.stickyMaxAgeMinutes*60), "--reap",
|
||||
"-j", string(endpointChain))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -260,7 +260,7 @@ func TestExecConntrackTool(t *testing.T) {
|
|||
func newFakeServiceInfo(service proxy.ServicePortName, ip net.IP, protocol api.Protocol, onlyNodeLocalEndpoints bool) *serviceInfo {
|
||||
return &serviceInfo{
|
||||
sessionAffinityType: api.ServiceAffinityNone, // default
|
||||
stickyMaxAgeSeconds: 180, // TODO: paramaterize this in the API.
|
||||
stickyMaxAgeMinutes: 180, // TODO: paramaterize this in the API.
|
||||
clusterIP: ip,
|
||||
protocol: protocol,
|
||||
onlyNodeLocalEndpoints: onlyNodeLocalEndpoints,
|
||||
|
|
Loading…
Reference in New Issue