diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_standard.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_standard.go index a9d824f9e94..1a92fdc6652 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_standard.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_standard.go @@ -141,7 +141,11 @@ func (as *availabilitySet) DetachDisk(diskName, diskURI string, nodeName types.N (disk.ManagedDisk != nil && diskURI != "" && strings.EqualFold(*disk.ManagedDisk.ID, diskURI)) { // found the disk klog.V(2).Infof("azureDisk - detach disk: name %q uri %q", diskName, diskURI) - disks[i].ToBeDetached = to.BoolPtr(true) + if strings.EqualFold(as.cloud.Environment.Name, "AZURESTACKCLOUD") { + disks = append(disks[:i], disks[i+1:]...) + } else { + disks[i].ToBeDetached = to.BoolPtr(true) + } bFoundDisk = true break } diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_vmss.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_vmss.go index 4e1d65cc2b0..e867239491f 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_vmss.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_vmss.go @@ -143,7 +143,11 @@ func (ss *scaleSet) DetachDisk(diskName, diskURI string, nodeName types.NodeName (disk.ManagedDisk != nil && diskURI != "" && strings.EqualFold(*disk.ManagedDisk.ID, diskURI)) { // found the disk klog.V(2).Infof("azureDisk - detach disk: name %q uri %q", diskName, diskURI) - disks[i].ToBeDetached = to.BoolPtr(true) + if strings.EqualFold(ss.cloud.Environment.Name, "AZURESTACKCLOUD") { + disks = append(disks[:i], disks[i+1:]...) + } else { + disks[i].ToBeDetached = to.BoolPtr(true) + } bFoundDisk = true break }