From ede0dc1d079410690a2c9422a4ea46d80d60b602 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 15 Nov 2023 11:21:16 -0500 Subject: [PATCH] Make newBaseServiceInfo a function rather than a method (in preparation for moving it) --- pkg/proxy/service.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pkg/proxy/service.go b/pkg/proxy/service.go index e175fd85577..a28ec8fcb3b 100644 --- a/pkg/proxy/service.go +++ b/pkg/proxy/service.go @@ -145,7 +145,7 @@ func (bsvcPortInfo *BaseServicePortInfo) UsesLocalEndpoints() bool { return bsvcPortInfo.internalPolicyLocal || (bsvcPortInfo.externalPolicyLocal && bsvcPortInfo.ExternallyAccessible()) } -func (sct *ServiceChangeTracker) newBaseServiceInfo(port *v1.ServicePort, service *v1.Service) *BaseServicePortInfo { +func newBaseServiceInfo(service *v1.Service, ipFamily v1.IPFamily, port *v1.ServicePort) *BaseServicePortInfo { externalPolicyLocal := apiservice.ExternalPolicyLocal(service) internalPolicyLocal := apiservice.InternalPolicyLocal(service) @@ -155,7 +155,7 @@ func (sct *ServiceChangeTracker) newBaseServiceInfo(port *v1.ServicePort, servic stickyMaxAgeSeconds = int(*service.Spec.SessionAffinityConfig.ClientIP.TimeoutSeconds) } - clusterIP := proxyutil.GetClusterIPByFamily(sct.ipFamily, service) + clusterIP := proxyutil.GetClusterIPByFamily(ipFamily, service) info := &BaseServicePortInfo{ clusterIP: netutils.ParseIPSloppy(clusterIP), port: int(port.Port), @@ -184,20 +184,20 @@ func (sct *ServiceChangeTracker) newBaseServiceInfo(port *v1.ServicePort, servic // to just log lines with high verbosity ipFamilyMap := proxyutil.MapIPsByIPFamily(service.Spec.ExternalIPs) - info.externalIPs = ipFamilyMap[sct.ipFamily] + info.externalIPs = ipFamilyMap[ipFamily] // Log the IPs not matching the ipFamily - if ips, ok := ipFamilyMap[proxyutil.OtherIPFamily(sct.ipFamily)]; ok && len(ips) > 0 { + if ips, ok := ipFamilyMap[proxyutil.OtherIPFamily(ipFamily)]; ok && len(ips) > 0 { klog.V(4).InfoS("Service change tracker ignored the following external IPs for given service as they don't match IP Family", - "ipFamily", sct.ipFamily, "externalIPs", strings.Join(ips, ", "), "service", klog.KObj(service)) + "ipFamily", ipFamily, "externalIPs", strings.Join(ips, ", "), "service", klog.KObj(service)) } ipFamilyMap = proxyutil.MapCIDRsByIPFamily(loadBalancerSourceRanges) - info.loadBalancerSourceRanges = ipFamilyMap[sct.ipFamily] + info.loadBalancerSourceRanges = ipFamilyMap[ipFamily] // Log the CIDRs not matching the ipFamily - if cidrs, ok := ipFamilyMap[proxyutil.OtherIPFamily(sct.ipFamily)]; ok && len(cidrs) > 0 { + if cidrs, ok := ipFamilyMap[proxyutil.OtherIPFamily(ipFamily)]; ok && len(cidrs) > 0 { klog.V(4).InfoS("Service change tracker ignored the following load balancer source ranges for given Service as they don't match IP Family", - "ipFamily", sct.ipFamily, "loadBalancerSourceRanges", strings.Join(cidrs, ", "), "service", klog.KObj(service)) + "ipFamily", ipFamily, "loadBalancerSourceRanges", strings.Join(cidrs, ", "), "service", klog.KObj(service)) } // Obtain Load Balancer Ingress @@ -212,13 +212,13 @@ func (sct *ServiceChangeTracker) newBaseServiceInfo(port *v1.ServicePort, servic // the status ingress.IP and the ClusterIP belong to the same family. if !proxyutil.IsVIPMode(ing) { klog.V(4).InfoS("Service change tracker ignored the following load balancer ingress IP for given Service as it using Proxy mode", - "ipFamily", sct.ipFamily, "loadBalancerIngressIP", ing.IP, "service", klog.KObj(service)) + "ipFamily", ipFamily, "loadBalancerIngressIP", ing.IP, "service", klog.KObj(service)) continue } // kube-proxy does not implement IP family translation, skip addresses with // different IP family - if ipFamily := proxyutil.GetIPFamilyFromIP(ing.IP); ipFamily == sct.ipFamily { + if ingFamily := proxyutil.GetIPFamilyFromIP(ing.IP); ingFamily == ipFamily { info.loadBalancerVIPs = append(info.loadBalancerVIPs, ing.IP) } else { invalidIPs = append(invalidIPs, ing.IP) @@ -226,7 +226,7 @@ func (sct *ServiceChangeTracker) newBaseServiceInfo(port *v1.ServicePort, servic } if len(invalidIPs) > 0 { klog.V(4).InfoS("Service change tracker ignored the following load balancer ingress IPs for given Service as they don't match the IP Family", - "ipFamily", sct.ipFamily, "loadBalancerIngressIPs", strings.Join(invalidIPs, ", "), "service", klog.KObj(service)) + "ipFamily", ipFamily, "loadBalancerIngressIPs", strings.Join(invalidIPs, ", "), "service", klog.KObj(service)) } if apiservice.NeedsHealthCheck(service) { @@ -375,7 +375,7 @@ func (sct *ServiceChangeTracker) serviceToServiceMap(service *v1.Service) Servic for i := range service.Spec.Ports { servicePort := &service.Spec.Ports[i] svcPortName := ServicePortName{NamespacedName: svcName, Port: servicePort.Name, Protocol: servicePort.Protocol} - baseSvcInfo := sct.newBaseServiceInfo(servicePort, service) + baseSvcInfo := newBaseServiceInfo(service, sct.ipFamily, servicePort) if sct.makeServiceInfo != nil { svcPortMap[svcPortName] = sct.makeServiceInfo(servicePort, service, baseSvcInfo) } else {