mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 12:15:52 +00:00
Merge pull request #85158 from andyzhangx/vmss-dirty-cache
fix vmss dirty cache issue
This commit is contained in:
commit
1057f3a82a
@ -88,9 +88,7 @@ func (ss *scaleSet) AttachDisk(isManagedDisk bool, diskName, diskURI string, nod
|
||||
defer cancel()
|
||||
|
||||
// Invalidate the cache right after updating
|
||||
if err = ss.deleteCacheForNode(vmName); err != nil {
|
||||
return err
|
||||
}
|
||||
defer ss.deleteCacheForNode(vmName)
|
||||
|
||||
klog.V(2).Infof("azureDisk - update(%s): vm(%s) - attach disk(%s, %s) with DiskEncryptionSetID(%s)", nodeResourceGroup, nodeName, diskName, diskURI, diskEncryptionSetID)
|
||||
_, err = ss.VirtualMachineScaleSetVMsClient.Update(ctx, nodeResourceGroup, ssName, instanceID, newVM, "attach_disk")
|
||||
@ -160,9 +158,7 @@ func (ss *scaleSet) DetachDisk(diskName, diskURI string, nodeName types.NodeName
|
||||
defer cancel()
|
||||
|
||||
// Invalidate the cache right after updating
|
||||
if err = ss.deleteCacheForNode(vmName); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer ss.deleteCacheForNode(vmName)
|
||||
|
||||
klog.V(2).Infof("azureDisk - update(%s): vm(%s) - detach disk(%s, %s)", nodeResourceGroup, nodeName, diskName, diskURI)
|
||||
return ss.VirtualMachineScaleSetVMsClient.Update(ctx, nodeResourceGroup, ssName, instanceID, newVM, "detach_disk")
|
||||
|
@ -850,10 +850,8 @@ func (ss *scaleSet) EnsureHostInPool(service *v1.Service, nodeName types.NodeNam
|
||||
return err
|
||||
}
|
||||
|
||||
// Invalidate the cache since we would update it.
|
||||
if err = ss.deleteCacheForNode(vmName); err != nil {
|
||||
return err
|
||||
}
|
||||
// Invalidate the cache since right after update
|
||||
defer ss.deleteCacheForNode(vmName)
|
||||
|
||||
// Update vmssVM with backoff.
|
||||
ctx, cancel := getContextWithCancel()
|
||||
@ -1129,10 +1127,8 @@ func (ss *scaleSet) ensureBackendPoolDeletedFromNode(service *v1.Service, nodeNa
|
||||
return err
|
||||
}
|
||||
|
||||
// Invalidate the cache since we would update it.
|
||||
if err = ss.deleteCacheForNode(nodeName); err != nil {
|
||||
return err
|
||||
}
|
||||
// Invalidate the cache since right after update
|
||||
defer ss.deleteCacheForNode(nodeName)
|
||||
|
||||
// Update vmssVM with backoff.
|
||||
ctx, cancel := getContextWithCancel()
|
||||
|
@ -117,6 +117,7 @@ func (ss *scaleSet) newVMSSVirtualMachinesCache() (*timedCache, error) {
|
||||
func (ss *scaleSet) deleteCacheForNode(nodeName string) error {
|
||||
cached, err := ss.vmssVMCache.Get(vmssVirtualMachinesKey, cacheReadTypeUnsafe)
|
||||
if err != nil {
|
||||
klog.Errorf("deleteCacheForNode(%s) failed with error: %v", nodeName, err)
|
||||
return err
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user