diff --git a/daemon/cluster/cluster.go b/daemon/cluster/cluster.go index b5a626596d..9a2ca82d97 100644 --- a/daemon/cluster/cluster.go +++ b/daemon/cluster/cluster.go @@ -332,6 +332,7 @@ func (c *Cluster) startNewNode(conf nodeStartConfig) (*node, error) { ElectionTick: 3, UnlockKey: conf.lockKey, AutoLockManagers: conf.autolock, + PluginGetter: c.config.Backend.PluginGetter(), }) if err != nil { diff --git a/daemon/cluster/executor/backend.go b/daemon/cluster/executor/backend.go index 17ede3341a..7107dfed66 100644 --- a/daemon/cluster/executor/backend.go +++ b/daemon/cluster/executor/backend.go @@ -56,4 +56,5 @@ type Backend interface { GetRepository(context.Context, reference.NamedTagged, *types.AuthConfig) (distribution.Repository, bool, error) LookupImage(name string) (*types.ImageInspect, error) PluginManager() *plugin.Manager + PluginGetter() *plugin.Store } diff --git a/daemon/daemon.go b/daemon/daemon.go index f0a1760fda..16d79c14bd 100644 --- a/daemon/daemon.go +++ b/daemon/daemon.go @@ -1270,6 +1270,11 @@ func (daemon *Daemon) PluginManager() *plugin.Manager { // set up before daemon return daemon.pluginManager } +// PluginGetter returns current pluginStore associated with the daemon +func (daemon *Daemon) PluginGetter() *plugin.Store { + return daemon.PluginStore +} + // CreateDaemonRoot creates the root for the daemon func CreateDaemonRoot(config *Config) error { // get the canonical path to the Docker root directory