Skip to content

Commit df35053

Browse files
committed
manager/allocator/cnmallocator: remove uses of deprecated Init() funcs
These functions were deprecated in moby/moby@28edc8e in favor of the Register functions. Unfortunately, not all Register functions have the same signature, so some (temporary) adaptor code was needed for these. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
1 parent d98f63b commit df35053

4 files changed

Lines changed: 40 additions & 20 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package cnmallocator
2+
3+
import (
4+
"fmt"
5+
6+
"github.com/docker/docker/libnetwork/driverapi"
7+
"github.com/docker/docker/libnetwork/drivers/remote"
8+
)
9+
10+
type driverRegisterFn func(r driverapi.Registerer, config map[string]interface{}) error
11+
12+
func registerRemote(r driverapi.Registerer, _ map[string]interface{}) error {
13+
dc, ok := r.(driverapi.DriverCallback)
14+
if !ok {
15+
return fmt.Errorf(`failed to register "remote" driver: driver does not implement driverapi.DriverCallback`)
16+
}
17+
return remote.Register(dc, dc.GetPluginGetter())
18+
}
19+
20+
//nolint:unused // is currently only used on Windows, but keeping these adaptors together in one file.
21+
func registerNetworkType(networkType string) func(dc driverapi.Registerer, config map[string]interface{}) error {
22+
return func(r driverapi.Registerer, _ map[string]interface{}) error {
23+
return RegisterManager(r, networkType)
24+
}
25+
}

manager/allocator/cnmallocator/drivers_darwin.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ package cnmallocator
22

33
import (
44
"github.com/docker/docker/libnetwork/drivers/overlay/ovmanager"
5-
"github.com/docker/docker/libnetwork/drivers/remote"
65
"github.com/moby/swarmkit/v2/manager/allocator/networkallocator"
76
)
87

98
var initializers = map[string]driverRegisterFn{
10-
"remote": remote.Init,
11-
"overlay": ovmanager.Init,
9+
"remote": registerRemote,
10+
"overlay": ovmanager.Register,
1211
}
1312

1413
// PredefinedNetworks returns the list of predefined network structures

manager/allocator/cnmallocator/drivers_network_linux.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,16 @@ import (
66
"github.com/docker/docker/libnetwork/drivers/ipvlan/ivmanager"
77
"github.com/docker/docker/libnetwork/drivers/macvlan/mvmanager"
88
"github.com/docker/docker/libnetwork/drivers/overlay/ovmanager"
9-
"github.com/docker/docker/libnetwork/drivers/remote"
10-
"github.com/docker/docker/libnetwork/drvregistry"
119
"github.com/moby/swarmkit/v2/manager/allocator/networkallocator"
1210
)
1311

14-
var initializers = map[string]drvregistry.InitFunc{
15-
"remote": remote.Init,
16-
"overlay": ovmanager.Init,
17-
"macvlan": mvmanager.Init,
18-
"bridge": brmanager.Init,
19-
"ipvlan": ivmanager.Init,
20-
"host": host.Init,
12+
var initializers = map[string]driverRegisterFn{
13+
"remote": registerRemote,
14+
"overlay": ovmanager.Register,
15+
"macvlan": mvmanager.Register,
16+
"bridge": brmanager.Register,
17+
"ipvlan": ivmanager.Register,
18+
"host": host.Register,
2119
}
2220

2321
// PredefinedNetworks returns the list of predefined network structures

manager/allocator/cnmallocator/drivers_network_windows.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,15 @@ package cnmallocator
22

33
import (
44
"github.com/docker/docker/libnetwork/drivers/overlay/ovmanager"
5-
"github.com/docker/docker/libnetwork/drivers/remote"
6-
"github.com/docker/docker/libnetwork/drvregistry"
75
"github.com/moby/swarmkit/v2/manager/allocator/networkallocator"
86
)
97

10-
var initializers = map[string]drvregistry.InitFunc{
11-
"remote": remote.Init,
12-
"overlay": ovmanager.Init,
13-
"internal": StubManagerInit("internal"),
14-
"l2bridge": StubManagerInit("l2bridge"),
15-
"nat": StubManagerInit("nat"),
8+
var initializers = map[string]driverRegisterFn{
9+
"remote": registerRemote,
10+
"overlay": ovmanager.Register,
11+
"internal": registerNetworkType("internal"),
12+
"l2bridge": registerNetworkType("l2bridge"),
13+
"nat": registerNetworkType("nat"),
1614
}
1715

1816
// PredefinedNetworks returns the list of predefined network structures

0 commit comments

Comments
 (0)