diff --git a/pkg/cri/server/container_start.go b/pkg/cri/server/container_start.go index df432048a..885cc72ef 100644 --- a/pkg/cri/server/container_start.go +++ b/pkg/cri/server/container_start.go @@ -27,8 +27,6 @@ import ( containerdio "github.com/containerd/containerd/cio" "github.com/containerd/containerd/errdefs" "github.com/containerd/containerd/log" - "github.com/containerd/nri" - v1 "github.com/containerd/nri/types/v1" "github.com/sirupsen/logrus" runtime "k8s.io/cri-api/pkg/apis/runtime/v1" @@ -135,7 +133,7 @@ func (c *criService) StartContainer(ctx context.Context, r *runtime.StartContain deferCtx, deferCancel := ctrdutil.DeferContext() defer deferCancel() // It's possible that task is deleted by event monitor. - if _, err := task.Delete(deferCtx, WithNRISandboxDelete(sandboxID), containerd.WithProcessKill); err != nil && !errdefs.IsNotFound(err) { + if _, err := task.Delete(deferCtx, containerd.WithProcessKill); err != nil && !errdefs.IsNotFound(err) { log.G(ctx).WithError(err).Errorf("Failed to delete containerd task %q", id) } } @@ -146,19 +144,6 @@ func (c *criService) StartContainer(ctx context.Context, r *runtime.StartContain if err != nil { return nil, fmt.Errorf("failed to wait for containerd task: %w", err) } - nric, err := nri.New() - if err != nil { - log.G(ctx).WithError(err).Error("unable to create nri client") - } - if nric != nil { - nriSB := &nri.Sandbox{ - ID: sandboxID, - Labels: sandbox.Config.Labels, - } - if _, err := nric.InvokeWithSandbox(ctx, task, v1.Create, nriSB); err != nil { - return nil, fmt.Errorf("nri invoke: %w", err) - } - } defer func() { if retErr != nil { diff --git a/pkg/cri/server/events.go b/pkg/cri/server/events.go index 2199a97ac..1ac23a0b9 100644 --- a/pkg/cri/server/events.go +++ b/pkg/cri/server/events.go @@ -384,7 +384,7 @@ func handleContainerExit(ctx context.Context, e *eventtypes.TaskExit, cntr conta } } else { // TODO(random-liu): [P1] This may block the loop, we may want to spawn a worker - if _, err = task.Delete(ctx, WithNRISandboxDelete(cntr.SandboxID), c.nri.WithContainerExit(&cntr), containerd.WithProcessKill); err != nil { + if _, err = task.Delete(ctx, c.nri.WithContainerExit(&cntr), containerd.WithProcessKill); err != nil { if !errdefs.IsNotFound(err) { return fmt.Errorf("failed to stop container: %w", err) } @@ -424,7 +424,7 @@ func handleSandboxExit(ctx context.Context, e *eventtypes.TaskExit, sb sandboxst } } else { // TODO(random-liu): [P1] This may block the loop, we may want to spawn a worker - if _, err = task.Delete(ctx, WithNRISandboxDelete(sb.ID), containerd.WithProcessKill); err != nil { + if _, err = task.Delete(ctx, containerd.WithProcessKill); err != nil { if !errdefs.IsNotFound(err) { return fmt.Errorf("failed to stop sandbox: %w", err) } diff --git a/pkg/cri/server/opts.go b/pkg/cri/server/opts.go deleted file mode 100644 index 58520dbc3..000000000 --- a/pkg/cri/server/opts.go +++ /dev/null @@ -1,51 +0,0 @@ -/* - Copyright The containerd Authors. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -package server - -import ( - "context" - - "github.com/containerd/containerd" - "github.com/containerd/containerd/log" - "github.com/containerd/nri" - v1 "github.com/containerd/nri/types/v1" -) - -// WithNRISandboxDelete calls delete for a sandbox'd task -func WithNRISandboxDelete(sandboxID string) containerd.ProcessDeleteOpts { - return func(ctx context.Context, p containerd.Process) error { - task, ok := p.(containerd.Task) - if !ok { - return nil - } - nric, err := nri.New() - if err != nil { - log.G(ctx).WithError(err).Error("unable to create nri client") - return nil - } - if nric == nil { - return nil - } - sb := &nri.Sandbox{ - ID: sandboxID, - } - if _, err := nric.InvokeWithSandbox(ctx, task, v1.Delete, sb); err != nil { - log.G(ctx).WithError(err).Errorf("Failed to delete nri for %q", task.ID()) - } - return nil - } -} diff --git a/pkg/cri/server/sandbox_run.go b/pkg/cri/server/sandbox_run.go index e085352de..929cf1b25 100644 --- a/pkg/cri/server/sandbox_run.go +++ b/pkg/cri/server/sandbox_run.go @@ -28,8 +28,6 @@ import ( "time" cni "github.com/containerd/go-cni" - "github.com/containerd/nri" - v1 "github.com/containerd/nri/types/v1" "github.com/containerd/typeurl" "github.com/davecgh/go-spew/spew" selinux "github.com/opencontainers/selinux/go-selinux" @@ -346,7 +344,7 @@ func (c *criService) RunPodSandbox(ctx context.Context, r *runtime.RunPodSandbox deferCtx, deferCancel := ctrdutil.DeferContext() defer deferCancel() // Cleanup the sandbox container if an error is returned. - if _, err := task.Delete(deferCtx, WithNRISandboxDelete(id), containerd.WithProcessKill); err != nil && !errdefs.IsNotFound(err) { + if _, err := task.Delete(deferCtx, containerd.WithProcessKill); err != nil && !errdefs.IsNotFound(err) { log.G(ctx).WithError(err).Errorf("Failed to delete sandbox container %q", id) cleanupErr = err } @@ -359,20 +357,6 @@ func (c *criService) RunPodSandbox(ctx context.Context, r *runtime.RunPodSandbox return nil, fmt.Errorf("failed to wait for sandbox container task: %w", err) } - nric, err := nri.New() - if err != nil { - return nil, fmt.Errorf("unable to create nri client: %w", err) - } - if nric != nil { - nriSB := &nri.Sandbox{ - ID: id, - Labels: config.Labels, - } - if _, err := nric.InvokeWithSandbox(ctx, task, v1.Create, nriSB); err != nil { - return nil, fmt.Errorf("nri invoke: %w", err) - } - } - if c.nri.isEnabled() { err = c.nri.runPodSandbox(ctx, &sandbox) if err != nil {