• Kubernetes Submit Queue's avatar
    Merge pull request #60183 from andyzhangx/addlock-detach-azuredisk · 8f9e8c0a
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 60208, 60084, 60183, 59713, 60096). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
    
    fix race condition issue when detaching azure disk
    
    **What this PR does / why we need it**:
    add lock before detaching azure disk, without this PR, there would be lots of `Multi-Attach error` when scheduling one pod from one node to another.
    
    **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
    Fixes #60101
    
    **Special notes for your reviewer**:
    @feiskyer @djsly @khenidak 
    Since we are using `getLunMutex.LockKey(instanceid)` for both AttachDisk and DetachDisk, there would be only one VM.update operation at a time for both AttachDisk and DetachDisk.
    
    **Release note**:
    
    ```
    fix race condition issue when detaching azure disk
    ```
    
    /assign @feiskyer 
    Could you also mark as v1.10 milestone @feiskyer thanks.
    /sig azure
    8f9e8c0a
Name
Last commit
Last update
..
aws_ebs Loading commit data...
azure_dd Loading commit data...
azure_file Loading commit data...
cephfs Loading commit data...
cinder Loading commit data...
configmap Loading commit data...
csi Loading commit data...
downwardapi Loading commit data...
empty_dir Loading commit data...
fc Loading commit data...
flexvolume Loading commit data...
flocker Loading commit data...
gce_pd Loading commit data...
git_repo Loading commit data...
glusterfs Loading commit data...
host_path Loading commit data...
iscsi Loading commit data...
local Loading commit data...
nfs Loading commit data...
photon_pd Loading commit data...
portworx Loading commit data...
projected Loading commit data...
quobyte Loading commit data...
rbd Loading commit data...
scaleio Loading commit data...
secret Loading commit data...
storageos Loading commit data...
testing Loading commit data...
util Loading commit data...
validation Loading commit data...
vsphere_volume Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
doc.go Loading commit data...
metrics_cached.go Loading commit data...
metrics_du.go Loading commit data...
metrics_du_test.go Loading commit data...
metrics_errors.go Loading commit data...
metrics_nil.go Loading commit data...
metrics_nil_test.go Loading commit data...
metrics_statfs.go Loading commit data...
metrics_statfs_test.go Loading commit data...
plugins.go Loading commit data...
plugins_test.go Loading commit data...
util.go Loading commit data...
util_test.go Loading commit data...
volume.go Loading commit data...
volume_linux.go Loading commit data...
volume_unsupported.go Loading commit data...