From 30c15237087e3634f00cbc31e34e958e0dc305fa Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Sun, 27 Mar 2022 10:00:16 -0700 Subject: [PATCH] kube-proxy: Renames for readability --- pkg/api/v1/service/util.go | 11 +++++------ pkg/api/v1/service/util_test.go | 32 +++++++++++++++---------------- pkg/proxy/iptables/proxier.go | 6 +++--- pkg/proxy/ipvs/proxier.go | 14 +++++++------- pkg/proxy/service.go | 34 ++++++++++++++++----------------- pkg/proxy/topology_test.go | 34 ++++++++++++++++----------------- pkg/proxy/types.go | 8 ++++---- 7 files changed, 69 insertions(+), 70 deletions(-) diff --git a/pkg/api/v1/service/util.go b/pkg/api/v1/service/util.go index 68913287c13..928c82c34f6 100644 --- a/pkg/api/v1/service/util.go +++ b/pkg/api/v1/service/util.go @@ -67,8 +67,8 @@ func GetLoadBalancerSourceRanges(service *v1.Service) (utilnet.IPNetSet, error) return ipnets, nil } -// RequestsOnlyLocalTraffic checks if service requests OnlyLocal traffic. -func RequestsOnlyLocalTraffic(service *v1.Service) bool { +// ExternalPolicyLocal checks if service has ETP = Local. +func ExternalPolicyLocal(service *v1.Service) bool { if service.Spec.Type != v1.ServiceTypeLoadBalancer && service.Spec.Type != v1.ServiceTypeNodePort { return false @@ -76,9 +76,8 @@ func RequestsOnlyLocalTraffic(service *v1.Service) bool { return service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyTypeLocal } -// RequestsOnlyLocalTrafficForInternal checks if service prefers Node Local -// endpoints for internal traffic -func RequestsOnlyLocalTrafficForInternal(service *v1.Service) bool { +// InternalPolicyLocal checks if service has ITP = Local. +func InternalPolicyLocal(service *v1.Service) bool { if service.Spec.InternalTrafficPolicy == nil { return false } @@ -90,7 +89,7 @@ func NeedsHealthCheck(service *v1.Service) bool { if service.Spec.Type != v1.ServiceTypeLoadBalancer { return false } - return RequestsOnlyLocalTraffic(service) + return ExternalPolicyLocal(service) } // GetServiceHealthCheckPathPort returns the path and nodePort programmed into the Cloud LB Health Check diff --git a/pkg/api/v1/service/util_test.go b/pkg/api/v1/service/util_test.go index f7a3c2dadb9..42510c28897 100644 --- a/pkg/api/v1/service/util_test.go +++ b/pkg/api/v1/service/util_test.go @@ -129,45 +129,45 @@ func TestAllowAll(t *testing.T) { checkAllowAll(true, "192.168.0.1/32", "0.0.0.0/0") } -func TestRequestsOnlyLocalTraffic(t *testing.T) { - checkRequestsOnlyLocalTraffic := func(requestsOnlyLocalTraffic bool, service *v1.Service) { - res := RequestsOnlyLocalTraffic(service) +func TestExternalPolicyLocal(t *testing.T) { + checkExternalPolicyLocal := func(requestsOnlyLocalTraffic bool, service *v1.Service) { + res := ExternalPolicyLocal(service) if res != requestsOnlyLocalTraffic { t.Errorf("Expected requests OnlyLocal traffic = %v, got %v", requestsOnlyLocalTraffic, res) } } - checkRequestsOnlyLocalTraffic(false, &v1.Service{}) - checkRequestsOnlyLocalTraffic(false, &v1.Service{ + checkExternalPolicyLocal(false, &v1.Service{}) + checkExternalPolicyLocal(false, &v1.Service{ Spec: v1.ServiceSpec{ Type: v1.ServiceTypeClusterIP, }, }) - checkRequestsOnlyLocalTraffic(false, &v1.Service{ + checkExternalPolicyLocal(false, &v1.Service{ Spec: v1.ServiceSpec{ Type: v1.ServiceTypeNodePort, }, }) - checkRequestsOnlyLocalTraffic(false, &v1.Service{ + checkExternalPolicyLocal(false, &v1.Service{ Spec: v1.ServiceSpec{ Type: v1.ServiceTypeNodePort, ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster, }, }) - checkRequestsOnlyLocalTraffic(true, &v1.Service{ + checkExternalPolicyLocal(true, &v1.Service{ Spec: v1.ServiceSpec{ Type: v1.ServiceTypeNodePort, ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal, }, }) - checkRequestsOnlyLocalTraffic(false, &v1.Service{ + checkExternalPolicyLocal(false, &v1.Service{ Spec: v1.ServiceSpec{ Type: v1.ServiceTypeLoadBalancer, ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster, }, }) - checkRequestsOnlyLocalTraffic(true, &v1.Service{ + checkExternalPolicyLocal(true, &v1.Service{ Spec: v1.ServiceSpec{ Type: v1.ServiceTypeLoadBalancer, ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal, @@ -215,9 +215,9 @@ func TestNeedsHealthCheck(t *testing.T) { }) } -func TestRequestsOnlyLocalTrafficForInternal(t *testing.T) { - checkRequestsOnlyLocalTrafficForInternal := func(expected bool, service *v1.Service) { - res := RequestsOnlyLocalTrafficForInternal(service) +func TestInternalPolicyLocal(t *testing.T) { + checkInternalPolicyLocal := func(expected bool, service *v1.Service) { + res := InternalPolicyLocal(service) if res != expected { t.Errorf("Expected internal local traffic = %v, got %v", expected, res) @@ -225,17 +225,17 @@ func TestRequestsOnlyLocalTrafficForInternal(t *testing.T) { } // default InternalTrafficPolicy is nil - checkRequestsOnlyLocalTrafficForInternal(false, &v1.Service{}) + checkInternalPolicyLocal(false, &v1.Service{}) local := v1.ServiceInternalTrafficPolicyLocal - checkRequestsOnlyLocalTrafficForInternal(true, &v1.Service{ + checkInternalPolicyLocal(true, &v1.Service{ Spec: v1.ServiceSpec{ InternalTrafficPolicy: &local, }, }) cluster := v1.ServiceInternalTrafficPolicyCluster - checkRequestsOnlyLocalTrafficForInternal(false, &v1.Service{ + checkInternalPolicyLocal(false, &v1.Service{ Spec: v1.ServiceSpec{ InternalTrafficPolicy: &cluster, }, diff --git a/pkg/proxy/iptables/proxier.go b/pkg/proxy/iptables/proxier.go index 4f2dade6239..b4883d9b288 100644 --- a/pkg/proxy/iptables/proxier.go +++ b/pkg/proxy/iptables/proxier.go @@ -1054,10 +1054,10 @@ func (proxier *Proxier) syncProxyRules() { // external-destination traffic. internalPolicyChain := clusterPolicyChain externalPolicyChain := clusterPolicyChain - if svcInfo.NodeLocalInternal() { + if svcInfo.InternalPolicyLocal() { internalPolicyChain = localPolicyChain } - if svcInfo.NodeLocalExternal() { + if svcInfo.ExternalPolicyLocal() { externalPolicyChain = localPolicyChain } @@ -1101,7 +1101,7 @@ func (proxier *Proxier) syncProxyRules() { } activeNATChains[externalTrafficChain] = true - if !svcInfo.NodeLocalExternal() { + if !svcInfo.ExternalPolicyLocal() { // If we are using non-local endpoints we need to masquerade, // in case we cross nodes. proxier.natRules.Write( diff --git a/pkg/proxy/ipvs/proxier.go b/pkg/proxy/ipvs/proxier.go index a6aeac3c0b2..0346845cee2 100644 --- a/pkg/proxy/ipvs/proxier.go +++ b/pkg/proxy/ipvs/proxier.go @@ -1202,7 +1202,7 @@ func (proxier *Proxier) syncProxyRules() { // ExternalTrafficPolicy only works for NodePort and external LB traffic, does not affect ClusterIP // So we still need clusterIP rules in onlyNodeLocalEndpoints mode. internalNodeLocal := false - if utilfeature.DefaultFeatureGate.Enabled(features.ServiceInternalTrafficPolicy) && svcInfo.NodeLocalInternal() { + if utilfeature.DefaultFeatureGate.Enabled(features.ServiceInternalTrafficPolicy) && svcInfo.InternalPolicyLocal() { internalNodeLocal = true } if err := proxier.syncEndpoint(svcName, internalNodeLocal, serv); err != nil { @@ -1222,7 +1222,7 @@ func (proxier *Proxier) syncProxyRules() { SetType: utilipset.HashIPPort, } - if svcInfo.NodeLocalExternal() { + if svcInfo.ExternalPolicyLocal() { if valid := proxier.ipsetList[kubeExternalIPLocalSet].validateEntry(entry); !valid { klog.ErrorS(nil, "Error adding entry to ipset", "entry", entry, "ipset", proxier.ipsetList[kubeExternalIPLocalSet].Name) continue @@ -1252,7 +1252,7 @@ func (proxier *Proxier) syncProxyRules() { activeIPVSServices[serv.String()] = true activeBindAddrs[serv.Address.String()] = true - if err := proxier.syncEndpoint(svcName, svcInfo.NodeLocalExternal(), serv); err != nil { + if err := proxier.syncEndpoint(svcName, svcInfo.ExternalPolicyLocal(), serv); err != nil { klog.ErrorS(err, "Failed to sync endpoint for service", "serviceName", svcName, "virtualServer", serv) } } else { @@ -1279,7 +1279,7 @@ func (proxier *Proxier) syncProxyRules() { } proxier.ipsetList[kubeLoadBalancerSet].activeEntries.Insert(entry.String()) // insert loadbalancer entry to lbIngressLocalSet if service externaltrafficpolicy=local - if svcInfo.NodeLocalExternal() { + if svcInfo.ExternalPolicyLocal() { if valid := proxier.ipsetList[kubeLoadBalancerLocalSet].validateEntry(entry); !valid { klog.ErrorS(nil, "Error adding entry to ipset", "entry", entry, "ipset", proxier.ipsetList[kubeLoadBalancerLocalSet].Name) continue @@ -1351,7 +1351,7 @@ func (proxier *Proxier) syncProxyRules() { if err := proxier.syncService(svcNameString, serv, true, bindedAddresses); err == nil { activeIPVSServices[serv.String()] = true activeBindAddrs[serv.Address.String()] = true - if err := proxier.syncEndpoint(svcName, svcInfo.NodeLocalExternal(), serv); err != nil { + if err := proxier.syncEndpoint(svcName, svcInfo.ExternalPolicyLocal(), serv); err != nil { klog.ErrorS(err, "Failed to sync endpoint for service", "serviceName", svcName, "virtualServer", serv) } } else { @@ -1449,7 +1449,7 @@ func (proxier *Proxier) syncProxyRules() { } // Add externaltrafficpolicy=local type nodeport entry - if svcInfo.NodeLocalExternal() { + if svcInfo.ExternalPolicyLocal() { var nodePortLocalSet *IPSet switch protocol { case utilipset.ProtocolTCP: @@ -1494,7 +1494,7 @@ func (proxier *Proxier) syncProxyRules() { // There is no need to bind Node IP to dummy interface, so set parameter `bindAddr` to `false`. if err := proxier.syncService(svcNameString, serv, false, bindedAddresses); err == nil { activeIPVSServices[serv.String()] = true - if err := proxier.syncEndpoint(svcName, svcInfo.NodeLocalExternal(), serv); err != nil { + if err := proxier.syncEndpoint(svcName, svcInfo.ExternalPolicyLocal(), serv); err != nil { klog.ErrorS(err, "Failed to sync endpoint for service", "serviceName", svcName, "virtualServer", serv) } } else { diff --git a/pkg/proxy/service.go b/pkg/proxy/service.go index 71b141a3376..17e746fbfac 100644 --- a/pkg/proxy/service.go +++ b/pkg/proxy/service.go @@ -52,8 +52,8 @@ type BaseServiceInfo struct { externalIPs []string loadBalancerSourceRanges []string healthCheckNodePort int - nodeLocalExternal bool - nodeLocalInternal bool + externalPolicyLocal bool + internalPolicyLocal bool internalTrafficPolicy *v1.ServiceInternalTrafficPolicyType hintsAnnotation string } @@ -119,14 +119,14 @@ func (info *BaseServiceInfo) LoadBalancerIPStrings() []string { return ips } -// NodeLocalExternal is part of ServicePort interface. -func (info *BaseServiceInfo) NodeLocalExternal() bool { - return info.nodeLocalExternal +// ExternalPolicyLocal is part of ServicePort interface. +func (info *BaseServiceInfo) ExternalPolicyLocal() bool { + return info.externalPolicyLocal } -// NodeLocalInternal is part of ServicePort interface -func (info *BaseServiceInfo) NodeLocalInternal() bool { - return info.nodeLocalInternal +// InternalPolicyLocal is part of ServicePort interface +func (info *BaseServiceInfo) InternalPolicyLocal() bool { + return info.internalPolicyLocal } // InternalTrafficPolicy is part of ServicePort interface @@ -149,22 +149,22 @@ func (info *BaseServiceInfo) UsesClusterEndpoints() bool { // The service port uses Cluster endpoints if the internal traffic policy is "Cluster", // or if it accepts external traffic at all. (Even if the external traffic policy is // "Local", we need Cluster endpoints to implement short circuiting.) - return !info.nodeLocalInternal || info.ExternallyAccessible() + return !info.internalPolicyLocal || info.ExternallyAccessible() } // UsesLocalEndpoints is part of ServicePort interface. func (info *BaseServiceInfo) UsesLocalEndpoints() bool { - return info.nodeLocalInternal || (info.nodeLocalExternal && info.ExternallyAccessible()) + return info.internalPolicyLocal || (info.externalPolicyLocal && info.ExternallyAccessible()) } func (sct *ServiceChangeTracker) newBaseServiceInfo(port *v1.ServicePort, service *v1.Service) *BaseServiceInfo { - nodeLocalExternal := false - if apiservice.RequestsOnlyLocalTraffic(service) { - nodeLocalExternal = true + externalPolicyLocal := false + if apiservice.ExternalPolicyLocal(service) { + externalPolicyLocal = true } - nodeLocalInternal := false + internalPolicyLocal := false if utilfeature.DefaultFeatureGate.Enabled(features.ServiceInternalTrafficPolicy) { - nodeLocalInternal = apiservice.RequestsOnlyLocalTrafficForInternal(service) + internalPolicyLocal = apiservice.InternalPolicyLocal(service) } var stickyMaxAgeSeconds int if service.Spec.SessionAffinity == v1.ServiceAffinityClientIP { @@ -180,8 +180,8 @@ func (sct *ServiceChangeTracker) newBaseServiceInfo(port *v1.ServicePort, servic nodePort: int(port.NodePort), sessionAffinityType: service.Spec.SessionAffinity, stickyMaxAgeSeconds: stickyMaxAgeSeconds, - nodeLocalExternal: nodeLocalExternal, - nodeLocalInternal: nodeLocalInternal, + externalPolicyLocal: externalPolicyLocal, + internalPolicyLocal: internalPolicyLocal, internalTrafficPolicy: service.Spec.InternalTrafficPolicy, hintsAnnotation: service.Annotations[v1.AnnotationTopologyAwareHints], } diff --git a/pkg/proxy/topology_test.go b/pkg/proxy/topology_test.go index cdab4926ccb..77087a66bbf 100644 --- a/pkg/proxy/topology_test.go +++ b/pkg/proxy/topology_test.go @@ -120,7 +120,7 @@ func TestCategorizeEndpoints(t *testing.T) { name: "externalTrafficPolicy: Local, topology ignored for Local endpoints", hintsEnabled: true, nodeLabels: map[string]string{v1.LabelTopologyZone: "zone-a"}, - serviceInfo: &BaseServiceInfo{nodeLocalExternal: true, nodePort: 8080, hintsAnnotation: "auto"}, + serviceInfo: &BaseServiceInfo{externalPolicyLocal: true, nodePort: 8080, hintsAnnotation: "auto"}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.1.2.3:80", ZoneHints: sets.NewString("zone-a"), Ready: true, IsLocal: true}, &BaseEndpointInfo{Endpoint: "10.1.2.4:80", ZoneHints: sets.NewString("zone-b"), Ready: true, IsLocal: true}, @@ -134,7 +134,7 @@ func TestCategorizeEndpoints(t *testing.T) { name: "internalTrafficPolicy: Local, topology ignored for Local endpoints", hintsEnabled: true, nodeLabels: map[string]string{v1.LabelTopologyZone: "zone-a"}, - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true, hintsAnnotation: "auto", nodeLocalExternal: false, nodePort: 8080}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true, hintsAnnotation: "auto", externalPolicyLocal: false, nodePort: 8080}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.1.2.3:80", ZoneHints: sets.NewString("zone-a"), Ready: true, IsLocal: true}, &BaseEndpointInfo{Endpoint: "10.1.2.4:80", ZoneHints: sets.NewString("zone-b"), Ready: true, IsLocal: true}, @@ -282,7 +282,7 @@ func TestCategorizeEndpoints(t *testing.T) { name: "conflicting topology and localness require merging allEndpoints", hintsEnabled: true, nodeLabels: map[string]string{v1.LabelTopologyZone: "zone-a"}, - serviceInfo: &BaseServiceInfo{nodeLocalInternal: false, nodeLocalExternal: true, nodePort: 8080, hintsAnnotation: "auto"}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: false, externalPolicyLocal: true, nodePort: 8080, hintsAnnotation: "auto"}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", ZoneHints: sets.NewString("zone-a"), Ready: true, IsLocal: true}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", ZoneHints: sets.NewString("zone-b"), Ready: true, IsLocal: true}, @@ -294,13 +294,13 @@ func TestCategorizeEndpoints(t *testing.T) { allEndpoints: sets.NewString("10.0.0.0:80", "10.0.0.1:80", "10.0.0.2:80"), }, { name: "internalTrafficPolicy: Local, with empty endpoints", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true}, endpoints: []Endpoint{}, clusterEndpoints: nil, localEndpoints: sets.NewString(), }, { name: "internalTrafficPolicy: Local, but all endpoints are remote", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: false}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: true, IsLocal: false}, @@ -310,7 +310,7 @@ func TestCategorizeEndpoints(t *testing.T) { onlyRemoteEndpoints: true, }, { name: "internalTrafficPolicy: Local, all endpoints are local", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: true}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: true, IsLocal: true}, @@ -319,7 +319,7 @@ func TestCategorizeEndpoints(t *testing.T) { localEndpoints: sets.NewString("10.0.0.0:80", "10.0.0.1:80"), }, { name: "internalTrafficPolicy: Local, some endpoints are local", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: true}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: true, IsLocal: false}, @@ -366,7 +366,7 @@ func TestCategorizeEndpoints(t *testing.T) { localEndpoints: nil, }, { name: "iTP: Local, eTP: Cluster, some endpoints local", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true, nodeLocalExternal: false, nodePort: 8080}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true, externalPolicyLocal: false, nodePort: 8080}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: true}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: true, IsLocal: false}, @@ -376,7 +376,7 @@ func TestCategorizeEndpoints(t *testing.T) { allEndpoints: sets.NewString("10.0.0.0:80", "10.0.0.1:80"), }, { name: "iTP: Cluster, eTP: Local, some endpoints local", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: false, nodeLocalExternal: true, nodePort: 8080}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: false, externalPolicyLocal: true, nodePort: 8080}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: true}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: true, IsLocal: false}, @@ -386,7 +386,7 @@ func TestCategorizeEndpoints(t *testing.T) { allEndpoints: sets.NewString("10.0.0.0:80", "10.0.0.1:80"), }, { name: "iTP: Local, eTP: Local, some endpoints local", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true, nodeLocalExternal: true, nodePort: 8080}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true, externalPolicyLocal: true, nodePort: 8080}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: true}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: true, IsLocal: false}, @@ -396,7 +396,7 @@ func TestCategorizeEndpoints(t *testing.T) { allEndpoints: sets.NewString("10.0.0.0:80", "10.0.0.1:80"), }, { name: "iTP: Local, eTP: Local, all endpoints remote", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true, nodeLocalExternal: true, nodePort: 8080}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true, externalPolicyLocal: true, nodePort: 8080}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: false}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: true, IsLocal: false}, @@ -406,7 +406,7 @@ func TestCategorizeEndpoints(t *testing.T) { allEndpoints: sets.NewString("10.0.0.0:80", "10.0.0.1:80"), }, { name: "iTP: Local, eTP: Local, PTE disabled, all endpoints remote and terminating", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true, nodeLocalExternal: true, nodePort: 8080}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true, externalPolicyLocal: true, nodePort: 8080}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: false, Serving: true, Terminating: true, IsLocal: false}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: false, Serving: true, Terminating: true, IsLocal: false}, @@ -417,7 +417,7 @@ func TestCategorizeEndpoints(t *testing.T) { }, { name: "iTP: Local, eTP: Local, PTE enabled, all endpoints remote and terminating", pteEnabled: true, - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true, nodeLocalExternal: true, nodePort: 8080}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true, externalPolicyLocal: true, nodePort: 8080}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: false, Serving: true, Terminating: true, IsLocal: false}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: false, Serving: true, Terminating: true, IsLocal: false}, @@ -428,7 +428,7 @@ func TestCategorizeEndpoints(t *testing.T) { onlyRemoteEndpoints: true, }, { name: "iTP: Cluster, eTP: Local, PTE disabled, with terminating endpoints", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: false, nodeLocalExternal: true, nodePort: 8080}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: false, externalPolicyLocal: true, nodePort: 8080}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: false}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: false, Serving: false, IsLocal: true}, @@ -441,7 +441,7 @@ func TestCategorizeEndpoints(t *testing.T) { }, { name: "iTP: Cluster, eTP: Local, PTE enabled, with terminating endpoints", pteEnabled: true, - serviceInfo: &BaseServiceInfo{nodeLocalInternal: false, nodeLocalExternal: true, nodePort: 8080}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: false, externalPolicyLocal: true, nodePort: 8080}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: false}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: false, Serving: false, IsLocal: true}, @@ -453,7 +453,7 @@ func TestCategorizeEndpoints(t *testing.T) { allEndpoints: sets.NewString("10.0.0.0:80", "10.0.0.2:80"), }, { name: "externalTrafficPolicy ignored if not externally accessible", - serviceInfo: &BaseServiceInfo{nodeLocalExternal: true}, + serviceInfo: &BaseServiceInfo{externalPolicyLocal: true}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: false}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: true, IsLocal: true}, @@ -463,7 +463,7 @@ func TestCategorizeEndpoints(t *testing.T) { allEndpoints: sets.NewString("10.0.0.0:80", "10.0.0.1:80"), }, { name: "no cluster endpoints for iTP:Local internal-only service", - serviceInfo: &BaseServiceInfo{nodeLocalInternal: true}, + serviceInfo: &BaseServiceInfo{internalPolicyLocal: true}, endpoints: []Endpoint{ &BaseEndpointInfo{Endpoint: "10.0.0.0:80", Ready: true, IsLocal: false}, &BaseEndpointInfo{Endpoint: "10.0.0.1:80", Ready: true, IsLocal: true}, diff --git a/pkg/proxy/types.go b/pkg/proxy/types.go index a68d36109a8..7b16cd7b598 100644 --- a/pkg/proxy/types.go +++ b/pkg/proxy/types.go @@ -83,10 +83,10 @@ type ServicePort interface { HealthCheckNodePort() int // GetNodePort returns a service Node port if present. If return 0, it means not present. NodePort() int - // NodeLocalExternal returns if a service has only node local endpoints for external traffic. - NodeLocalExternal() bool - // NodeLocalInternal returns if a service has only node local endpoints for internal traffic. - NodeLocalInternal() bool + // ExternalPolicyLocal returns if a service has only node local endpoints for external traffic. + ExternalPolicyLocal() bool + // InternalPolicyLocal returns if a service has only node local endpoints for internal traffic. + InternalPolicyLocal() bool // InternalTrafficPolicy returns service InternalTrafficPolicy InternalTrafficPolicy() *v1.ServiceInternalTrafficPolicyType // HintsAnnotation returns the value of the v1.AnnotationTopologyAwareHints annotation.