From 51db06a5de75357bd45b23f80d30fae8de12d7a5 Mon Sep 17 00:00:00 2001 From: Guangming Wang Date: Tue, 15 Oct 2019 22:08:36 +0800 Subject: [PATCH] fix string trim func isBackendPoolOnSameLB in azure add a test case to prove this trimming bugfix --- .../src/k8s.io/legacy-cloud-providers/azure/azure_wrap.go | 4 ++-- .../legacy-cloud-providers/azure/azure_wrap_test.go | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_wrap.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_wrap.go index 5da34a1f407..85320e101e5 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_wrap.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_wrap.go @@ -350,7 +350,7 @@ func isBackendPoolOnSameLB(newBackendPoolID string, existingBackendPools []strin } newLBName := matches[1] - newLBNameTrimmed := strings.TrimRight(newLBName, InternalLoadBalancerNameSuffix) + newLBNameTrimmed := strings.TrimSuffix(newLBName, InternalLoadBalancerNameSuffix) for _, backendPool := range existingBackendPools { matches := backendPoolIDRE.FindStringSubmatch(backendPool) if len(matches) != 2 { @@ -358,7 +358,7 @@ func isBackendPoolOnSameLB(newBackendPoolID string, existingBackendPools []strin } lbName := matches[1] - if !strings.EqualFold(strings.TrimRight(lbName, InternalLoadBalancerNameSuffix), newLBNameTrimmed) { + if !strings.EqualFold(strings.TrimSuffix(lbName, InternalLoadBalancerNameSuffix), newLBNameTrimmed) { return false, lbName, nil } } diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_wrap_test.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_wrap_test.go index ca19d71de6e..e6e7fd64bbf 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_wrap_test.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_wrap_test.go @@ -263,6 +263,14 @@ func TestIsBackendPoolOnSameLB(t *testing.T) { }, expectError: true, }, + { + backendPoolID: "/subscriptions/sub/resourceGroups/rg/providers/Microsoft.Network/loadBalancers/malformed-lb1-internal/backendAddressPools/pool1", + existingBackendPools: []string{ + "/subscriptions/sub/resourceGroups/rg/providers/Microsoft.Network/loadBalancers/malformed-lb1-lanretni/backendAddressPools/pool2", + }, + expected: false, + expectedLBName: "malformed-lb1-lanretni", + }, } for _, test := range tests {