Skip to content

Commit 4f70231

Browse files
authored
Merge pull request kubernetes#86502 from levimm/fixAzureLB
fix azure cloud provider bug when lb specified in other resource group
2 parents 2d310b1 + d564e73 commit 4f70231

File tree

4 files changed

+84
-43
lines changed

4 files changed

+84
-43
lines changed

staging/src/k8s.io/legacy-cloud-providers/azure/azure_backoff.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ func (az *Cloud) ListLB(service *v1.Service) ([]network.LoadBalancer, error) {
318318
klog.Errorf("LoadBalancerClient.List(%v) failure with err=%v", rgName, err)
319319
return nil, err
320320
}
321-
klog.V(2).Infof("LoadBalancerClient.List(%v) success", az.ResourceGroup)
321+
klog.V(2).Infof("LoadBalancerClient.List(%v) success", rgName)
322322
return allLBs, nil
323323
}
324324

staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -693,11 +693,12 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service,
693693
return nil, err
694694
}
695695
lbName := *lb.Name
696-
klog.V(2).Infof("reconcileLoadBalancer for service(%s): lb(%s) wantLb(%t) resolved load balancer name", serviceName, lbName, wantLb)
696+
lbResourceGroup := az.getLoadBalancerResourceGroup()
697+
klog.V(2).Infof("reconcileLoadBalancer for service(%s): lb(%s/%s) wantLb(%t) resolved load balancer name", serviceName, lbResourceGroup, lbName, wantLb)
697698
lbFrontendIPConfigName := az.getFrontendIPConfigName(service)
698-
lbFrontendIPConfigID := az.getFrontendIPConfigID(lbName, lbFrontendIPConfigName)
699+
lbFrontendIPConfigID := az.getFrontendIPConfigID(lbName, lbResourceGroup, lbFrontendIPConfigName)
699700
lbBackendPoolName := getBackendPoolName(az.ipv6DualStackEnabled, clusterName, service)
700-
lbBackendPoolID := az.getBackendPoolID(lbName, lbBackendPoolName)
701+
lbBackendPoolID := az.getBackendPoolID(lbName, lbResourceGroup, lbBackendPoolName)
701702

