Skip to content

Commit 0f4cfe5

Browse files
committed
Switch to UpdateVMs() for updating VMSS backend address pool
1 parent 2af26dc commit 0f4cfe5

File tree

4 files changed

+179
-112
lines changed

4 files changed

+179
-112
lines changed

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

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -722,36 +722,36 @@ func (as *availabilitySet) getPrimaryInterfaceWithVMSet(nodeName, vmSetName stri
722722

723723
// EnsureHostInPool ensures the given VM's Primary NIC's Primary IP Configuration is
724724
// participating in the specified LoadBalancer Backend Pool.
725-
func (as *availabilitySet) EnsureHostInPool(service *v1.Service, nodeName types.NodeName, backendPoolID string, vmSetName string, isInternal bool) error {
725+
func (as *availabilitySet) EnsureHostInPool(service *v1.Service, nodeName types.NodeName, backendPoolID string, vmSetName string, isInternal bool) (string, string, string, *compute.VirtualMachineScaleSetVM, error) {
726726
vmName := mapNodeNameToVMName(nodeName)
727727
serviceName := getServiceName(service)
728728
nic, err := as.getPrimaryInterfaceWithVMSet(vmName, vmSetName)
729729
if err != nil {
730730
if err == errNotInVMSet {
731731
klog.V(3).Infof("EnsureHostInPool skips node %s because it is not in the vmSet %s", nodeName, vmSetName)
732-
return nil
732+
return "", "", "", nil, nil
733733
}
734734

735735
klog.Errorf("error: az.EnsureHostInPool(%s), az.vmSet.GetPrimaryInterface.Get(%s, %s), err=%v", nodeName, vmName, vmSetName, err)
736-
return err
736+
return "", "", "", nil, err
737737
}
738738

739739
if nic.ProvisioningState != nil && *nic.ProvisioningState == nicFailedState {
740740
klog.Warningf("EnsureHostInPool skips node %s because its primary nic %s is in Failed state", nodeName, *nic.Name)
741-
return nil
741+
return "", "", "", nil, nil
742742
}
743743

744744
var primaryIPConfig *network.InterfaceIPConfiguration
745745
ipv6 := utilnet.IsIPv6String(service.Spec.ClusterIP)
746746
if !as.Cloud.ipv6DualStackEnabled && !ipv6 {
747747
primaryIPConfig, err = getPrimaryIPConfig(nic)
748748
if err != nil {
749-
return err
749+
return "", "", "", nil, err
750750
}
751751
} else {
752752
primaryIPConfig, err = getIPConfigByIPFamily(nic, ipv6)
753753
if err != nil {
754-
return err
754+
return "", "", "", nil, err
755755
}
756756
}
757757

@@ -780,11 +780,11 @@ func (as *availabilitySet) EnsureHostInPool(service *v1.Service, nodeName types.
780780
}
781781
isSameLB, oldLBName, err := isBackendPoolOnSameLB(backendPoolID, newBackendPoolsIDs)
782782
if err != nil {
783-
return err
783+
return "", "", "", nil, err
784784
}
785785
if !isSameLB {
786786
klog.V(4).Infof("Node %q has already been added to LB %q, omit adding it to a new one", nodeName, oldLBName)
787-
return nil
787+
return "", "", "", nil, nil
788788
}
789789
}
790790

@@ -799,10 +799,10 @@ func (as *availabilitySet) EnsureHostInPool(service *v1.Service, nodeName types.
799799
klog.V(3).Infof("nicupdate(%s): nic(%s) - updating", serviceName, nicName)
800800
err := as.CreateOrUpdateInterface(service, nic)
801801
if err != nil {
802-
return err
802+
return "", "", "", nil, err
803803
}
804804
}
805-
return nil
805+
return "", "", "", nil, nil
806806
}
807807

808808
// EnsureHostsInPool ensures the given Node's primary IP configurations are
@@ -822,7 +822,7 @@ func (as *availabilitySet) EnsureHostsInPool(service *v1.Service, nodes []*v1.No
822822
}
823823

824824
f := func() error {
825-
err := as.EnsureHostInPool(service, types.NodeName(localNodeName), backendPoolID, vmSetName, isInternal)
825+
_, _, _, _, err := as.EnsureHostInPool(service, types.NodeName(localNodeName), backendPoolID, vmSetName, isInternal)
826826
if err != nil {
827827
return fmt.Errorf("ensure(%s): backendPoolID(%s) - failed to ensure host in pool: %q", getServiceName(service), backendPoolID, err)
828828
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ type VMSet interface {
6262
EnsureHostsInPool(service *v1.Service, nodes []*v1.Node, backendPoolID string, vmSetName string, isInternal bool) error
6363
// EnsureHostInPool ensures the given VM's Primary NIC's Primary IP Configuration is
6464
// participating in the specified LoadBalancer Backend Pool.
65-
EnsureHostInPool(service *v1.Service, nodeName types.NodeName, backendPoolID string, vmSetName string, isInternal bool) error
65+
EnsureHostInPool(service *v1.Service, nodeName types.NodeName, backendPoolID string, vmSetName string, isInternal bool) (string, string, string, *compute.VirtualMachineScaleSetVM, error)
6666
// EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified nodes.
6767
EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool) error
6868

0 commit comments

Comments
 (0)