Merge pull request #36692 from katakonst/unique_names_container_rename_Test

Use unique names for container/rename_test.go
diff --git a/MAINTAINERS b/MAINTAINERS
index e9a5566..8f76e71 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -71,18 +71,15 @@
 	# - close an issue or pull request when it's inappropriate or off-topic
 
 		people = [
-			"aboch",
 			"alexellis",
 			"andrewhsu",
 			"anonymuse",
 			"chanwit",
-			"ehazlett",
 			"fntlnz",
 			"gianarb",
-			"mgoelzer",
 			"programmerq",
 			"rheinwein",
-			"ripcurld0",
+			"ripcurld",
 			"thajeztah"
 		]
 
@@ -242,11 +239,6 @@
 	Email = "aaron.lehmann@docker.com"
 	GitHub = "aaronlehmann"
 
-	[people.aboch]
-	Name = "Alessandro Boch"
-	Email = "aboch@docker.com"
-	GitHub = "aboch"
-
 	[people.alexellis]
 	Name = "Alex Ellis"
 	Email = "alexellis2@gmail.com"
@@ -382,11 +374,6 @@
 	Email = "madhu@docker.com"
 	GitHub = "mavenugo"
 
-	[people.mgoelzer]
-	Name = "Mike Goelzer"
-	Email = "mike.goelzer@docker.com"
-	GitHub = "mgoelzer"
-
 	[people.mhbauer]
 	Name = "Morgan Bauer"
 	Email = "mbauer@us.ibm.com"
@@ -422,10 +409,10 @@
 	Email = "laura@codeship.com"
 	GitHub = "rheinwein"
 
-	[people.ripcurld0]
+	[people.ripcurld]
 	Name = "Boaz Shuster"
 	Email = "ripcurld.github@gmail.com"
-	GitHub = "ripcurld0"
+	GitHub = "ripcurld"
 
 	[people.runcom]
 	Name = "Antonio Murdaca"
diff --git a/plugin/manager_linux.go b/plugin/manager_linux.go
index 3fc6be4..4988f74 100644
--- a/plugin/manager_linux.go
+++ b/plugin/manager_linux.go
@@ -64,6 +64,7 @@
 				logrus.Warnf("Could not unmount %s: %v", propRoot, err)
 			}
 		}
+		return errors.WithStack(err)
 	}
 	return pm.pluginPostStart(p, c)
 }
diff --git a/plugin/manager_linux_test.go b/plugin/manager_linux_test.go
index be5f933..3968391 100644
--- a/plugin/manager_linux_test.go
+++ b/plugin/manager_linux_test.go
@@ -1,6 +1,7 @@
 package plugin // import "github.com/docker/docker/plugin"
 
 import (
+	"io"
 	"io/ioutil"
 	"os"
 	"path/filepath"
@@ -10,6 +11,8 @@
 	"github.com/docker/docker/pkg/mount"
 	"github.com/docker/docker/pkg/system"
 	"github.com/docker/docker/plugin/v2"
+	specs "github.com/opencontainers/runtime-spec/specs-go"
+	"github.com/pkg/errors"
 )
 
 func TestManagerWithPluginMounts(t *testing.T) {
@@ -77,3 +80,58 @@
 
 	return &p
 }
+
+type simpleExecutor struct {
+}
+
+func (e *simpleExecutor) Create(id string, spec specs.Spec, stdout, stderr io.WriteCloser) error {
+	return errors.New("Create failed")
+}
+
+func (e *simpleExecutor) Restore(id string, stdout, stderr io.WriteCloser) error {
+	return nil
+}
+
+func (e *simpleExecutor) IsRunning(id string) (bool, error) {
+	return false, nil
+}
+
+func (e *simpleExecutor) Signal(id string, signal int) error {
+	return nil
+}
+
+func TestCreateFailed(t *testing.T) {
+	root, err := ioutil.TempDir("", "test-create-failed")
+	if err != nil {
+		t.Fatal(err)
+	}
+	defer system.EnsureRemoveAll(root)
+
+	s := NewStore()
+	managerRoot := filepath.Join(root, "manager")
+	p := newTestPlugin(t, "create", "testcreate", managerRoot)
+
+	m, err := NewManager(
+		ManagerConfig{
+			Store:          s,
+			Root:           managerRoot,
+			ExecRoot:       filepath.Join(root, "exec"),
+			CreateExecutor: func(*Manager) (Executor, error) { return &simpleExecutor{}, nil },
+			LogPluginEvent: func(_, _, _ string) {},
+		})
+	if err != nil {
+		t.Fatal(err)
+	}
+
+	if err := s.Add(p); err != nil {
+		t.Fatal(err)
+	}
+
+	if err := m.enable(p, &controller{}, false); err == nil {
+		t.Fatalf("expected Create failed error, got %v", err)
+	}
+
+	if err := m.Remove(p.Name(), &types.PluginRmConfig{ForceRemove: true}); err != nil {
+		t.Fatal(err)
+	}
+}