From 5fdca538d0d855983bbb9092c9dec4155bdaa84d Mon Sep 17 00:00:00 2001 From: Iceber Gu Date: Tue, 28 Feb 2023 14:39:37 +0800 Subject: [PATCH] adding cni metadata to the container in the `ctr run --config` Signed-off-by: Iceber Gu --- cmd/ctr/commands/run/run_unix.go | 9 +++++---- cmd/ctr/commands/run/run_windows.go | 7 +++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cmd/ctr/commands/run/run_unix.go b/cmd/ctr/commands/run/run_unix.go index 664054f3d..6838d20ad 100644 --- a/cmd/ctr/commands/run/run_unix.go +++ b/cmd/ctr/commands/run/run_unix.go @@ -239,10 +239,6 @@ func NewContainer(ctx gocontext.Context, client *containerd.Client, context *cli opts = append(opts, oci.WithAnnotations(annos)) } - if context.Bool("cni") { - cniMeta := &commands.NetworkMetaData{EnableCni: true} - cOpts = append(cOpts, containerd.WithContainerExtension(commands.CtrCniMetadataExtension, cniMeta)) - } if caps := context.StringSlice("cap-add"); len(caps) > 0 { for _, cap := range caps { if !strings.HasPrefix(cap, "CAP_") { @@ -375,6 +371,11 @@ func NewContainer(ctx gocontext.Context, client *containerd.Client, context *cli } } + if context.Bool("cni") { + cniMeta := &commands.NetworkMetaData{EnableCni: true} + cOpts = append(cOpts, containerd.WithContainerExtension(commands.CtrCniMetadataExtension, cniMeta)) + } + runtimeOpts, err := getRuntimeOptions(context) if err != nil { return nil, err diff --git a/cmd/ctr/commands/run/run_windows.go b/cmd/ctr/commands/run/run_windows.go index d22bb2ead..4911346ac 100644 --- a/cmd/ctr/commands/run/run_windows.go +++ b/cmd/ctr/commands/run/run_windows.go @@ -131,8 +131,6 @@ func NewContainer(ctx gocontext.Context, client *containerd.Client, context *cli return nil, err } opts = append(opts, oci.WithWindowsNetworkNamespace(ns.GetPath())) - cniMeta := &commands.NetworkMetaData{EnableCni: true} - cOpts = append(cOpts, containerd.WithContainerExtension(commands.CtrCniMetadataExtension, cniMeta)) } if context.Bool("isolated") { opts = append(opts, oci.WithWindowsHyperV) @@ -165,6 +163,11 @@ func NewContainer(ctx gocontext.Context, client *containerd.Client, context *cli } } + if context.Bool("cni") { + cniMeta := &commands.NetworkMetaData{EnableCni: true} + cOpts = append(cOpts, containerd.WithContainerExtension(commands.CtrCniMetadataExtension, cniMeta)) + } + runtime := context.String("runtime") var runtimeOpts interface{} if runtime == "io.containerd.runhcs.v1" {