Merge pull request #90638 from tsmetana/vsphere-provision-pv-race

VSphere cloud provider: Fix race in disk provisioning
This commit is contained in:
Kubernetes Prow Robot 2020-05-26 13:37:09 -07:00 committed by GitHub
commit 8c2474f1a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -70,6 +70,11 @@ func (diskManager virtualDiskManager) Create(ctx context.Context, datastore *vcl
taskInfo, err := task.WaitForResult(ctx, nil) taskInfo, err := task.WaitForResult(ctx, nil)
vclib.RecordvSphereMetric(vclib.APICreateVolume, requestTime, err) vclib.RecordvSphereMetric(vclib.APICreateVolume, requestTime, err)
if err != nil { if err != nil {
if isAlreadyExists(diskManager.diskPath, err) {
// The disk already exists, log info message and return success
klog.V(vclib.LogLevel).Infof("File: %v already exists", diskManager.diskPath)
return diskManager.diskPath, nil
}
klog.Errorf("Failed to complete virtual disk creation: %s. err: %+v", diskManager.diskPath, err) klog.Errorf("Failed to complete virtual disk creation: %s. err: %+v", diskManager.diskPath, err)
return "", err return "", err
} }