From 3504ed88d939b9ec9cf20156dadaef190b599dca Mon Sep 17 00:00:00 2001 From: Anusha Ragunathan Date: Mon, 17 Oct 2016 14:35:38 -0700 Subject: [PATCH] Update loadDriver to use pluginv2. NetworkDrivers were still using v1 to Get plugins. Fix that. Signed-off-by: Anusha Ragunathan --- libnetwork/controller.go | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/libnetwork/controller.go b/libnetwork/controller.go index 2943c8c0a0..a4c0f160b0 100644 --- a/libnetwork/controller.go +++ b/libnetwork/controller.go @@ -1059,9 +1059,14 @@ func SandboxKeyWalker(out *Sandbox, key string) SandboxWalker { } func (c *controller) loadDriver(networkType string) error { - // Plugins pkg performs lazy loading of plugins that acts as remote drivers. - // As per the design, this Get call will result in remote driver discovery if there is a corresponding plugin available. - _, err := plugins.Get(networkType, driverapi.NetworkPluginEndpointType) + var err error + + if pg := c.GetPluginGetter(); pg != nil { + _, err = pg.Get(networkType, driverapi.NetworkPluginEndpointType, plugingetter.LOOKUP) + } else { + _, err = plugins.Get(networkType, driverapi.NetworkPluginEndpointType) + } + if err != nil { if err == plugins.ErrNotFound { return types.NotFoundErrorf(err.Error()) @@ -1073,7 +1078,15 @@ func (c *controller) loadDriver(networkType string) error { } func (c *controller) loadIPAMDriver(name string) error { - if _, err := c.GetPluginGetter().Get(name, ipamapi.PluginEndpointType, plugingetter.LOOKUP); err != nil { + var err error + + if pg := c.GetPluginGetter(); pg != nil { + _, err = pg.Get(name, ipamapi.PluginEndpointType, plugingetter.LOOKUP) + } else { + _, err = plugins.Get(name, ipamapi.PluginEndpointType) + } + + if err != nil { if err == plugins.ErrNotFound { return types.NotFoundErrorf(err.Error()) }