diff --git a/pkg/volume/aws_ebs/attacher.go b/pkg/volume/aws_ebs/attacher.go index 7af31011b58..66edcaf31f6 100644 --- a/pkg/volume/aws_ebs/attacher.go +++ b/pkg/volume/aws_ebs/attacher.go @@ -245,27 +245,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 a254090b003..ee60642a7e2 100644 --- a/pkg/volume/cinder/attacher.go +++ b/pkg/volume/cinder/attacher.go @@ -281,27 +281,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 052da91503e..38b0b1fead5 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 569c04b8d04..eaa2aba8dc2 100644 --- a/pkg/volume/testing/testing.go +++ b/pkg/volume/testing/testing.go @@ -307,7 +307,6 @@ type FakeVolume struct { AttachCallCount int DetachCallCount int WaitForAttachCallCount int - WaitForDetachCallCount int MountDeviceCallCount int UnmountDeviceCallCount int GetDeviceMountPathCallCount int @@ -430,13 +429,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 c4968f6a68e..1491c143313 100644 --- a/pkg/volume/volume.go +++ b/pkg/volume/volume.go @@ -189,11 +189,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) }