Merge pull request #79519 from feiskyer/automated-cherry-pick-of-#79514-upstream-release-1.14

Automated cherry pick of #79514: Default resourceGroup should be used when value of annotation
k3s-v1.14.4
Kubernetes Prow Robot 2019-06-29 05:41:23 -07:00 committed by GitHub
commit d5f2096f1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 1 deletions

View File

@ -1542,7 +1542,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

@ -368,3 +368,35 @@ func TestEnsureLoadBalancerDeleted(t *testing.T) {
assert.Equal(t, len(result), 0, "TestCase[%d]: %s", i, c.desc)
}
}
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)
})
}
}