Store port endpoint chain names to avoid recomputing it multiple times

This commit is contained in:
Wojciech Tyczynski 2017-05-24 14:24:03 +02:00
parent 88e3e8f470
commit c4d51f12a2
2 changed files with 112 additions and 98 deletions

View File

@ -154,6 +154,11 @@ type serviceInfo struct {
type endpointsInfo struct { type endpointsInfo struct {
endpoint string // TODO: should be an endpointString type endpoint string // TODO: should be an endpointString type
isLocal bool isLocal bool
// The following fields we lazily compute and store here for performance
// reasons. If the protocol is the same as you expect it to be, then the
// chainName can be reused, otherwise it should be recomputed.
protocol string
chainName utiliptables.Chain
} }
// Returns just the IP part of the endpoint. // Returns just the IP part of the endpoint.
@ -164,6 +169,15 @@ func (e *endpointsInfo) IPPart() string {
return e.endpoint return e.endpoint
} }
// Returns the endpoint chain name for a given endpointsInfo.
func (e *endpointsInfo) endpointChain(svcNameString, protocol string) utiliptables.Chain {
if e.protocol != protocol {
e.protocol = protocol
e.chainName = servicePortEndpointChainName(svcNameString, protocol, e.endpoint)
}
return e.chainName
}
func (e *endpointsInfo) String() string { func (e *endpointsInfo) String() string {
return fmt.Sprintf("%v", *e) return fmt.Sprintf("%v", *e)
} }
@ -1375,10 +1389,10 @@ func (proxier *Proxier) syncProxyRules() {
// These two slices parallel each other - keep in sync // These two slices parallel each other - keep in sync
endpoints = endpoints[:0] endpoints = endpoints[:0]
endpointChains = endpointChains[:0] endpointChains = endpointChains[:0]
var endpointChain utiliptables.Chain
for _, ep := range proxier.endpointsMap[svcName] { for _, ep := range proxier.endpointsMap[svcName] {
endpoints = append(endpoints, ep) endpoints = append(endpoints, ep)
// TODO: This should be precomputed. endpointChain = ep.endpointChain(svcNameString, protocol)
endpointChain := servicePortEndpointChainName(svcNameString, protocol, ep.endpoint)
endpointChains = append(endpointChains, endpointChain) endpointChains = append(endpointChains, endpointChain)
// Create the endpoint chain, retaining counters if possible. // Create the endpoint chain, retaining counters if possible.

View File

@ -1293,7 +1293,7 @@ func Test_getLocalIPs(t *testing.T) {
// Case[1]: unnamed port // Case[1]: unnamed port
endpointsMap: map[proxy.ServicePortName][]*endpointsInfo{ endpointsMap: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", ""): { makeServicePortName("ns1", "ep1", ""): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
expected: map[types.NamespacedName]sets.String{}, expected: map[types.NamespacedName]sets.String{},
@ -1301,7 +1301,7 @@ func Test_getLocalIPs(t *testing.T) {
// Case[2]: unnamed port local // Case[2]: unnamed port local
endpointsMap: map[proxy.ServicePortName][]*endpointsInfo{ endpointsMap: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", ""): { makeServicePortName("ns1", "ep1", ""): {
{"1.1.1.1:11", true}, {endpoint: "1.1.1.1:11", isLocal: true},
}, },
}, },
expected: map[types.NamespacedName]sets.String{ expected: map[types.NamespacedName]sets.String{
@ -1311,12 +1311,12 @@ func Test_getLocalIPs(t *testing.T) {
// Case[3]: named local and non-local ports for the same IP. // Case[3]: named local and non-local ports for the same IP.
endpointsMap: map[proxy.ServicePortName][]*endpointsInfo{ endpointsMap: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
{"1.1.1.2:11", true}, {endpoint: "1.1.1.2:11", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.1:12", false}, {endpoint: "1.1.1.1:12", isLocal: false},
{"1.1.1.2:12", true}, {endpoint: "1.1.1.2:12", isLocal: true},
}, },
}, },
expected: map[types.NamespacedName]sets.String{ expected: map[types.NamespacedName]sets.String{
@ -1326,21 +1326,21 @@ func Test_getLocalIPs(t *testing.T) {
// Case[4]: named local and non-local ports for different IPs. // Case[4]: named local and non-local ports for different IPs.
endpointsMap: map[proxy.ServicePortName][]*endpointsInfo{ endpointsMap: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
makeServicePortName("ns2", "ep2", "p22"): { makeServicePortName("ns2", "ep2", "p22"): {
{"2.2.2.2:22", true}, {endpoint: "2.2.2.2:22", isLocal: true},
{"2.2.2.22:22", true}, {endpoint: "2.2.2.22:22", isLocal: true},
}, },
makeServicePortName("ns2", "ep2", "p23"): { makeServicePortName("ns2", "ep2", "p23"): {
{"2.2.2.3:23", true}, {endpoint: "2.2.2.3:23", isLocal: true},
}, },
makeServicePortName("ns4", "ep4", "p44"): { makeServicePortName("ns4", "ep4", "p44"): {
{"4.4.4.4:44", true}, {endpoint: "4.4.4.4:44", isLocal: true},
{"4.4.4.5:44", false}, {endpoint: "4.4.4.5:44", isLocal: false},
}, },
makeServicePortName("ns4", "ep4", "p45"): { makeServicePortName("ns4", "ep4", "p45"): {
{"4.4.4.6:45", true}, {endpoint: "4.4.4.6:45", isLocal: true},
}, },
}, },
expected: map[types.NamespacedName]sets.String{ expected: map[types.NamespacedName]sets.String{
@ -1385,7 +1385,7 @@ func Test_endpointsToEndpointsMap(t *testing.T) {
}), }),
expected: map[proxy.ServicePortName][]*endpointsInfo{ expected: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", ""): { makeServicePortName("ns1", "ep1", ""): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
}, { }, {
@ -1405,7 +1405,7 @@ func Test_endpointsToEndpointsMap(t *testing.T) {
}), }),
expected: map[proxy.ServicePortName][]*endpointsInfo{ expected: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "port"): { makeServicePortName("ns1", "ep1", "port"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
}, { }, {
@ -1424,7 +1424,7 @@ func Test_endpointsToEndpointsMap(t *testing.T) {
}), }),
expected: map[proxy.ServicePortName][]*endpointsInfo{ expected: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", ""): { makeServicePortName("ns1", "ep1", ""): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
}, { }, {
@ -1453,12 +1453,12 @@ func Test_endpointsToEndpointsMap(t *testing.T) {
}), }),
expected: map[proxy.ServicePortName][]*endpointsInfo{ expected: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p1"): { makeServicePortName("ns1", "ep1", "p1"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
{"2.2.2.2:11", false}, {endpoint: "2.2.2.2:11", isLocal: false},
}, },
makeServicePortName("ns1", "ep1", "p2"): { makeServicePortName("ns1", "ep1", "p2"): {
{"1.1.1.1:22", false}, {endpoint: "1.1.1.1:22", isLocal: false},
{"2.2.2.2:22", false}, {endpoint: "2.2.2.2:22", isLocal: false},
}, },
}, },
}, { }, {
@ -1478,7 +1478,7 @@ func Test_endpointsToEndpointsMap(t *testing.T) {
}), }),
expected: map[proxy.ServicePortName][]*endpointsInfo{ expected: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p1"): { makeServicePortName("ns1", "ep1", "p1"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
}, { }, {
@ -1498,7 +1498,7 @@ func Test_endpointsToEndpointsMap(t *testing.T) {
}), }),
expected: map[proxy.ServicePortName][]*endpointsInfo{ expected: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p2"): { makeServicePortName("ns1", "ep1", "p2"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
}, { }, {
@ -1518,7 +1518,7 @@ func Test_endpointsToEndpointsMap(t *testing.T) {
}), }),
expected: map[proxy.ServicePortName][]*endpointsInfo{ expected: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p1"): { makeServicePortName("ns1", "ep1", "p1"): {
{"1.1.1.1:22", false}, {endpoint: "1.1.1.1:22", isLocal: false},
}, },
}, },
}} }}
@ -1932,12 +1932,12 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", ""): { makeServicePortName("ns1", "ep1", ""): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", ""): { makeServicePortName("ns1", "ep1", ""): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
expectedStale: []endpointServicePair{}, expectedStale: []endpointServicePair{},
@ -1952,12 +1952,12 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", true}, {endpoint: "1.1.1.1:11", isLocal: true},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", true}, {endpoint: "1.1.1.1:11", isLocal: true},
}, },
}, },
expectedStale: []endpointServicePair{}, expectedStale: []endpointServicePair{},
@ -1974,18 +1974,18 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.2:12", false}, {endpoint: "1.1.1.2:12", isLocal: false},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.2:12", false}, {endpoint: "1.1.1.2:12", isLocal: false},
}, },
}, },
expectedStale: []endpointServicePair{}, expectedStale: []endpointServicePair{},
@ -2000,24 +2000,24 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", true}, {endpoint: "1.1.1.1:11", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.1:12", true}, {endpoint: "1.1.1.1:12", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p13"): { makeServicePortName("ns1", "ep1", "p13"): {
{"1.1.1.3:13", false}, {endpoint: "1.1.1.3:13", isLocal: false},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", true}, {endpoint: "1.1.1.1:11", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.1:12", true}, {endpoint: "1.1.1.1:12", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p13"): { makeServicePortName("ns1", "ep1", "p13"): {
{"1.1.1.3:13", false}, {endpoint: "1.1.1.3:13", isLocal: false},
}, },
}, },
expectedStale: []endpointServicePair{}, expectedStale: []endpointServicePair{},
@ -2036,54 +2036,54 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
{"1.1.1.2:11", true}, {endpoint: "1.1.1.2:11", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.1:12", false}, {endpoint: "1.1.1.1:12", isLocal: false},
{"1.1.1.2:12", true}, {endpoint: "1.1.1.2:12", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p13"): { makeServicePortName("ns1", "ep1", "p13"): {
{"1.1.1.3:13", false}, {endpoint: "1.1.1.3:13", isLocal: false},
{"1.1.1.4:13", true}, {endpoint: "1.1.1.4:13", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p14"): { makeServicePortName("ns1", "ep1", "p14"): {
{"1.1.1.3:14", false}, {endpoint: "1.1.1.3:14", isLocal: false},
{"1.1.1.4:14", true}, {endpoint: "1.1.1.4:14", isLocal: true},
}, },
makeServicePortName("ns2", "ep2", "p21"): { makeServicePortName("ns2", "ep2", "p21"): {
{"2.2.2.1:21", false}, {endpoint: "2.2.2.1:21", isLocal: false},
{"2.2.2.2:21", true}, {endpoint: "2.2.2.2:21", isLocal: true},
}, },
makeServicePortName("ns2", "ep2", "p22"): { makeServicePortName("ns2", "ep2", "p22"): {
{"2.2.2.1:22", false}, {endpoint: "2.2.2.1:22", isLocal: false},
{"2.2.2.2:22", true}, {endpoint: "2.2.2.2:22", isLocal: true},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
{"1.1.1.2:11", true}, {endpoint: "1.1.1.2:11", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.1:12", false}, {endpoint: "1.1.1.1:12", isLocal: false},
{"1.1.1.2:12", true}, {endpoint: "1.1.1.2:12", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p13"): { makeServicePortName("ns1", "ep1", "p13"): {
{"1.1.1.3:13", false}, {endpoint: "1.1.1.3:13", isLocal: false},
{"1.1.1.4:13", true}, {endpoint: "1.1.1.4:13", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p14"): { makeServicePortName("ns1", "ep1", "p14"): {
{"1.1.1.3:14", false}, {endpoint: "1.1.1.3:14", isLocal: false},
{"1.1.1.4:14", true}, {endpoint: "1.1.1.4:14", isLocal: true},
}, },
makeServicePortName("ns2", "ep2", "p21"): { makeServicePortName("ns2", "ep2", "p21"): {
{"2.2.2.1:21", false}, {endpoint: "2.2.2.1:21", isLocal: false},
{"2.2.2.2:21", true}, {endpoint: "2.2.2.2:21", isLocal: true},
}, },
makeServicePortName("ns2", "ep2", "p22"): { makeServicePortName("ns2", "ep2", "p22"): {
{"2.2.2.1:22", false}, {endpoint: "2.2.2.1:22", isLocal: false},
{"2.2.2.2:22", true}, {endpoint: "2.2.2.2:22", isLocal: true},
}, },
}, },
expectedStale: []endpointServicePair{}, expectedStale: []endpointServicePair{},
@ -2102,7 +2102,7 @@ func Test_updateEndpointsMap(t *testing.T) {
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{}, oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{},
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", ""): { makeServicePortName("ns1", "ep1", ""): {
{"1.1.1.1:11", true}, {endpoint: "1.1.1.1:11", isLocal: true},
}, },
}, },
expectedStale: []endpointServicePair{}, expectedStale: []endpointServicePair{},
@ -2119,7 +2119,7 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", ""): { makeServicePortName("ns1", "ep1", ""): {
{"1.1.1.1:11", true}, {endpoint: "1.1.1.1:11", isLocal: true},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{}, expectedResult: map[proxy.ServicePortName][]*endpointsInfo{},
@ -2138,17 +2138,17 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
{"1.1.1.2:11", true}, {endpoint: "1.1.1.2:11", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.1:12", false}, {endpoint: "1.1.1.1:12", isLocal: false},
{"1.1.1.2:12", true}, {endpoint: "1.1.1.2:12", isLocal: true},
}, },
}, },
expectedStale: []endpointServicePair{}, expectedStale: []endpointServicePair{},
@ -2165,17 +2165,17 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
{"1.1.1.2:11", true}, {endpoint: "1.1.1.2:11", isLocal: true},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.1:12", false}, {endpoint: "1.1.1.1:12", isLocal: false},
{"1.1.1.2:12", true}, {endpoint: "1.1.1.2:12", isLocal: true},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
expectedStale: []endpointServicePair{{ expectedStale: []endpointServicePair{{
@ -2199,15 +2199,15 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.2:12", true}, {endpoint: "1.1.1.2:12", isLocal: true},
}, },
}, },
expectedStale: []endpointServicePair{}, expectedStale: []endpointServicePair{},
@ -2224,15 +2224,15 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.2:12", false}, {endpoint: "1.1.1.2:12", isLocal: false},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
expectedStale: []endpointServicePair{{ expectedStale: []endpointServicePair{{
@ -2250,12 +2250,12 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11-2"): { makeServicePortName("ns1", "ep1", "p11-2"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
expectedStale: []endpointServicePair{{ expectedStale: []endpointServicePair{{
@ -2273,12 +2273,12 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:22", false}, {endpoint: "1.1.1.1:22", isLocal: false},
}, },
}, },
expectedStale: []endpointServicePair{{ expectedStale: []endpointServicePair{{
@ -2302,39 +2302,39 @@ func Test_updateEndpointsMap(t *testing.T) {
}, },
oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{ oldEndpoints: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
}, },
makeServicePortName("ns2", "ep2", "p22"): { makeServicePortName("ns2", "ep2", "p22"): {
{"2.2.2.2:22", true}, {endpoint: "2.2.2.2:22", isLocal: true},
{"2.2.2.22:22", true}, {endpoint: "2.2.2.22:22", isLocal: true},
}, },
makeServicePortName("ns2", "ep2", "p23"): { makeServicePortName("ns2", "ep2", "p23"): {
{"2.2.2.3:23", true}, {endpoint: "2.2.2.3:23", isLocal: true},
}, },
makeServicePortName("ns4", "ep4", "p44"): { makeServicePortName("ns4", "ep4", "p44"): {
{"4.4.4.4:44", true}, {endpoint: "4.4.4.4:44", isLocal: true},
{"4.4.4.5:44", true}, {endpoint: "4.4.4.5:44", isLocal: true},
}, },
makeServicePortName("ns4", "ep4", "p45"): { makeServicePortName("ns4", "ep4", "p45"): {
{"4.4.4.6:45", true}, {endpoint: "4.4.4.6:45", isLocal: true},
}, },
}, },
expectedResult: map[proxy.ServicePortName][]*endpointsInfo{ expectedResult: map[proxy.ServicePortName][]*endpointsInfo{
makeServicePortName("ns1", "ep1", "p11"): { makeServicePortName("ns1", "ep1", "p11"): {
{"1.1.1.1:11", false}, {endpoint: "1.1.1.1:11", isLocal: false},
{"1.1.1.11:11", false}, {endpoint: "1.1.1.11:11", isLocal: false},
}, },
makeServicePortName("ns1", "ep1", "p12"): { makeServicePortName("ns1", "ep1", "p12"): {
{"1.1.1.2:12", false}, {endpoint: "1.1.1.2:12", isLocal: false},
}, },
makeServicePortName("ns1", "ep1", "p122"): { makeServicePortName("ns1", "ep1", "p122"): {
{"1.1.1.2:122", false}, {endpoint: "1.1.1.2:122", isLocal: false},
}, },
makeServicePortName("ns3", "ep3", "p33"): { makeServicePortName("ns3", "ep3", "p33"): {
{"3.3.3.3:33", false}, {endpoint: "3.3.3.3:33", isLocal: false},
}, },
makeServicePortName("ns4", "ep4", "p44"): { makeServicePortName("ns4", "ep4", "p44"): {
{"4.4.4.4:44", true}, {endpoint: "4.4.4.4:44", isLocal: true},
}, },
}, },
expectedStale: []endpointServicePair{{ expectedStale: []endpointServicePair{{