702703
lbIdleTimeout, err := getIdleTimeout(service)
703704
if wantLb && err != nil {
@@ -1111,7 +1112,7 @@ func (az *Cloud) reconcileLoadBalancerRule(
11111112
// However, when externalTrafficPolicy is Local, Kubernetes HTTP health check would be used for probing.
11121113
if servicehelpers.NeedsHealthCheck(service) || (protocol != v1.ProtocolUDP && protocol != v1.ProtocolSCTP) {
11131114
expectedRule.Probe = &network.SubResource{
1114-
ID: to.StringPtr(az.getLoadBalancerProbeID(lbName, lbRuleName)),
1115+
ID: to.StringPtr(az.getLoadBalancerProbeID(lbName, az.getLoadBalancerResourceGroup(), lbRuleName)),
11151116
}
11161117
}
11171118

staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer_test.go

Lines changed: 72 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,7 +1132,7 @@ func TestReconcileLoadBalancerRule(t *testing.T) {
11321132
}
11331133
}
11341134

1135-
func getTestLoadBalancer(name, clusterName, identifier *string, service v1.Service, lbSku string) network.LoadBalancer {
1135+
func getTestLoadBalancer(name, rgName, clusterName, identifier *string, service v1.Service, lbSku string) network.LoadBalancer {
11361136
lb := network.LoadBalancer{
11371137
Name: name,
11381138
Sku: &network.LoadBalancerSku{
@@ -1167,11 +1167,11 @@ func getTestLoadBalancer(name, clusterName, identifier *string, service v1.Servi
11671167
Protocol: network.TransportProtocol(strings.Title(
11681168
strings.ToLower(string(service.Spec.Ports[0].Protocol)))),
11691169
FrontendIPConfiguration: &network.SubResource{
1170-
ID: to.StringPtr("/subscriptions/subscription/resourceGroups/rg/providers/" +
1170+
ID: to.StringPtr("/subscriptions/subscription/resourceGroups/" + *rgName + "/providers/" +
11711171
"Microsoft.Network/loadBalancers/" + *name + "/frontendIPConfigurations/atest1"),
11721172
},
11731173
BackendAddressPool: &network.SubResource{
1174-
ID: to.StringPtr("/subscriptions/subscription/resourceGroups/rg/providers/" +
1174+
ID: to.StringPtr("/subscriptions/subscription/resourceGroups/" + *rgName + "/providers/" +
11751175
"Microsoft.Network/loadBalancers/" + *name + "/backendAddressPools/" + *clusterName),
11761176
},
11771177
LoadDistribution: network.LoadDistribution("Default"),
@@ -1180,7 +1180,7 @@ func getTestLoadBalancer(name, clusterName, identifier *string, service v1.Servi
11801180
EnableFloatingIP: to.BoolPtr(true),
11811181
EnableTCPReset: to.BoolPtr(strings.EqualFold(lbSku, "standard")),
11821182
Probe: &network.SubResource{
1183-
ID: to.StringPtr("/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Network/loadBalancers/testCluster/probes/atest1-TCP-80"),
1183+
ID: to.StringPtr("/subscriptions/subscription/resourceGroups/" + *rgName + "/providers/Microsoft.Network/loadBalancers/testCluster/probes/atest1-TCP-80"),
11841184
},
11851185
},
11861186
},
@@ -1192,10 +1192,10 @@ func getTestLoadBalancer(name, clusterName, identifier *string, service v1.Servi
11921192

11931193
func TestReconcileLoadBalancer(t *testing.T) {
11941194
service1 := getTestService("test1", v1.ProtocolTCP, nil, 80)
1195-
basicLb1 := getTestLoadBalancer(to.StringPtr("lb1"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service1, "Basic")
1195+
basicLb1 := getTestLoadBalancer(to.StringPtr("lb1"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service1, "Basic")
11961196

11971197
service2 := getTestService("test1", v1.ProtocolTCP, nil, 80)
1198-
basicLb2 := getTestLoadBalancer(to.StringPtr("lb1"), to.StringPtr("testCluster"), to.StringPtr("btest1"), service2, "Basic")
1198+
basicLb2 := getTestLoadBalancer(to.StringPtr("lb1"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("btest1"), service2, "Basic")
11991199
basicLb2.Name = to.StringPtr("testCluster")
12001200
basicLb2.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
12011201
{
@@ -1207,7 +1207,7 @@ func TestReconcileLoadBalancer(t *testing.T) {
12071207
}
12081208

12091209
service3 := getTestService("test1", v1.ProtocolTCP, nil, 80)
1210-
modifiedLb1 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service3, "Basic")
1210+
modifiedLb1 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service3, "Basic")
12111211
modifiedLb1.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
12121212
{
12131213
Name: to.StringPtr("atest1"),
@@ -1238,7 +1238,7 @@ func TestReconcileLoadBalancer(t *testing.T) {
12381238
},
12391239
},
12401240
}
1241-
expectedLb1 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service3, "Basic")
1241+
expectedLb1 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service3, "Basic")
12421242
(*expectedLb1.LoadBalancerPropertiesFormat.LoadBalancingRules)[0].DisableOutboundSnat = to.BoolPtr(false)
12431243
(*expectedLb1.LoadBalancerPropertiesFormat.LoadBalancingRules)[0].EnableTCPReset = nil
12441244
expectedLb1.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
@@ -1258,7 +1258,7 @@ func TestReconcileLoadBalancer(t *testing.T) {
12581258
}
12591259

12601260
service4 := getTestService("test1", v1.ProtocolTCP, map[string]string{"service.beta.kubernetes.io/azure-load-balancer-disable-tcp-reset": "true"}, 80)
1261-
existingSLB := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service4, "Standard")
1261+
existingSLB := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service4, "Standard")
12621262
existingSLB.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
12631263
{
12641264
Name: to.StringPtr("atest1"),
@@ -1290,7 +1290,7 @@ func TestReconcileLoadBalancer(t *testing.T) {
12901290
},
12911291
}
12921292

1293-
expectedSLb := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service4, "Standard")
1293+
expectedSLb := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service4, "Standard")
12941294
(*expectedSLb.LoadBalancerPropertiesFormat.LoadBalancingRules)[0].DisableOutboundSnat = to.BoolPtr(true)
12951295
(*expectedSLb.LoadBalancerPropertiesFormat.LoadBalancingRules)[0].EnableTCPReset = to.BoolPtr(false)
12961296
expectedSLb.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
@@ -1310,7 +1310,7 @@ func TestReconcileLoadBalancer(t *testing.T) {
13101310
}
13111311

13121312
service5 := getTestService("test1", v1.ProtocolTCP, nil, 80)
1313-
slb5 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service5, "Standard")
1313+
slb5 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service5, "Standard")
13141314
slb5.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
13151315
{
13161316
Name: to.StringPtr("atest1"),
@@ -1345,7 +1345,7 @@ func TestReconcileLoadBalancer(t *testing.T) {
13451345
//change to false to test that reconcilication will fix it
13461346
(*slb5.LoadBalancerPropertiesFormat.LoadBalancingRules)[0].EnableTCPReset = to.BoolPtr(false)
13471347

1348-
expectedSLb5 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service5, "Standard")
1348+
expectedSLb5 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service5, "Standard")
13491349
(*expectedSLb5.LoadBalancerPropertiesFormat.LoadBalancingRules)[0].DisableOutboundSnat = to.BoolPtr(true)
13501350
expectedSLb5.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
13511351
{
@@ -1364,10 +1364,10 @@ func TestReconcileLoadBalancer(t *testing.T) {
13641364
}
13651365

13661366
service6 := getTestService("test1", v1.ProtocolUDP, nil, 80)
1367-
lb6 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service6, "basic")
1367+
lb6 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service6, "basic")
13681368
lb6.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{}
13691369
lb6.Probes = &[]network.Probe{}
1370-
expectedLB6 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service6, "basic")
1370+
expectedLB6 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service6, "basic")
13711371
expectedLB6.Probes = &[]network.Probe{}
13721372
(*expectedLB6.LoadBalancerPropertiesFormat.LoadBalancingRules)[0].Probe = nil
13731373
(*expectedLB6.LoadBalancerPropertiesFormat.LoadBalancingRules)[0].EnableTCPReset = nil
@@ -1385,10 +1385,10 @@ func TestReconcileLoadBalancer(t *testing.T) {
13851385
service7 := getTestService("test1", v1.ProtocolUDP, nil, 80)
13861386
service7.Spec.HealthCheckNodePort = 10081
13871387
service7.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
1388-
lb7 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service7, "basic")
1388+
lb7 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service7, "basic")
13891389
lb7.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{}
13901390
lb7.Probes = &[]network.Probe{}
1391-
expectedLB7 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service7, "basic")
1391+
expectedLB7 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("rg"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service7, "basic")
13921392
(*expectedLB7.LoadBalancerPropertiesFormat.LoadBalancingRules)[0].Probe = &network.SubResource{
13931393
ID: to.StringPtr("/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Network/loadBalancers/testCluster/probes/atest1-UDP-80"),
13941394
}
@@ -1417,16 +1417,45 @@ func TestReconcileLoadBalancer(t *testing.T) {
14171417
},
14181418
}
14191419

