Skip to content

Commit 16e18a5

Browse files
authored
Merge pull request kubernetes#95813 from nilo19/bug/fix-pip-name
Azure: Update the frontend IP config when the service's `pipName` annotation is changed
2 parents 5935fcd + 87a4805 commit 16e18a5

File tree

2 files changed

+6
-21
lines changed

2 files changed

+6
-21
lines changed

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

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,10 @@ func (az *Cloud) findServiceIPAddress(ctx context.Context, clusterName string, s
531531
return service.Spec.LoadBalancerIP, nil
532532
}
533533

534+
if len(service.Status.LoadBalancer.Ingress) > 0 && len(service.Status.LoadBalancer.Ingress[0].IP) > 0 {
535+
return service.Status.LoadBalancer.Ingress[0].IP, nil
536+
}
537+
534538
_, lbStatus, existsLb, err := az.getServiceLoadBalancer(service, clusterName, nil, false)
535539
if err != nil {
536540
return "", err
@@ -664,9 +668,7 @@ func (az *Cloud) ensurePublicIPExists(service *v1.Service, pipName string, domai
664668
klog.V(2).Infof("service(%s): pip(%s) - creating as ipv4 for clusterIP:%v", serviceName, *pip.Name, service.Spec.ClusterIP)
665669
}
666670

667-
klog.V(2).Infof("ensurePublicIPExists for service(%s): pip(%s) - creating", serviceName, *pip.Name)
668-
669-
klog.V(10).Infof("CreateOrUpdatePIP(%s, %q): start", pipResourceGroup, *pip.Name)
671+
klog.V(2).Infof("CreateOrUpdatePIP(%s, %q): start", pipResourceGroup, *pip.Name)
670672
err = az.CreateOrUpdatePIP(service, pipResourceGroup, pip)
671673
if err != nil {
672674
klog.V(2).Infof("ensure(%s) abort backoff: pip(%s)", serviceName, *pip.Name)
@@ -835,9 +837,6 @@ func (az *Cloud) isFrontendIPChanged(clusterName string, config network.Frontend
835837
}
836838
return config.PrivateIPAllocationMethod != network.Static || !strings.EqualFold(loadBalancerIP, to.String(config.PrivateIPAddress)), nil
837839
}
838-
if loadBalancerIP == "" {
839-
return false, nil
840-
}
841840
pipName, _, err := az.determinePublicIPName(clusterName, service)
842841
if err != nil {
843842
return false, err
@@ -1212,7 +1211,7 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service,
12121211
ID: to.StringPtr(fmt.Sprintf(frontendIPConfigIDTemplate, az.SubscriptionID, az.ResourceGroup, *lb.Name, defaultLBFrontendIPConfigName)),
12131212
FrontendIPConfigurationPropertiesFormat: fipConfigurationProperties,
12141213
})
1215-
klog.Infof("reconcileLoadBalancer for service (%s)(%t): lb frontendconfig(%s) - adding", serviceName, wantLb, defaultLBFrontendIPConfigName)
1214+
klog.V(2).Infof("reconcileLoadBalancer for service (%s)(%t): lb frontendconfig(%s) - adding", serviceName, wantLb, defaultLBFrontendIPConfigName)
12161215
dirtyConfigs = true
12171216
}
12181217
}

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

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1373,20 +1373,6 @@ func TestIsFrontendIPChanged(t *testing.T) {
13731373
expectedFlag: true,
13741374
expectedError: false,
13751375
},
1376-
{
1377-
desc: "isFrontendIPChanged shall return false if no loadbalancerIP is given",
1378-
config: network.FrontendIPConfiguration{
1379-
Name: to.StringPtr("btest1-name"),
1380-
FrontendIPConfigurationPropertiesFormat: &network.FrontendIPConfigurationPropertiesFormat{
1381-
PrivateIPAllocationMethod: network.IPAllocationMethod("static"),
1382-
PrivateIPAddress: to.StringPtr("1.1.1.2"),
1383-
},
1384-
},
1385-
lbFrontendIPConfigName: "btest1-name",
1386-
service: getTestService("test1", v1.ProtocolTCP, nil, false, 80),
1387-
expectedFlag: false,
1388-
expectedError: false,
1389-
},
13901376
{
13911377
desc: "isFrontendIPChanged shall return false if config.PublicIPAddress == nil",
13921378
config: network.FrontendIPConfiguration{

0 commit comments

Comments
 (0)