sandbox: add sandbox controller v2
Signed-off-by: Abel Feng <fshb1988@gmail.com>
This commit is contained in:
@@ -48,6 +48,7 @@ func init() {
|
||||
ID: "cri",
|
||||
Requires: []plugin.Type{
|
||||
plugins.CRIServicePlugin,
|
||||
plugins.PodSandboxPlugin,
|
||||
plugins.SandboxControllerPlugin,
|
||||
plugins.NRIApiPlugin,
|
||||
plugins.EventPlugin,
|
||||
@@ -237,13 +238,21 @@ func getNRIAPI(ic *plugin.InitContext) nriservice.API {
|
||||
}
|
||||
|
||||
func getSandboxControllers(ic *plugin.InitContext) (map[string]sandbox.Controller, error) {
|
||||
sc := make(map[string]sandbox.Controller)
|
||||
sandboxers, err := ic.GetByType(plugins.SandboxControllerPlugin)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
sc := make(map[string]sandbox.Controller)
|
||||
for name, p := range sandboxers {
|
||||
sc[name] = p.(sandbox.Controller)
|
||||
}
|
||||
|
||||
podSandboxers, err := ic.GetByType(plugins.PodSandboxPlugin)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for name, p := range podSandboxers {
|
||||
sc[name] = p.(sandbox.Controller)
|
||||
}
|
||||
return sc, nil
|
||||
}
|
||||
|
||||
@@ -41,20 +41,29 @@ func init() {
|
||||
Type: plugins.GRPCPlugin,
|
||||
ID: "sandbox-controllers",
|
||||
Requires: []plugin.Type{
|
||||
plugins.PodSandboxPlugin,
|
||||
plugins.SandboxControllerPlugin,
|
||||
plugins.EventPlugin,
|
||||
},
|
||||
InitFn: func(ic *plugin.InitContext) (interface{}, error) {
|
||||
sandboxers, err := ic.GetByType(plugins.SandboxControllerPlugin)
|
||||
sc := make(map[string]sandbox.Controller)
|
||||
|
||||
sandboxers, err := ic.GetByType(plugins.PodSandboxPlugin)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sc := make(map[string]sandbox.Controller)
|
||||
for name, p := range sandboxers {
|
||||
sc[name] = p.(sandbox.Controller)
|
||||
}
|
||||
|
||||
sandboxersV2, err := ic.GetByType(plugins.SandboxControllerPlugin)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for name, p := range sandboxersV2 {
|
||||
sc[name] = p.(sandbox.Controller)
|
||||
}
|
||||
|
||||
ep, err := ic.GetSingle(plugins.EventPlugin)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -63,6 +63,8 @@ const (
|
||||
TransferPlugin plugin.Type = "io.containerd.transfer.v1"
|
||||
// SandboxStorePlugin implements a sandbox store
|
||||
SandboxStorePlugin plugin.Type = "io.containerd.sandbox.store.v1"
|
||||
// PodSandboxPlugin is a special sandbox controller which use pause container as a sandbox.
|
||||
PodSandboxPlugin plugin.Type = "io.containerd.podsandbox.controller.v1"
|
||||
// SandboxControllerPlugin implements a sandbox controller
|
||||
SandboxControllerPlugin plugin.Type = "io.containerd.sandbox.controller.v1"
|
||||
// ImageVerifierPlugin implements an image verifier service
|
||||
|
||||
Reference in New Issue
Block a user