From 1e9f3306f1ffa0a20b443e8acb2739f4fdc8cb18 Mon Sep 17 00:00:00 2001 From: knight42 Date: Mon, 10 Aug 2020 16:44:51 +0800 Subject: [PATCH] fix(azure): set default value of VmssVirtualMachinesCacheTTLInSeconds during init to prevent data race Signed-off-by: knight42 --- .../src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go | 5 ++++- .../k8s.io/legacy-cloud-providers/azure/azure_vmss_cache.go | 3 --- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go index 3cbd788b5ab..c1ce257c5d3 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss.go @@ -83,13 +83,16 @@ type scaleSet struct { // newScaleSet creates a new scaleSet. func newScaleSet(az *Cloud) (VMSet, error) { - var err error + if az.Config.VmssVirtualMachinesCacheTTLInSeconds == 0 { + az.Config.VmssVirtualMachinesCacheTTLInSeconds = vmssVirtualMachinesCacheTTLDefaultInSeconds + } ss := &scaleSet{ Cloud: az, availabilitySet: newAvailabilitySet(az), vmssVMCache: &sync.Map{}, } + var err error if !ss.DisableAvailabilitySetNodes { ss.availabilitySetNodesCache, err = ss.newAvailabilitySetNodesCache() if err != nil { diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss_cache.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss_cache.go index b8ba0ae67c5..7cea160c044 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss_cache.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmss_cache.go @@ -154,9 +154,6 @@ func (ss *scaleSet) gcVMSSVMCache() error { // newVMSSVirtualMachinesCache instanciates a new VMs cache for VMs belonging to the provided VMSS. func (ss *scaleSet) newVMSSVirtualMachinesCache(resourceGroupName, vmssName, cacheKey string) (*azcache.TimedCache, error) { - if ss.Config.VmssVirtualMachinesCacheTTLInSeconds == 0 { - ss.Config.VmssVirtualMachinesCacheTTLInSeconds = vmssVirtualMachinesCacheTTLDefaultInSeconds - } vmssVirtualMachinesCacheTTL := time.Duration(ss.Config.VmssVirtualMachinesCacheTTLInSeconds) * time.Second getter := func(key string) (interface{}, error) {