mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-02 02:02:24 +00:00
shimv2: remove use containerd ns as netns
``` //the network namespace created by cni plugin netns, err = namespaces.NamespaceRequired(ctx) if err != nil { return nil, errors.Wrap(err, "create namespace") } ``` the netns is a containerd namespace concept, it not netns, event a cni set netns for this, this is a tricky way, so remove the logic. Fixes: #1692 Signed-off-by: Ace-Tang <aceapril@126.com>
This commit is contained in:
parent
e2d894d52a
commit
d6b3bffad8
@ -10,12 +10,13 @@ package containerdshim
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/containerd/typeurl"
|
"github.com/containerd/typeurl"
|
||||||
vc "github.com/kata-containers/runtime/virtcontainers"
|
vc "github.com/kata-containers/runtime/virtcontainers"
|
||||||
"github.com/kata-containers/runtime/virtcontainers/pkg/oci"
|
"github.com/kata-containers/runtime/virtcontainers/pkg/oci"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
|
|
||||||
taskAPI "github.com/containerd/containerd/runtime/v2/task"
|
taskAPI "github.com/containerd/containerd/runtime/v2/task"
|
||||||
|
|
||||||
@ -30,7 +31,7 @@ import (
|
|||||||
crioption "github.com/containerd/cri-containerd/pkg/api/runtimeoptions/v1"
|
crioption "github.com/containerd/cri-containerd/pkg/api/runtimeoptions/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
func create(ctx context.Context, s *service, r *taskAPI.CreateTaskRequest, netns string) (*container, error) {
|
func create(ctx context.Context, s *service, r *taskAPI.CreateTaskRequest) (*container, error) {
|
||||||
rootFs := vc.RootFs{Mounted: s.mount}
|
rootFs := vc.RootFs{Mounted: s.mount}
|
||||||
if len(r.Rootfs) == 1 {
|
if len(r.Rootfs) == 1 {
|
||||||
m := r.Rootfs[0]
|
m := r.Rootfs[0]
|
||||||
@ -40,7 +41,7 @@ func create(ctx context.Context, s *service, r *taskAPI.CreateTaskRequest, netns
|
|||||||
}
|
}
|
||||||
|
|
||||||
detach := !r.Terminal
|
detach := !r.Terminal
|
||||||
ociSpec, bundlePath, err := loadSpec(r, netns)
|
ociSpec, bundlePath, err := loadSpec(r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -124,7 +125,7 @@ func create(ctx context.Context, s *service, r *taskAPI.CreateTaskRequest, netns
|
|||||||
return container, nil
|
return container, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func loadSpec(r *taskAPI.CreateTaskRequest, netns string) (*oci.CompatOCISpec, string, error) {
|
func loadSpec(r *taskAPI.CreateTaskRequest) (*oci.CompatOCISpec, string, error) {
|
||||||
// Checks the MUST and MUST NOT from OCI runtime specification
|
// Checks the MUST and MUST NOT from OCI runtime specification
|
||||||
bundlePath, err := validBundle(r.ID, r.Bundle)
|
bundlePath, err := validBundle(r.ID, r.Bundle)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -136,23 +137,6 @@ func loadSpec(r *taskAPI.CreateTaskRequest, netns string) (*oci.CompatOCISpec, s
|
|||||||
return nil, "", err
|
return nil, "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
//set the network namespace path
|
|
||||||
//this set will be applied to sandbox's
|
|
||||||
//network config and has nothing to
|
|
||||||
//do with containers in the sandbox since
|
|
||||||
//networkNamespace has been ignored by
|
|
||||||
//kata-agent in sandbox.
|
|
||||||
|
|
||||||
for _, n := range ociSpec.Linux.Namespaces {
|
|
||||||
if n.Type != specs.NetworkNamespace {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if n.Path == "" {
|
|
||||||
n.Path = netns
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Todo:
|
// Todo:
|
||||||
// Since there is a bug in kata for sharedPidNs, here to
|
// Since there is a bug in kata for sharedPidNs, here to
|
||||||
// remove the pidns to disable the sharePidNs temporarily,
|
// remove the pidns to disable the sharePidNs temporarily,
|
||||||
|
@ -334,15 +334,8 @@ func (s *service) Create(ctx context.Context, r *taskAPI.CreateTaskRequest) (_ *
|
|||||||
defer s.mu.Unlock()
|
defer s.mu.Unlock()
|
||||||
|
|
||||||
var c *container
|
var c *container
|
||||||
var netns string
|
|
||||||
|
|
||||||
//the network namespace created by cni plugin
|
c, err = create(ctx, s, r)
|
||||||
netns, err = namespaces.NamespaceRequired(ctx)
|
|
||||||
if err != nil {
|
|
||||||
return nil, errors.Wrap(err, "create namespace")
|
|
||||||
}
|
|
||||||
|
|
||||||
c, err = create(ctx, s, r, netns)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user