1420+
service8 := getTestService("test1", v1.ProtocolTCP, nil, 80)
1421+
lb8 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("anotherRG"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service8, "Standard")
1422+
lb8.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{}
1423+
lb8.Probes = &[]network.Probe{}
1424+
expectedLB8 := getTestLoadBalancer(to.StringPtr("testCluster"), to.StringPtr("anotherRG"), to.StringPtr("testCluster"), to.StringPtr("atest1"), service8, "Standard")
1425+
(*expectedLB8.LoadBalancerPropertiesFormat.LoadBalancingRules)[0].DisableOutboundSnat = to.BoolPtr(false)
1426+
expectedLB8.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
1427+
{
1428+
Name: to.StringPtr("atest1"),
1429+
FrontendIPConfigurationPropertiesFormat: &network.FrontendIPConfigurationPropertiesFormat{
1430+
PublicIPAddress: &network.PublicIPAddress{ID: to.StringPtr("/subscriptions/subscription/" +
1431+
"resourceGroups/rg/providers/Microsoft.Network/publicIPAddresses/pipName")},
1432+
},
1433+
},
1434+
}
1435+
expectedLB8.Probes = &[]network.Probe{
1436+
{
1437+
Name: to.StringPtr("atest1-" + string(service8.Spec.Ports[0].Protocol) +
1438+
"-" + strconv.Itoa(int(service7.Spec.Ports[0].Port))),
1439+
ProbePropertiesFormat: &network.ProbePropertiesFormat{
1440+
Port: to.Int32Ptr(10080),
1441+
Protocol: network.ProbeProtocolTCP,
1442+
IntervalInSeconds: to.Int32Ptr(5),
1443+
NumberOfProbes: to.Int32Ptr(2),
1444+
},
1445+
},
1446+
}
1447+
14201448
testCases := []struct {
1421-
desc string
1422-
service v1.Service
1423-
loadBalancerSku string
1424-
preConfigLBType string
1425-
disableOutboundSnat *bool
1426-
wantLb bool
1427-
existingLB network.LoadBalancer
1428-
expectedLB network.LoadBalancer
1429-
expectedError error
1449+
desc string
1450+
service v1.Service
1451+
loadBalancerSku string
1452+
preConfigLBType string
1453+
loadBalancerResourceGroup string
1454+
disableOutboundSnat *bool
1455+
wantLb bool
1456+
existingLB network.LoadBalancer
1457+
expectedLB network.LoadBalancer
1458+
expectedError error
14301459
}{
14311460
{
14321461
desc: "reconcileLoadBalancer shall return the lb deeply equal to the existingLB if there's no " +
@@ -1505,6 +1534,16 @@ func TestReconcileLoadBalancer(t *testing.T) {
15051534
expectedLB: expectedLB7,
15061535
expectedError: nil,
15071536
},
1537+
{
1538+
desc: "reconcileLoadBalancer in other resource group",
1539+
loadBalancerSku: "standard",
1540+
loadBalancerResourceGroup: "anotherRG",
1541+
service: service8,
1542+
existingLB: lb8,
1543+
wantLb: true,
1544+
expectedLB: expectedLB8,
1545+
expectedError: nil,
1546+
},
15081547
}
15091548

15101549
for i, test := range testCases {
@@ -1514,6 +1553,7 @@ func TestReconcileLoadBalancer(t *testing.T) {
15141553
if test.preConfigLBType != "" {
15151554
az.Config.PreConfiguredBackendPoolLoadBalancerTypes = test.preConfigLBType
15161555
}
1556+
az.LoadBalancerResourceGroup = test.loadBalancerResourceGroup
15171557

15181558
clusterResources := getClusterResources(az, 3, 3)
15191559
test.service.Spec.LoadBalancerIP = "1.2.3.4"
@@ -1528,7 +1568,7 @@ func TestReconcileLoadBalancer(t *testing.T) {
15281568
t.Fatalf("TestCase[%d] meets unexpected error: %v", i, err)
15291569
}
15301570

1531-
_, err = az.LoadBalancerClient.CreateOrUpdate(context.TODO(), "rg", "lb1", test.existingLB, "")
1571+
_, err = az.LoadBalancerClient.CreateOrUpdate(context.TODO(), az.getLoadBalancerResourceGroup(), "lb1", test.existingLB, "")
15321572
if err != nil {
15331573
t.Fatalf("TestCase[%d] meets unexpected error: %v", i, err)
15341574
}
@@ -1557,10 +1597,10 @@ func TestGetServiceLoadBalancerStatus(t *testing.T) {
15571597
})
15581598
az.PublicIPAddressesClient = PIPClient
15591599

1560-
lb1 := getTestLoadBalancer(to.StringPtr("lb1"), to.StringPtr("testCluster"),
1600+
lb1 := getTestLoadBalancer(to.StringPtr("lb1"), to.StringPtr("rg"), to.StringPtr("testCluster"),
15611601
to.StringPtr("test1"), internalService, "Basic")
15621602
lb1.FrontendIPConfigurations = nil
1563-
lb2 := getTestLoadBalancer(to.StringPtr("lb2"), to.StringPtr("testCluster"),
1603+
lb2 := getTestLoadBalancer(to.StringPtr("lb2"), to.StringPtr("rg"), to.StringPtr("testCluster"),
15641604
to.StringPtr("test1"), internalService, "Basic")
15651605
lb2.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
15661606
{
@@ -1571,7 +1611,7 @@ func TestGetServiceLoadBalancerStatus(t *testing.T) {
15711611
},
15721612
},
15731613
}
1574-
lb3 := getTestLoadBalancer(to.StringPtr("lb3"), to.StringPtr("testCluster"),
1614+
lb3 := getTestLoadBalancer(to.StringPtr("lb3"), to.StringPtr("rg"), to.StringPtr("testCluster"),
15751615
to.StringPtr("test1"), internalService, "Basic")
15761616
lb3.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
15771617
{
@@ -1582,7 +1622,7 @@ func TestGetServiceLoadBalancerStatus(t *testing.T) {
15821622
},
15831623
},
15841624
}
1585-
lb4 := getTestLoadBalancer(to.StringPtr("lb4"), to.StringPtr("testCluster"),
1625+
lb4 := getTestLoadBalancer(to.StringPtr("lb4"), to.StringPtr("rg"), to.StringPtr("testCluster"),
15861626
to.StringPtr("test1"), service, "Basic")
15871627
lb4.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
15881628
{
@@ -1593,7 +1633,7 @@ func TestGetServiceLoadBalancerStatus(t *testing.T) {
15931633
},
15941634
},
15951635
}
1596-
lb5 := getTestLoadBalancer(to.StringPtr("lb5"), to.StringPtr("testCluster"),
1636+
lb5 := getTestLoadBalancer(to.StringPtr("lb5"), to.StringPtr("rg"), to.StringPtr("testCluster"),
15971637
to.StringPtr("test1"), service, "Basic")
15981638
lb5.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
15991639
{
@@ -1604,7 +1644,7 @@ func TestGetServiceLoadBalancerStatus(t *testing.T) {
16041644
},
16051645
},
16061646
}
1607-
lb6 := getTestLoadBalancer(to.StringPtr("lb6"), to.StringPtr("testCluster"),
1647+
lb6 := getTestLoadBalancer(to.StringPtr("lb6"), to.StringPtr("rg"), to.StringPtr("testCluster"),
16081648
to.StringPtr("test1"), service, "Basic")
16091649
lb6.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{
16101650
{

staging/src/k8s.io/legacy-cloud-providers/azure/azure_standard.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,31 +94,31 @@ func (az *Cloud) getAvailabilitySetID(resourceGroup, availabilitySetName string)
9494
}
9595

9696
// returns the full identifier of a loadbalancer frontendipconfiguration.
97-
func (az *Cloud) getFrontendIPConfigID(lbName, fipConfigName string) string {
97+
func (az *Cloud) getFrontendIPConfigID(lbName, rgName, fipConfigName string) string {
9898
return fmt.Sprintf(
9999
frontendIPConfigIDTemplate,
100100
az.SubscriptionID,
101-
az.ResourceGroup,
101+
rgName,
102102
lbName,
103103
fipConfigName)
104104
}
105105

106106
// returns the full identifier of a loadbalancer backendpool.
107-
func (az *Cloud) getBackendPoolID(lbName, backendPoolName string) string {
107+
func (az *Cloud) getBackendPoolID(lbName, rgName, backendPoolName string) string {
108108
return fmt.Sprintf(
109109
backendPoolIDTemplate,
110110
az.SubscriptionID,
111-
az.ResourceGroup,
111+
rgName,
112112
lbName,
113113
backendPoolName)
114114
}
115115

116116
// returns the full identifier of a loadbalancer probe.
117-
func (az *Cloud) getLoadBalancerProbeID(lbName, lbRuleName string) string {
117+
func (az *Cloud) getLoadBalancerProbeID(lbName, rgName, lbRuleName string) string {
118118
return fmt.Sprintf(
119119
loadBalancerProbeIDTemplate,
120120
az.SubscriptionID,
121-
az.ResourceGroup,
121+
rgName,
122122
lbName,
123123
lbRuleName)
124124
}

0 commit comments

Comments
 (0)