Merge pull request #26925 from anusha-ragunathan/pluginstore-handle
Add Handle method to plugingetter. Upstream-commit: 1de5043f4e7f4283909eac0f2268e701395d7ad9 Component: engine
This commit is contained in:
@ -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))
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user