diff --git a/pkg/volume/scaleio/sio_plugin.go b/pkg/volume/scaleio/sio_plugin.go index 69035dd3ba9..d7758756216 100644 --- a/pkg/volume/scaleio/sio_plugin.go +++ b/pkg/volume/scaleio/sio_plugin.go @@ -23,7 +23,6 @@ import ( api "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/util/keymutex" - "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" ) @@ -35,7 +34,6 @@ const ( type sioPlugin struct { host volume.VolumeHost - mounter mount.Interface volumeMtx keymutex.KeyMutex } @@ -53,7 +51,6 @@ var _ volume.VolumePlugin = &sioPlugin{} func (p *sioPlugin) Init(host volume.VolumeHost) error { p.host = host - p.mounter = host.GetMounter(p.GetPluginName()) p.volumeMtx = keymutex.NewKeyMutex() return nil } diff --git a/pkg/volume/scaleio/sio_volume.go b/pkg/volume/scaleio/sio_volume.go index 654d8fd58a6..f72b5a1adbb 100644 --- a/pkg/volume/scaleio/sio_volume.go +++ b/pkg/volume/scaleio/sio_volume.go @@ -93,7 +93,8 @@ func (v *sioVolume) SetUpAt(dir string, fsGroup *int64) error { return err } - notDevMnt, err := v.plugin.mounter.IsLikelyNotMountPoint(dir) + mounter := v.plugin.host.GetMounter(v.plugin.GetPluginName()) + notDevMnt, err := mounter.IsLikelyNotMountPoint(dir) if err != nil && !os.IsNotExist(err) { glog.Error(log("IsLikelyNotMountPoint test failed for dir %v", dir)) return err @@ -186,21 +187,22 @@ func (v *sioVolume) TearDownAt(dir string) error { v.plugin.volumeMtx.LockKey(v.volSpecName) defer v.plugin.volumeMtx.UnlockKey(v.volSpecName) - dev, _, err := mount.GetDeviceNameFromMount(v.plugin.mounter, dir) + mounter := v.plugin.host.GetMounter(v.plugin.GetPluginName()) + dev, _, err := mount.GetDeviceNameFromMount(mounter, dir) if err != nil { glog.Errorf(log("failed to get reference count for volume: %s", dir)) return err } glog.V(4).Info(log("attempting to unmount %s", dir)) - if err := util.UnmountPath(dir, v.plugin.mounter); err != nil { + if err := util.UnmountPath(dir, mounter); err != nil { glog.Error(log("teardown failed while unmounting dir %s: %v ", dir, err)) return err } glog.V(4).Info(log("dir %s unmounted successfully", dir)) // detach/unmap - deviceBusy, err := v.plugin.mounter.DeviceOpened(dev) + deviceBusy, err := mounter.DeviceOpened(dev) if err != nil { glog.Error(log("teardown unable to get status for device %s: %v", dev, err)) return err diff --git a/pkg/volume/scaleio/sio_volume_test.go b/pkg/volume/scaleio/sio_volume_test.go index 9d495d3e675..36e747c31fd 100644 --- a/pkg/volume/scaleio/sio_volume_test.go +++ b/pkg/volume/scaleio/sio_volume_test.go @@ -30,7 +30,6 @@ import ( "k8s.io/apimachinery/pkg/types" fakeclient "k8s.io/client-go/kubernetes/fake" utiltesting "k8s.io/client-go/util/testing" - "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" volumetest "k8s.io/kubernetes/pkg/volume/testing" ) @@ -138,8 +137,6 @@ func TestVolumeMounterUnmounter(t *testing.T) { t.Errorf("Cannot assert plugin to be type sioPlugin") } - sioPlug.mounter = &mount.FakeMounter{} - vol := &api.Volume{ Name: testSioVolName, VolumeSource: api.VolumeSource{