From 2b1e5a9b7bacca5d3edee5c14a960f2734d0b0fc Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Sun, 11 Dec 2022 13:21:54 +0000 Subject: [PATCH] vendor: refine updateCache in WaitForUpdateResult --- .../pkg/provider/azure_controller_standard.go | 5 ++-- .../pkg/provider/azure_controller_vmss.go | 24 ++++++++++--------- .../pkg/provider/azure_controller_vmssflex.go | 12 ++++------ 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_standard.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_standard.go index d96a019ad1..08f69bbf09 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_standard.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_standard.go @@ -142,11 +142,12 @@ func (as *availabilitySet) WaitForUpdateResult(ctx context.Context, future *azur if rerr != nil { return rerr.Error() } + + // clean node cache first and then update cache + as.DeleteCacheForNode(vmName) if result != nil && result.VirtualMachineProperties != nil { // if we have an updated result, we update the vmss vm cache as.updateCache(vmName, result) - } else { - as.DeleteCacheForNode(vmName) } return nil } diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_vmss.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_vmss.go index 114a743505..1f39e8791b 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_vmss.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_vmss.go @@ -138,23 +138,25 @@ func (ss *ScaleSet) WaitForUpdateResult(ctx context.Context, future *azure.Futur if rerr != nil { return rerr.Error() } - var cacheUpdated bool + + var vmssName, instanceID string if result != nil && result.VirtualMachineScaleSetVMProperties != nil { - // If we have an updated result, we update the vmss vm cache + // get vmssName, instanceID from cache first vm, err := ss.getVmssVM(vmName, azcache.CacheReadTypeDefault) if err == nil && vm != nil { - err := ss.updateCache(vmName, nodeResourceGroup, vm.VMSSName, vm.InstanceID, result) - if err == nil { - cacheUpdated = true - } else { - klog.Errorf("updateCache(%s, %s, %s, %s) failed with error: %v", vmName, nodeResourceGroup, vm.VMSSName, vm.InstanceID, err) - } + vmssName = vm.VMSSName + instanceID = vm.InstanceID } else { - klog.Errorf("failed to updateCache due to error(%v) or nil vm", err) + klog.Errorf("getVmssVM failed with error(%v) or nil pointer", err) } } - if !cacheUpdated { - ss.DeleteCacheForNode(vmName) + + // clean node cache first and then update cache + ss.DeleteCacheForNode(vmName) + if vmssName != "" && instanceID != "" { + if err := ss.updateCache(vmName, nodeResourceGroup, vmssName, instanceID, result); err != nil { + klog.Errorf("updateCache(%s, %s, %s, %s) failed with error: %v", vmName, nodeResourceGroup, vmssName, instanceID, err) + } } return nil } diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_vmssflex.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_vmssflex.go index 8813451563..1f4440fc1b 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_vmssflex.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/provider/azure_controller_vmssflex.go @@ -221,18 +221,14 @@ func (fs *FlexScaleSet) WaitForUpdateResult(ctx context.Context, future *azure.F if rerr != nil { return rerr.Error() } - var cacheUpdated bool + + // clean node cache first and then update cache + fs.DeleteCacheForNode(vmName) if result != nil && result.VirtualMachineProperties != nil { - err := fs.updateCache(vmName, result) - if err == nil { - cacheUpdated = true - } else { + if err := fs.updateCache(vmName, result); err != nil { klog.Errorf("updateCache(%s) failed with error: %v", vmName, err) } } - if !cacheUpdated { - fs.DeleteCacheForNode(vmName) - } return nil }