Browse Source

fix plugin restart on docker restart

Signed-off-by: Victor Vieux <vieux@docker.com>
Victor Vieux 9 years ago
parent
commit
ab12ed4a56
4 changed files with 5 additions and 5 deletions
  1. 1 1
      plugin/backend.go
  2. 1 1
      plugin/manager.go
  3. 2 2
      plugin/manager_linux.go
  4. 1 1
      plugin/manager_windows.go

+ 1 - 1
plugin/backend.go

@@ -35,7 +35,7 @@ func (pm *Manager) Enable(name string) error {
 	if err != nil {
 		return err
 	}
-	if err := pm.enable(p); err != nil {
+	if err := pm.enable(p, false); err != nil {
 		return err
 	}
 	pm.pluginEventLogger(p.PluginObj.ID, name, "enable")

+ 1 - 1
plugin/manager.go

@@ -321,7 +321,7 @@ func (pm *Manager) init() error {
 
 			if requiresManualRestore {
 				// if liveRestore is not enabled, the plugin will be stopped now so we should enable it
-				if err := pm.enable(p); err != nil {
+				if err := pm.enable(p, true); err != nil {
 					logrus.Errorf("failed to enable plugin '%s': %s", p.Name(), err)
 				}
 			}

+ 2 - 2
plugin/manager_linux.go

@@ -20,8 +20,8 @@ import (
 	"github.com/opencontainers/specs/specs-go"
 )
 
-func (pm *Manager) enable(p *plugin) error {
-	if p.PluginObj.Active {
+func (pm *Manager) enable(p *plugin, force bool) error {
+	if p.PluginObj.Active && !force {
 		return fmt.Errorf("plugin %s is already enabled", p.Name())
 	}
 	spec, err := pm.initSpec(p)

+ 1 - 1
plugin/manager_windows.go

@@ -8,7 +8,7 @@ import (
 	"github.com/opencontainers/specs/specs-go"
 )
 
-func (pm *Manager) enable(p *plugin) error {
+func (pm *Manager) enable(p *plugin, force bool) error {
 	return fmt.Errorf("Not implemented")
 }