Merge pull request #79514 from feiskyer/fix-lb-rg

Default resourceGroup should be used when value of annotation azure-load-balancer-resource-group is empty string
This commit is contained in:
Kubernetes Prow Robot 2019-06-28 10:03:50 -07:00 committed by GitHub
commit 5019bb57a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 1 deletions

View File

@ -1543,7 +1543,10 @@ func findSecurityRule(rules []network.SecurityRule, rule network.SecurityRule) b
func (az *Cloud) getPublicIPAddressResourceGroup(service *v1.Service) string {
if resourceGroup, found := service.Annotations[ServiceAnnotationLoadBalancerResourceGroup]; found {
return resourceGroup
resourceGroupName := strings.TrimSpace(resourceGroup)
if len(resourceGroupName) > 0 {
return resourceGroupName
}
}
return az.ResourceGroup

View File

@ -450,6 +450,38 @@ func TestServiceOwnsPublicIP(t *testing.T) {
}
}
func TestGetPublicIPAddressResourceGroup(t *testing.T) {
az := getTestCloud()
for i, c := range []struct {
desc string
annotations map[string]string
expected string
}{
{
desc: "no annotation",
expected: "rg",
},
{
desc: "annoation with empty string resource group",
annotations: map[string]string{ServiceAnnotationLoadBalancerResourceGroup: ""},
expected: "rg",
},
{
desc: "annoation with non-empty resource group ",
annotations: map[string]string{ServiceAnnotationLoadBalancerResourceGroup: "rg2"},
expected: "rg2",
},
} {
t.Run(c.desc, func(t *testing.T) {
s := &v1.Service{}
s.Annotations = c.annotations
real := az.getPublicIPAddressResourceGroup(s)
assert.Equal(t, c.expected, real, "TestCase[%d]: %s", i, c.desc)
})
}
}
func TestGetServiceTags(t *testing.T) {
tests := []struct {
desc string