From 330159c0a42a21947510defec39d5005000cd313 Mon Sep 17 00:00:00 2001 From: sunxiaofei03 Date: Sat, 11 Jan 2020 14:54:48 +0800 Subject: [PATCH] fix orphaned pod flexvolume can not be cleaned up --- pkg/volume/flexvolume/flexvolume_test.go | 6 +++--- pkg/volume/flexvolume/plugin.go | 5 ++--- pkg/volume/flexvolume/probe.go | 2 +- pkg/volume/plugins.go | 2 +- test/e2e/storage/detach_mounted.go | 2 +- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/pkg/volume/flexvolume/flexvolume_test.go b/pkg/volume/flexvolume/flexvolume_test.go index 99e301e1b9c..16643eb12cf 100644 --- a/pkg/volume/flexvolume/flexvolume_test.go +++ b/pkg/volume/flexvolume/flexvolume_test.go @@ -124,11 +124,11 @@ func TestCanSupport(t *testing.T) { runner := exec.New() installPluginUnderTest(t, "kubernetes.io", "fakeAttacher", tmpDir, execScriptTempl1, nil) plugMgr.InitPlugins(nil, GetDynamicPluginProber(tmpDir, runner), volumetest.NewFakeVolumeHost(t, "fake", nil, nil)) - plugin, err := plugMgr.FindPluginByName("flexvolume-kubernetes.io/fakeAttacher") + plugin, err := plugMgr.FindPluginByName("kubernetes.io/fakeAttacher") if err != nil { t.Fatalf("Can't find the plugin by name") } - if plugin.GetPluginName() != "flexvolume-kubernetes.io/fakeAttacher" { + if plugin.GetPluginName() != "kubernetes.io/fakeAttacher" { t.Errorf("Wrong name: %s", plugin.GetPluginName()) } if !plugin.CanSupport(&volume.Spec{Volume: &v1.Volume{VolumeSource: v1.VolumeSource{FlexVolume: &v1.FlexVolumeSource{Driver: "kubernetes.io/fakeAttacher"}}}}) { @@ -154,7 +154,7 @@ func TestGetAccessModes(t *testing.T) { installPluginUnderTest(t, "kubernetes.io", "fakeAttacher", tmpDir, execScriptTempl1, nil) plugMgr.InitPlugins(nil, GetDynamicPluginProber(tmpDir, runner), volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil)) - plugin, err := plugMgr.FindPersistentPluginByName("flexvolume-kubernetes.io/fakeAttacher") + plugin, err := plugMgr.FindPersistentPluginByName("kubernetes.io/fakeAttacher") if err != nil { t.Fatalf("Can't find the plugin by name") } diff --git a/pkg/volume/flexvolume/plugin.go b/pkg/volume/flexvolume/plugin.go index 6ca9ba7dc55..1dfd2e6c48c 100644 --- a/pkg/volume/flexvolume/plugin.go +++ b/pkg/volume/flexvolume/plugin.go @@ -34,8 +34,7 @@ import ( ) const ( - flexVolumePluginName = "kubernetes.io/flexvolume" - flexVolumePluginNamePrefix = "flexvolume-" + flexVolumePluginName = "kubernetes.io/flexvolume" ) // FlexVolumePlugin object. @@ -114,7 +113,7 @@ func (plugin *flexVolumePlugin) getExecutable() string { // Name is part of the volume.VolumePlugin interface. func (plugin *flexVolumePlugin) GetPluginName() string { - return flexVolumePluginNamePrefix + plugin.driverName + return plugin.driverName } // GetVolumeName is part of the volume.VolumePlugin interface. diff --git a/pkg/volume/flexvolume/probe.go b/pkg/volume/flexvolume/probe.go index dc01825aae6..0a094d807aa 100644 --- a/pkg/volume/flexvolume/probe.go +++ b/pkg/volume/flexvolume/probe.go @@ -140,7 +140,7 @@ func (prober *flexVolumeProber) newProbeEvent(driverDirName string, op volume.Pr probeEvent.PluginName = plugin.GetPluginName() } else if op == volume.ProbeRemove { driverName := utilstrings.UnescapeQualifiedName(driverDirName) - probeEvent.PluginName = flexVolumePluginNamePrefix + driverName + probeEvent.PluginName = driverName } else { return probeEvent, fmt.Errorf("Unknown Operation on directory: %s. ", driverDirName) diff --git a/pkg/volume/plugins.go b/pkg/volume/plugins.go index 7393c682e1f..096253e2adc 100644 --- a/pkg/volume/plugins.go +++ b/pkg/volume/plugins.go @@ -707,7 +707,7 @@ func (pm *VolumePluginMgr) FindPluginByName(name string) (VolumePlugin, error) { } if len(matches) == 0 { - return nil, fmt.Errorf("no volume plugin matched") + return nil, fmt.Errorf("no volume plugin matched name: %s", name) } if len(matches) > 1 { matchedPluginNames := []string{} diff --git a/test/e2e/storage/detach_mounted.go b/test/e2e/storage/detach_mounted.go index 7a797f7e241..2e537885d82 100644 --- a/test/e2e/storage/detach_mounted.go +++ b/test/e2e/storage/detach_mounted.go @@ -126,7 +126,7 @@ var _ = utils.SIGDescribe("Detaching volumes", func() { }) func getUniqueVolumeName(pod *v1.Pod, driverName string) string { - return fmt.Sprintf("flexvolume-k8s/%s/%s", driverName, pod.Spec.Volumes[0].Name) + return fmt.Sprintf("k8s/%s/%s", driverName, pod.Spec.Volumes[0].Name) } func waitForVolumesNotInUse(client clientset.Interface, nodeName, volumeName string) error {