Sfoglia il codice sorgente

Merge pull request #26925 from anusha-ragunathan/pluginstore-handle

Add Handle method to plugingetter.
Anusha Ragunathan 8 anni fa
parent
commit
1de5043f4e

+ 1 - 0
plugin/getter/interface.go

@@ -22,4 +22,5 @@ type CompatPlugin interface {
 type PluginGetter interface {
 	Get(name, capability string, mode int) (CompatPlugin, error)
 	GetAllByCap(capability string) ([]CompatPlugin, error)
+	Handle(capability string, callback func(string, *plugins.Client))
 }

+ 7 - 0
plugin/store/store.go

@@ -24,3 +24,10 @@ func (ps Store) GetAllByCap(capability string) ([]getter.CompatPlugin, error) {
 func (ps Store) Get(name, capability string, _ int) (getter.CompatPlugin, error) {
 	return plugins.Get(name, capability)
 }
+
+// Handle sets a callback for a given capability. It is only used by network
+// and ipam drivers during plugin registration. The callback registers the
+// driver with the subsystem (network, ipam).
+func (ps *Store) Handle(capability string, callback func(string, *plugins.Client)) {
+	plugins.Handle(capability, callback)
+}

+ 4 - 6
plugin/store/store_experimental.go

@@ -208,15 +208,13 @@ func (ps *Store) GetAllByCap(capability string) ([]getter.CompatPlugin, error) {
 // Handle sets a callback for a given capability. It is only used by network
 // and ipam drivers during plugin registration. The callback registers the
 // driver with the subsystem (network, ipam).
-func (ps Store) Handle(capability string, callback func(string, *plugins.Client)) {
+func (ps *Store) Handle(capability string, callback func(string, *plugins.Client)) {
 	pluginType := fmt.Sprintf("docker.%s/1", strings.ToLower(capability))
 
-	store := &ps
-
 	// Register callback with new plugin model.
-	store.Lock()
-	store.handlers[pluginType] = callback
-	store.Unlock()
+	ps.Lock()
+	ps.handlers[pluginType] = callback
+	ps.Unlock()
 
 	// Register callback with legacy plugin model.
 	if allowV1PluginsFallback {