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:
Ace-Tang 2019-05-22 11:25:19 +08:00
parent e2d894d52a
commit d6b3bffad8
2 changed files with 7 additions and 30 deletions

View File

@ -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,

View File

@ -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
} }