diff --git a/src/runtime/cmd/kata-runtime/factory.go b/src/runtime/cmd/kata-runtime/factory.go index e58565ac4e..319ff6c8a0 100644 --- a/src/runtime/cmd/kata-runtime/factory.go +++ b/src/runtime/cmd/kata-runtime/factory.go @@ -16,10 +16,10 @@ import ( "time" "github.com/gogo/protobuf/types" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" pb "github.com/kata-containers/kata-containers/src/runtime/protocols/cache" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" vf "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/factory" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" "github.com/pkg/errors" "github.com/urfave/cli" "golang.org/x/sys/unix" diff --git a/src/runtime/cmd/kata-runtime/kata-check.go b/src/runtime/cmd/kata-runtime/kata-check.go index 991a3fd3ad..6637c389c5 100644 --- a/src/runtime/cmd/kata-runtime/kata-check.go +++ b/src/runtime/cmd/kata-runtime/kata-check.go @@ -26,8 +26,8 @@ import ( "syscall" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" "github.com/sirupsen/logrus" "github.com/urfave/cli" ) diff --git a/src/runtime/cmd/kata-runtime/kata-check_generic_test.go b/src/runtime/cmd/kata-runtime/kata-check_generic_test.go index 6c5cd60111..6457833787 100644 --- a/src/runtime/cmd/kata-runtime/kata-check_generic_test.go +++ b/src/runtime/cmd/kata-runtime/kata-check_generic_test.go @@ -3,6 +3,7 @@ // SPDX-License-Identifier: Apache-2.0 // +//go:build arm64 || ppc64le // +build arm64 ppc64le package main diff --git a/src/runtime/cmd/kata-runtime/kata-env.go b/src/runtime/cmd/kata-runtime/kata-env.go index 2db0c1a875..2fb8f08bae 100644 --- a/src/runtime/cmd/kata-runtime/kata-env.go +++ b/src/runtime/cmd/kata-runtime/kata-env.go @@ -18,10 +18,10 @@ import ( "github.com/urfave/cli" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" "github.com/kata-containers/kata-containers/src/runtime/pkg/utils" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" vcUtils "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils" ) diff --git a/src/runtime/cmd/kata-runtime/kata-env_generic_test.go b/src/runtime/cmd/kata-runtime/kata-env_generic_test.go index df7a98d268..0f1ef813a8 100644 --- a/src/runtime/cmd/kata-runtime/kata-env_generic_test.go +++ b/src/runtime/cmd/kata-runtime/kata-env_generic_test.go @@ -3,6 +3,7 @@ // SPDX-License-Identifier: Apache-2.0 // +//go:build arm64 || ppc64le // +build arm64 ppc64le package main diff --git a/src/runtime/cmd/kata-runtime/kata-env_test.go b/src/runtime/cmd/kata-runtime/kata-env_test.go index 992d46e6df..507fd03253 100644 --- a/src/runtime/cmd/kata-runtime/kata-env_test.go +++ b/src/runtime/cmd/kata-runtime/kata-env_test.go @@ -27,7 +27,7 @@ import ( "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" "github.com/stretchr/testify/assert" ) diff --git a/src/runtime/cmd/kata-runtime/main.go b/src/runtime/cmd/kata-runtime/main.go index 845887ad85..17309fe83c 100644 --- a/src/runtime/cmd/kata-runtime/main.go +++ b/src/runtime/cmd/kata-runtime/main.go @@ -18,12 +18,12 @@ import ( "syscall" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" "github.com/kata-containers/kata-containers/src/runtime/pkg/signals" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental" vf "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/factory" tl "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/factory/template" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/rootless" specs "github.com/opencontainers/runtime-spec/specs-go" "github.com/sirupsen/logrus" diff --git a/src/runtime/cmd/kata-runtime/main_test.go b/src/runtime/cmd/kata-runtime/main_test.go index f8dab195e9..70b6ec0a9b 100644 --- a/src/runtime/cmd/kata-runtime/main_test.go +++ b/src/runtime/cmd/kata-runtime/main_test.go @@ -21,8 +21,8 @@ import ( ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/vcmock" specs "github.com/opencontainers/runtime-spec/specs-go" "github.com/stretchr/testify/assert" diff --git a/src/runtime/pkg/containerd-shim-v2/create.go b/src/runtime/pkg/containerd-shim-v2/create.go index 3a0814e86a..2e8c9db248 100644 --- a/src/runtime/pkg/containerd-shim-v2/create.go +++ b/src/runtime/pkg/containerd-shim-v2/create.go @@ -34,9 +34,9 @@ import ( "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/compatoci" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" ) type startManagementServerFunc func(s *service, ctx context.Context, ociSpec *specs.Spec) diff --git a/src/runtime/pkg/containerd-shim-v2/service.go b/src/runtime/pkg/containerd-shim-v2/service.go index 8bfecef77a..29cd259f94 100644 --- a/src/runtime/pkg/containerd-shim-v2/service.go +++ b/src/runtime/pkg/containerd-shim-v2/service.go @@ -31,9 +31,9 @@ import ( "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/compatoci" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types" ) diff --git a/src/runtime/pkg/containerd-shim-v2/utils.go b/src/runtime/pkg/containerd-shim-v2/utils.go index 1ddb176b42..a3d213a062 100644 --- a/src/runtime/pkg/containerd-shim-v2/utils.go +++ b/src/runtime/pkg/containerd-shim-v2/utils.go @@ -16,9 +16,9 @@ import ( "github.com/containerd/containerd/mount" cdshim "github.com/containerd/containerd/runtime/v2/shim" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/compatoci" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" ) func cReap(s *service, status int, id, execid string, exitat time.Time) { diff --git a/src/runtime/pkg/containerd-shim-v2/utils_test.go b/src/runtime/pkg/containerd-shim-v2/utils_test.go index dc118ca1c1..16ade4c1a6 100644 --- a/src/runtime/pkg/containerd-shim-v2/utils_test.go +++ b/src/runtime/pkg/containerd-shim-v2/utils_test.go @@ -16,8 +16,8 @@ import ( "github.com/stretchr/testify/assert" ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/vcmock" "github.com/pkg/errors" ) diff --git a/src/runtime/pkg/containerd-shim-v2/wait.go b/src/runtime/pkg/containerd-shim-v2/wait.go index 81a05aa209..c6587c16cd 100644 --- a/src/runtime/pkg/containerd-shim-v2/wait.go +++ b/src/runtime/pkg/containerd-shim-v2/wait.go @@ -17,7 +17,7 @@ import ( "github.com/sirupsen/logrus" "google.golang.org/grpc/codes" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" ) const defaultCheckInterval = 1 * time.Second diff --git a/src/runtime/pkg/katautils/config.go b/src/runtime/pkg/katautils/config.go index 6d65468abc..1e3baca9bf 100644 --- a/src/runtime/pkg/katautils/config.go +++ b/src/runtime/pkg/katautils/config.go @@ -17,10 +17,10 @@ import ( "github.com/BurntSushi/toml" govmmQemu "github.com/kata-containers/govmm/qemu" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config" exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils" "github.com/sirupsen/logrus" ) diff --git a/src/runtime/pkg/katautils/config_test.go b/src/runtime/pkg/katautils/config_test.go index 11c3eaf287..acf92efec8 100644 --- a/src/runtime/pkg/katautils/config_test.go +++ b/src/runtime/pkg/katautils/config_test.go @@ -19,8 +19,8 @@ import ( "testing" ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils" "github.com/stretchr/testify/assert" ) diff --git a/src/runtime/pkg/katautils/create.go b/src/runtime/pkg/katautils/create.go index 98079c53aa..fc593c6712 100644 --- a/src/runtime/pkg/katautils/create.go +++ b/src/runtime/pkg/katautils/create.go @@ -14,9 +14,9 @@ import ( "strings" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" vf "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/factory" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" specs "github.com/opencontainers/runtime-spec/specs-go" ) diff --git a/src/runtime/pkg/katautils/create_test.go b/src/runtime/pkg/katautils/create_test.go index 910ff18a18..dd3411e6bf 100644 --- a/src/runtime/pkg/katautils/create_test.go +++ b/src/runtime/pkg/katautils/create_test.go @@ -19,9 +19,9 @@ import ( "testing" ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils" + "github.com/kata-containers/kata-containers/src/runtime/pkg/oci" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/compatoci" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/oci" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/vcmock" "github.com/opencontainers/runtime-spec/specs-go" "github.com/stretchr/testify/assert" diff --git a/src/runtime/virtcontainers/pkg/oci/utils.go b/src/runtime/pkg/oci/utils.go similarity index 98% rename from src/runtime/virtcontainers/pkg/oci/utils.go rename to src/runtime/pkg/oci/utils.go index 4cdfb5248f..bbef21e9b3 100644 --- a/src/runtime/virtcontainers/pkg/oci/utils.go +++ b/src/runtime/pkg/oci/utils.go @@ -323,18 +323,6 @@ func networkConfig(ocispec specs.Spec, config RuntimeConfig) (vc.NetworkConfig, return netConf, nil } -// GetContainerType determines which type of container matches the annotations -// table provided. -func GetContainerType(annotations map[string]string) (vc.ContainerType, error) { - if containerType, ok := annotations[vcAnnotations.ContainerTypeKey]; ok { - return vc.ContainerType(containerType), nil - } - - ociLog.Errorf("Annotations[%s] not found, cannot determine the container type", - vcAnnotations.ContainerTypeKey) - return vc.UnknownContainerType, fmt.Errorf("Could not find container type") -} - // ContainerType returns the type of container and if the container type was // found from CRI servers annotations. func ContainerType(spec specs.Spec) (vc.ContainerType, error) { diff --git a/src/runtime/virtcontainers/pkg/oci/utils_test.go b/src/runtime/pkg/oci/utils_test.go similarity index 96% rename from src/runtime/virtcontainers/pkg/oci/utils_test.go rename to src/runtime/pkg/oci/utils_test.go index 50b44b2c32..1cdb889fbe 100644 --- a/src/runtime/virtcontainers/pkg/oci/utils_test.go +++ b/src/runtime/pkg/oci/utils_test.go @@ -188,38 +188,6 @@ func TestMinimalSandboxConfig(t *testing.T) { assert.NoError(os.Remove(configPath)) } -func testGetContainerTypeSuccessful(t *testing.T, annotations map[string]string, expected vc.ContainerType) { - assert := assert.New(t) - containerType, err := GetContainerType(annotations) - assert.NoError(err) - assert.Equal(containerType, expected) -} - -func TestGetContainerTypePodSandbox(t *testing.T) { - annotations := map[string]string{ - vcAnnotations.ContainerTypeKey: string(vc.PodSandbox), - } - - testGetContainerTypeSuccessful(t, annotations, vc.PodSandbox) -} - -func TestGetContainerTypePodContainer(t *testing.T) { - annotations := map[string]string{ - vcAnnotations.ContainerTypeKey: string(vc.PodContainer), - } - - testGetContainerTypeSuccessful(t, annotations, vc.PodContainer) -} - -func TestGetContainerTypeFailure(t *testing.T) { - expected := vc.UnknownContainerType - assert := assert.New(t) - - containerType, err := GetContainerType(map[string]string{}) - assert.Error(err) - assert.Equal(containerType, expected) -} - func testContainerTypeSuccessful(t *testing.T, ociSpec specs.Spec, expected vc.ContainerType) { containerType, err := ContainerType(ociSpec) assert := assert.New(t) diff --git a/src/runtime/virtcontainers/pkg/oci/utils_test_config.go b/src/runtime/pkg/oci/utils_test_config.go similarity index 100% rename from src/runtime/virtcontainers/pkg/oci/utils_test_config.go rename to src/runtime/pkg/oci/utils_test_config.go diff --git a/src/runtime/virtcontainers/pkg/uuid/uuid.go b/src/runtime/pkg/uuid/uuid.go similarity index 100% rename from src/runtime/virtcontainers/pkg/uuid/uuid.go rename to src/runtime/pkg/uuid/uuid.go diff --git a/src/runtime/virtcontainers/pkg/uuid/uuid_test.go b/src/runtime/pkg/uuid/uuid_test.go similarity index 100% rename from src/runtime/virtcontainers/pkg/uuid/uuid_test.go rename to src/runtime/pkg/uuid/uuid_test.go diff --git a/src/runtime/virtcontainers/acrn.go b/src/runtime/virtcontainers/acrn.go index f96faa4d72..fafc734a56 100644 --- a/src/runtime/virtcontainers/acrn.go +++ b/src/runtime/virtcontainers/acrn.go @@ -21,9 +21,9 @@ import ( "github.com/sirupsen/logrus" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace" + "github.com/kata-containers/kata-containers/src/runtime/pkg/uuid" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config" persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/uuid" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types" vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils" diff --git a/src/runtime/virtcontainers/container.go b/src/runtime/virtcontainers/container.go index 08deba243f..5c855b0426 100644 --- a/src/runtime/virtcontainers/container.go +++ b/src/runtime/virtcontainers/container.go @@ -1,4 +1,6 @@ +//go:build linux // +build linux + // Copyright (c) 2016 Intel Corporation // Copyright (c) 2014,2015,2016,2017 Docker, Inc. // SPDX-License-Identifier: Apache-2.0 diff --git a/src/runtime/virtcontainers/kata_agent.go b/src/runtime/virtcontainers/kata_agent.go index 7d366192ce..3562c9216b 100644 --- a/src/runtime/virtcontainers/kata_agent.go +++ b/src/runtime/virtcontainers/kata_agent.go @@ -19,6 +19,7 @@ import ( "time" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace" + "github.com/kata-containers/kata-containers/src/runtime/pkg/uuid" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config" persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api" @@ -28,7 +29,6 @@ import ( vcAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations" vccgroups "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/cgroups" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/rootless" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/uuid" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types" vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types" diff --git a/src/runtime/virtcontainers/network.go b/src/runtime/virtcontainers/network.go index 062a70d6ad..0af47f46a9 100644 --- a/src/runtime/virtcontainers/network.go +++ b/src/runtime/virtcontainers/network.go @@ -8,7 +8,6 @@ package virtcontainers import ( "context" cryptoRand "crypto/rand" - "encoding/json" "fmt" "math/rand" "net" @@ -26,9 +25,9 @@ import ( "golang.org/x/sys/unix" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace" + "github.com/kata-containers/kata-containers/src/runtime/pkg/uuid" pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/rootless" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/uuid" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils" ) @@ -197,132 +196,6 @@ type NetworkNamespace struct { NetmonPID int } -// TypedJSONEndpoint is used as an intermediate representation for -// marshalling and unmarshalling Endpoint objects. -type TypedJSONEndpoint struct { - Type EndpointType - Data json.RawMessage -} - -// MarshalJSON is the custom NetworkNamespace JSON marshalling routine. -// This is needed to properly marshall Endpoints array. -func (n NetworkNamespace) MarshalJSON() ([]byte, error) { - // We need a shadow structure in order to prevent json from - // entering a recursive loop when only calling json.Marshal(). - type shadow struct { - NetNsPath string - Endpoints []TypedJSONEndpoint - NetNsCreated bool - } - - s := &shadow{ - NetNsPath: n.NetNsPath, - NetNsCreated: n.NetNsCreated, - } - - var typedEndpoints []TypedJSONEndpoint - for _, endpoint := range n.Endpoints { - tempJSON, _ := json.Marshal(endpoint) - - t := TypedJSONEndpoint{ - Type: endpoint.Type(), - Data: tempJSON, - } - - typedEndpoints = append(typedEndpoints, t) - } - - s.Endpoints = typedEndpoints - - b, err := json.Marshal(s) - return b, err -} - -func generateEndpoints(typedEndpoints []TypedJSONEndpoint) ([]Endpoint, error) { - var endpoints []Endpoint - - for _, e := range typedEndpoints { - var endpointInf Endpoint - switch e.Type { - case PhysicalEndpointType: - var endpoint PhysicalEndpoint - endpointInf = &endpoint - - case VethEndpointType: - var endpoint VethEndpoint - endpointInf = &endpoint - - case VhostUserEndpointType: - var endpoint VhostUserEndpoint - endpointInf = &endpoint - - case MacvlanEndpointType: - var endpoint MacvlanEndpoint - endpointInf = &endpoint - - case MacvtapEndpointType: - var endpoint MacvtapEndpoint - endpointInf = &endpoint - - case TapEndpointType: - var endpoint TapEndpoint - endpointInf = &endpoint - - case IPVlanEndpointType: - var endpoint IPVlanEndpoint - endpointInf = &endpoint - - case TuntapEndpointType: - var endpoint TuntapEndpoint - endpointInf = &endpoint - - default: - networkLogger().WithField("endpoint-type", e.Type).Error("Ignoring unknown endpoint type") - } - - err := json.Unmarshal(e.Data, endpointInf) - if err != nil { - return nil, err - } - - endpoints = append(endpoints, endpointInf) - networkLogger().WithFields(logrus.Fields{ - "endpoint": endpointInf, - "endpoint-type": e.Type, - }).Info("endpoint unmarshalled") - } - return endpoints, nil -} - -// UnmarshalJSON is the custom NetworkNamespace unmarshalling routine. -// This is needed for unmarshalling the Endpoints interfaces array. -func (n *NetworkNamespace) UnmarshalJSON(b []byte) error { - var s struct { - NetNsPath string - Endpoints json.RawMessage - NetNsCreated bool - } - - if err := json.Unmarshal(b, &s); err != nil { - return err - } - - (*n).NetNsPath = s.NetNsPath - (*n).NetNsCreated = s.NetNsCreated - - var typedEndpoints []TypedJSONEndpoint - if err := json.Unmarshal([]byte(string(s.Endpoints)), &typedEndpoints); err != nil { - return err - } - endpoints, err := generateEndpoints(typedEndpoints) - if err != nil { - return err - } - - (*n).Endpoints = endpoints - return nil -} - func createLink(netHandle *netlink.Handle, name string, expectedLink netlink.Link, queues int) (netlink.Link, []*os.File, error) { var newLink netlink.Link var fds []*os.File diff --git a/src/runtime/virtcontainers/pkg/nsenter/nsenter.go b/src/runtime/virtcontainers/pkg/nsenter/nsenter.go deleted file mode 100644 index 70189fc369..0000000000 --- a/src/runtime/virtcontainers/pkg/nsenter/nsenter.go +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) 2018 Intel Corporation -// Copyright 2015-2017 CNI authors -// -// SPDX-License-Identifier: Apache-2.0 -// - -package nsenter - -// NSType defines a namespace type. -type NSType string - -// List of namespace types. -// Notice that neither "mnt" nor "user" are listed into this list. -// Because Golang is multithreaded, we get some errors when trying -// to switch to those namespaces, getting "invalid argument". -// The solution is to reexec the current code so that it will call -// into a C constructor, making sure the namespace can be entered -// without multithreading issues. -const ( - NSTypeCGroup NSType = "cgroup" - NSTypeIPC NSType = "ipc" - NSTypeNet NSType = "net" - NSTypePID NSType = "pid" - NSTypeUTS NSType = "uts" -) - -type Namespace struct { - Path string - Type NSType - PID int -} diff --git a/src/runtime/virtcontainers/qemu.go b/src/runtime/virtcontainers/qemu.go index 7700747e8c..29cd0d1731 100644 --- a/src/runtime/virtcontainers/qemu.go +++ b/src/runtime/virtcontainers/qemu.go @@ -33,9 +33,9 @@ import ( "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace" pkgUtils "github.com/kata-containers/kata-containers/src/runtime/pkg/utils" + "github.com/kata-containers/kata-containers/src/runtime/pkg/uuid" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config" persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/uuid" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types" vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils" diff --git a/src/runtime/virtcontainers/tap_endpoint.go b/src/runtime/virtcontainers/tap_endpoint.go index 6cd3f2781b..836b7a317b 100644 --- a/src/runtime/virtcontainers/tap_endpoint.go +++ b/src/runtime/virtcontainers/tap_endpoint.go @@ -12,8 +12,8 @@ import ( "github.com/containernetworking/plugins/pkg/ns" "github.com/vishvananda/netlink" + "github.com/kata-containers/kata-containers/src/runtime/pkg/uuid" persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/uuid" vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types" ) diff --git a/src/runtime/virtcontainers/utils/utils.go b/src/runtime/virtcontainers/utils/utils.go index caf5965858..3a6a55e42a 100644 --- a/src/runtime/virtcontainers/utils/utils.go +++ b/src/runtime/virtcontainers/utils/utils.go @@ -71,8 +71,8 @@ func GenerateRandomBytes(n int) ([]byte, error) { return b, nil } -// ReverseString reverses whole string -func ReverseString(s string) string { +// reverseString reverses whole string +func reverseString(s string) string { r := []rune(s) length := len(r) @@ -160,7 +160,7 @@ func GetVirtDriveName(index int) (string, error) { return "", fmt.Errorf("Index not supported") } - diskName := prefix + ReverseString(string(diskLetters[:i])) + diskName := prefix + reverseString(string(diskLetters[:i])) return diskName, nil } diff --git a/src/runtime/virtcontainers/utils/utils_linux_generic.go b/src/runtime/virtcontainers/utils/utils_linux_generic.go index 6e69bf928d..bf57f77e2e 100644 --- a/src/runtime/virtcontainers/utils/utils_linux_generic.go +++ b/src/runtime/virtcontainers/utils/utils_linux_generic.go @@ -1,3 +1,4 @@ +//go:build amd64 || arm64 || s390x || !ppc64le // +build amd64 arm64 s390x !ppc64le // Copyright (c) 2019 IBM diff --git a/src/runtime/virtcontainers/utils/utils_test.go b/src/runtime/virtcontainers/utils/utils_test.go index 7c50723d28..486e3db04b 100644 --- a/src/runtime/virtcontainers/utils/utils_test.go +++ b/src/runtime/virtcontainers/utils/utils_test.go @@ -97,7 +97,7 @@ func TestGenerateRandomBytes(t *testing.T) { func TestRevereString(t *testing.T) { assert := assert.New(t) str := "Teststr" - reversed := ReverseString(str) + reversed := reverseString(str) assert.Equal(reversed, "rtstseT") } diff --git a/src/runtime/virtcontainers/vm.go b/src/runtime/virtcontainers/vm.go index 13749941a5..b39b755634 100644 --- a/src/runtime/virtcontainers/vm.go +++ b/src/runtime/virtcontainers/vm.go @@ -12,10 +12,10 @@ import ( "path/filepath" "time" + "github.com/kata-containers/kata-containers/src/runtime/pkg/uuid" pb "github.com/kata-containers/kata-containers/src/runtime/protocols/cache" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist" persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api" - "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/uuid" "github.com/sirupsen/logrus" )