diff --git a/pkg/volume/aws_ebs/attacher.go b/pkg/volume/aws_ebs/attacher.go index 59e2566a8f3..a4cbe0c5915 100644 --- a/pkg/volume/aws_ebs/attacher.go +++ b/pkg/volume/aws_ebs/attacher.go @@ -244,27 +244,6 @@ func (detacher *awsElasticBlockStoreDetacher) Detach(deviceMountPath string, nod return nil } -func (detacher *awsElasticBlockStoreDetacher) WaitForDetach(devicePath string, timeout time.Duration) error { - ticker := time.NewTicker(checkSleepDuration) - defer ticker.Stop() - timer := time.NewTimer(timeout) - defer timer.Stop() - - for { - select { - case <-ticker.C: - glog.V(5).Infof("Checking device %q is detached.", devicePath) - if pathExists, err := volumeutil.PathExists(devicePath); err != nil { - return fmt.Errorf("Error checking if device path exists: %v", err) - } else if !pathExists { - return nil - } - case <-timer.C: - return fmt.Errorf("Timeout reached; PD Device %v is still attached", devicePath) - } - } -} - func (detacher *awsElasticBlockStoreDetacher) UnmountDevice(deviceMountPath string) error { return volumeutil.UnmountPath(deviceMountPath, detacher.mounter) } diff --git a/pkg/volume/azure_dd/attacher.go b/pkg/volume/azure_dd/attacher.go index ed99cfa4bc6..155c6d6b29f 100644 --- a/pkg/volume/azure_dd/attacher.go +++ b/pkg/volume/azure_dd/attacher.go @@ -270,20 +270,6 @@ func (detacher *azureDiskDetacher) Detach(diskName string, nodeName types.NodeNa return err } -// WaitForDetach detects if the disk is detached on the node -func (detacher *azureDiskDetacher) WaitForDetach(devicePath string, timeout time.Duration) error { - return wait.Poll(checkSleepDuration, timeout, func() (bool, error) { - glog.V(4).Infof("Checking device %q is detached.", devicePath) - if pathExists, err := util.PathExists(devicePath); err != nil { - return false, fmt.Errorf("Error checking if device path exists: %v", err) - } else if !pathExists { - return true, nil - } else { - return false, nil - } - }) -} - // UnmountDevice unmounts the volume on the node func (detacher *azureDiskDetacher) UnmountDevice(deviceMountPath string) error { volume := path.Base(deviceMountPath) diff --git a/pkg/volume/cinder/attacher.go b/pkg/volume/cinder/attacher.go index 064ab26a60b..c65c83b5755 100644 --- a/pkg/volume/cinder/attacher.go +++ b/pkg/volume/cinder/attacher.go @@ -276,27 +276,6 @@ func (detacher *cinderDiskDetacher) Detach(deviceMountPath string, nodeName type return nil } -func (detacher *cinderDiskDetacher) WaitForDetach(devicePath string, timeout time.Duration) error { - ticker := time.NewTicker(checkSleepDuration) - defer ticker.Stop() - timer := time.NewTimer(timeout) - defer timer.Stop() - - for { - select { - case <-ticker.C: - glog.V(5).Infof("Checking device %q is detached.", devicePath) - if pathExists, err := volumeutil.PathExists(devicePath); err != nil { - return fmt.Errorf("Error checking if device path exists: %v", err) - } else if !pathExists { - return nil - } - case <-timer.C: - return fmt.Errorf("Timeout reached; PD Device %v is still attached", devicePath) - } - } -} - func (detacher *cinderDiskDetacher) UnmountDevice(deviceMountPath string) error { return volumeutil.UnmountPath(deviceMountPath, detacher.mounter) } diff --git a/pkg/volume/gce_pd/attacher.go b/pkg/volume/gce_pd/attacher.go index 190e27acaff..0efcbe0458a 100644 --- a/pkg/volume/gce_pd/attacher.go +++ b/pkg/volume/gce_pd/attacher.go @@ -270,27 +270,6 @@ func (detacher *gcePersistentDiskDetacher) Detach(deviceMountPath string, nodeNa return nil } -func (detacher *gcePersistentDiskDetacher) WaitForDetach(devicePath string, timeout time.Duration) error { - ticker := time.NewTicker(checkSleepDuration) - defer ticker.Stop() - timer := time.NewTimer(timeout) - defer timer.Stop() - - for { - select { - case <-ticker.C: - glog.V(5).Infof("Checking device %q is detached.", devicePath) - if pathExists, err := volumeutil.PathExists(devicePath); err != nil { - return fmt.Errorf("Error checking if device path exists: %v", err) - } else if !pathExists { - return nil - } - case <-timer.C: - return fmt.Errorf("Timeout reached; PD Device %v is still attached", devicePath) - } - } -} - func (detacher *gcePersistentDiskDetacher) UnmountDevice(deviceMountPath string) error { return volumeutil.UnmountPath(deviceMountPath, detacher.host.GetMounter()) } diff --git a/pkg/volume/testing/testing.go b/pkg/volume/testing/testing.go index 8ccc405a8d1..a2d053fdce3 100644 --- a/pkg/volume/testing/testing.go +++ b/pkg/volume/testing/testing.go @@ -312,7 +312,6 @@ type FakeVolume struct { AttachCallCount int DetachCallCount int WaitForAttachCallCount int - WaitForDetachCallCount int MountDeviceCallCount int UnmountDeviceCallCount int GetDeviceMountPathCallCount int @@ -435,13 +434,6 @@ func (fv *FakeVolume) GetDetachCallCount() int { return fv.DetachCallCount } -func (fv *FakeVolume) WaitForDetach(devicePath string, timeout time.Duration) error { - fv.Lock() - defer fv.Unlock() - fv.WaitForDetachCallCount++ - return nil -} - func (fv *FakeVolume) UnmountDevice(globalMountPath string) error { fv.Lock() defer fv.Unlock() diff --git a/pkg/volume/volume.go b/pkg/volume/volume.go index 54081c54534..f91c8bddd45 100644 --- a/pkg/volume/volume.go +++ b/pkg/volume/volume.go @@ -172,11 +172,6 @@ type Detacher interface { // Detach the given device from the node with the given Name. Detach(deviceName string, nodeName types.NodeName) error - // WaitForDetach blocks until the device is detached from this - // node. If the device does not detach within the given timeout - // period an error is returned. - WaitForDetach(devicePath string, timeout time.Duration) error - // UnmountDevice unmounts the global mount of the disk. This // should only be called once all bind mounts have been // unmounted. diff --git a/pkg/volume/vsphere_volume/attacher.go b/pkg/volume/vsphere_volume/attacher.go index d722b17eafc..7e74af3b800 100644 --- a/pkg/volume/vsphere_volume/attacher.go +++ b/pkg/volume/vsphere_volume/attacher.go @@ -251,27 +251,6 @@ func (detacher *vsphereVMDKDetacher) Detach(deviceMountPath string, nodeName typ return nil } -func (detacher *vsphereVMDKDetacher) WaitForDetach(devicePath string, timeout time.Duration) error { - ticker := time.NewTicker(checkSleepDuration) - defer ticker.Stop() - timer := time.NewTimer(timeout) - defer timer.Stop() - - for { - select { - case <-ticker.C: - glog.V(5).Infof("Checking device %q is detached.", devicePath) - if pathExists, err := volumeutil.PathExists(devicePath); err != nil { - return fmt.Errorf("Error checking if device path exists: %v", err) - } else if !pathExists { - return nil - } - case <-timer.C: - return fmt.Errorf("Timeout reached; Device %v is still attached", devicePath) - } - } -} - func (detacher *vsphereVMDKDetacher) UnmountDevice(deviceMountPath string) error { return volumeutil.UnmountPath(deviceMountPath, detacher.mounter) }