mirror of
https://github.com/siderolabs/talos.git
synced 2025-08-19 13:41:13 +02:00
chore: attempt to avoid containerd shim socket conflicts in tests
I can't say how exactly those conflicts happen in the tests, but I tried to randomize more container IDs and namespace names (which both feed into final abstract unix socket path). Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This commit is contained in:
parent
d44f10f094
commit
f48830e7db
@ -7,10 +7,10 @@ package containerd_test
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/hex"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"math/rand"
|
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"sync"
|
"sync"
|
||||||
@ -20,6 +20,7 @@ import (
|
|||||||
"github.com/containerd/containerd"
|
"github.com/containerd/containerd"
|
||||||
"github.com/containerd/containerd/namespaces"
|
"github.com/containerd/containerd/namespaces"
|
||||||
"github.com/containerd/containerd/oci"
|
"github.com/containerd/containerd/oci"
|
||||||
|
"github.com/google/uuid"
|
||||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||||
"github.com/stretchr/testify/suite"
|
"github.com/stretchr/testify/suite"
|
||||||
|
|
||||||
@ -49,6 +50,8 @@ type ContainerdSuite struct {
|
|||||||
containerdWg sync.WaitGroup
|
containerdWg sync.WaitGroup
|
||||||
containerdAddress string
|
containerdAddress string
|
||||||
|
|
||||||
|
containerID string
|
||||||
|
|
||||||
client *containerd.Client
|
client *containerd.Client
|
||||||
image containerd.Image
|
image containerd.Image
|
||||||
}
|
}
|
||||||
@ -94,7 +97,8 @@ func (suite *ContainerdSuite) SetupSuite() {
|
|||||||
suite.client, err = containerd.New(suite.containerdAddress)
|
suite.client, err = containerd.New(suite.containerdAddress)
|
||||||
suite.Require().NoError(err)
|
suite.Require().NoError(err)
|
||||||
|
|
||||||
suite.containerdNamespace = fmt.Sprintf("talostest%d%d", rand.Int63(), time.Now().Unix())
|
namespace := ([16]byte)(uuid.New())
|
||||||
|
suite.containerdNamespace = "talos" + hex.EncodeToString(namespace[:])
|
||||||
|
|
||||||
ctx := namespaces.WithNamespace(context.Background(), suite.containerdNamespace)
|
ctx := namespaces.WithNamespace(context.Background(), suite.containerdNamespace)
|
||||||
|
|
||||||
@ -102,6 +106,10 @@ func (suite *ContainerdSuite) SetupSuite() {
|
|||||||
suite.Require().NoError(err)
|
suite.Require().NoError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (suite *ContainerdSuite) SetupTest() {
|
||||||
|
suite.containerID = uuid.New().String()
|
||||||
|
}
|
||||||
|
|
||||||
func (suite *ContainerdSuite) TearDownSuite() {
|
func (suite *ContainerdSuite) TearDownSuite() {
|
||||||
suite.Require().NoError(suite.client.Close())
|
suite.Require().NoError(suite.client.Close())
|
||||||
|
|
||||||
@ -126,7 +134,7 @@ func (suite *ContainerdSuite) getLogContents(filename string) []byte {
|
|||||||
|
|
||||||
func (suite *ContainerdSuite) TestRunSuccess() {
|
func (suite *ContainerdSuite) TestRunSuccess() {
|
||||||
r := containerdrunner.NewRunner(false, &runner.Args{
|
r := containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: "test",
|
ID: suite.containerID,
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "exit 0"},
|
ProcessArgs: []string{"/bin/sh", "-c", "exit 0"},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
@ -145,10 +153,8 @@ func (suite *ContainerdSuite) TestRunSuccess() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (suite *ContainerdSuite) TestRunTwice() {
|
func (suite *ContainerdSuite) TestRunTwice() {
|
||||||
const ID = "runtwice"
|
|
||||||
|
|
||||||
r := containerdrunner.NewRunner(false, &runner.Args{
|
r := containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: ID,
|
ID: suite.containerID,
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "exit 0"},
|
ProcessArgs: []string{"/bin/sh", "-c", "exit 0"},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
@ -167,15 +173,6 @@ func (suite *ContainerdSuite) TestRunTwice() {
|
|||||||
suite.Assert().NoError(r.Run(MockEventSink))
|
suite.Assert().NoError(r.Run(MockEventSink))
|
||||||
// calling stop when Run has finished is no-op
|
// calling stop when Run has finished is no-op
|
||||||
suite.Assert().NoError(r.Stop())
|
suite.Assert().NoError(r.Stop())
|
||||||
|
|
||||||
// TODO: workaround containerd (?) bug: https://github.com/docker/for-linux/issues/643
|
|
||||||
for i := 0; i < 100; i++ {
|
|
||||||
time.Sleep(100 * time.Millisecond)
|
|
||||||
|
|
||||||
if _, err := os.Stat("/containerd-shim/" + suite.containerdNamespace + "/" + ID + "/shim.sock"); err != nil && os.IsNotExist(err) {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,7 +183,7 @@ func (suite *ContainerdSuite) TestContainerCleanup() {
|
|||||||
// able to start the container by cleaning up container created by the first
|
// able to start the container by cleaning up container created by the first
|
||||||
// runner
|
// runner
|
||||||
r1 := containerdrunner.NewRunner(false, &runner.Args{
|
r1 := containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: "cleanup1",
|
ID: suite.containerID,
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "exit 1"},
|
ProcessArgs: []string{"/bin/sh", "-c", "exit 1"},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
@ -198,7 +195,7 @@ func (suite *ContainerdSuite) TestContainerCleanup() {
|
|||||||
suite.Require().NoError(r1.Open(context.Background()))
|
suite.Require().NoError(r1.Open(context.Background()))
|
||||||
|
|
||||||
r2 := containerdrunner.NewRunner(false, &runner.Args{
|
r2 := containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: "cleanup1",
|
ID: suite.containerID,
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "exit 0"},
|
ProcessArgs: []string{"/bin/sh", "-c", "exit 0"},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
@ -217,7 +214,7 @@ func (suite *ContainerdSuite) TestContainerCleanup() {
|
|||||||
|
|
||||||
func (suite *ContainerdSuite) TestRunLogs() {
|
func (suite *ContainerdSuite) TestRunLogs() {
|
||||||
r := containerdrunner.NewRunner(false, &runner.Args{
|
r := containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: "logtest",
|
ID: suite.containerID,
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "echo -n \"Test 1\nTest 2\n\""},
|
ProcessArgs: []string{"/bin/sh", "-c", "echo -n \"Test 1\nTest 2\n\""},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
@ -232,7 +229,7 @@ func (suite *ContainerdSuite) TestRunLogs() {
|
|||||||
|
|
||||||
suite.Assert().NoError(r.Run(MockEventSink))
|
suite.Assert().NoError(r.Run(MockEventSink))
|
||||||
|
|
||||||
logFile, err := os.Open(filepath.Join(suite.tmpDir, "logtest.log"))
|
logFile, err := os.Open(filepath.Join(suite.tmpDir, suite.containerID+".log"))
|
||||||
suite.Assert().NoError(err)
|
suite.Assert().NoError(err)
|
||||||
|
|
||||||
// nolint: errcheck
|
// nolint: errcheck
|
||||||
@ -253,7 +250,7 @@ func (suite *ContainerdSuite) TestStopFailingAndRestarting() {
|
|||||||
_ = os.Remove(testFile)
|
_ = os.Remove(testFile)
|
||||||
|
|
||||||
r := restart.New(containerdrunner.NewRunner(false, &runner.Args{
|
r := restart.New(containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: "endless",
|
ID: suite.containerID,
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "test -f " + testFile + " && echo ok || (echo fail; false)"},
|
ProcessArgs: []string{"/bin/sh", "-c", "test -f " + testFile + " && echo ok || (echo fail; false)"},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
@ -283,7 +280,7 @@ func (suite *ContainerdSuite) TestStopFailingAndRestarting() {
|
|||||||
for i := 0; i < 10; i++ {
|
for i := 0; i < 10; i++ {
|
||||||
time.Sleep(500 * time.Millisecond)
|
time.Sleep(500 * time.Millisecond)
|
||||||
|
|
||||||
if bytes.Contains(suite.getLogContents("endless.log"), []byte("fail\n")) {
|
if bytes.Contains(suite.getLogContents(suite.containerID+".log"), []byte("fail\n")) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -302,7 +299,7 @@ func (suite *ContainerdSuite) TestStopFailingAndRestarting() {
|
|||||||
for i := 0; i < 10; i++ {
|
for i := 0; i < 10; i++ {
|
||||||
time.Sleep(500 * time.Millisecond)
|
time.Sleep(500 * time.Millisecond)
|
||||||
|
|
||||||
if bytes.Contains(suite.getLogContents("endless.log"), []byte("ok\n")) {
|
if bytes.Contains(suite.getLogContents(suite.containerID+".log"), []byte("ok\n")) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -317,7 +314,7 @@ func (suite *ContainerdSuite) TestStopFailingAndRestarting() {
|
|||||||
suite.Assert().NoError(r.Stop())
|
suite.Assert().NoError(r.Stop())
|
||||||
<-done
|
<-done
|
||||||
|
|
||||||
logContents := suite.getLogContents("endless.log")
|
logContents := suite.getLogContents(suite.containerID + ".log")
|
||||||
|
|
||||||
suite.Assert().Truef(bytes.Contains(logContents, []byte("ok\n")), "logContents doesn't contain success entry: %v", logContents)
|
suite.Assert().Truef(bytes.Contains(logContents, []byte("ok\n")), "logContents doesn't contain success entry: %v", logContents)
|
||||||
suite.Assert().Truef(bytes.Contains(logContents, []byte("fail\n")), "logContents doesn't contain fail entry: %v", logContents)
|
suite.Assert().Truef(bytes.Contains(logContents, []byte("fail\n")), "logContents doesn't contain fail entry: %v", logContents)
|
||||||
@ -325,7 +322,7 @@ func (suite *ContainerdSuite) TestStopFailingAndRestarting() {
|
|||||||
|
|
||||||
func (suite *ContainerdSuite) TestStopSigKill() {
|
func (suite *ContainerdSuite) TestStopSigKill() {
|
||||||
r := containerdrunner.NewRunner(false, &runner.Args{
|
r := containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: "nokill",
|
ID: suite.containerID,
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "trap -- '' SIGTERM; while :; do :; done"},
|
ProcessArgs: []string{"/bin/sh", "-c", "trap -- '' SIGTERM; while :; do :; done"},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
|
@ -6,19 +6,18 @@ package containerd_test
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"encoding/hex"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"math/rand"
|
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/containerd/containerd"
|
"github.com/containerd/containerd"
|
||||||
containerdcntrs "github.com/containerd/containerd/containers"
|
containerdcntrs "github.com/containerd/containerd/containers"
|
||||||
"github.com/containerd/containerd/namespaces"
|
"github.com/containerd/containerd/namespaces"
|
||||||
"github.com/containerd/containerd/oci"
|
"github.com/containerd/containerd/oci"
|
||||||
|
"github.com/google/uuid"
|
||||||
"github.com/stretchr/testify/suite"
|
"github.com/stretchr/testify/suite"
|
||||||
|
|
||||||
"github.com/talos-systems/talos/internal/app/machined/pkg/system/events"
|
"github.com/talos-systems/talos/internal/app/machined/pkg/system/events"
|
||||||
@ -48,6 +47,8 @@ type ContainerdSuite struct {
|
|||||||
containerdWg sync.WaitGroup
|
containerdWg sync.WaitGroup
|
||||||
containerdAddress string
|
containerdAddress string
|
||||||
|
|
||||||
|
containerID string
|
||||||
|
|
||||||
client *containerd.Client
|
client *containerd.Client
|
||||||
image containerd.Image
|
image containerd.Image
|
||||||
|
|
||||||
@ -112,7 +113,9 @@ func (suite *ContainerdSuite) SetupSuite() {
|
|||||||
suite.client, err = containerd.New(suite.containerdAddress)
|
suite.client, err = containerd.New(suite.containerdAddress)
|
||||||
suite.Require().NoError(err)
|
suite.Require().NoError(err)
|
||||||
|
|
||||||
suite.containerdNamespace = fmt.Sprintf("talostest%d%d", rand.Int63(), time.Now().Unix())
|
namespace := ([16]byte)(uuid.New())
|
||||||
|
suite.containerdNamespace = "talos" + hex.EncodeToString(namespace[:])
|
||||||
|
|
||||||
ctx := namespaces.WithNamespace(context.Background(), suite.containerdNamespace)
|
ctx := namespaces.WithNamespace(context.Background(), suite.containerdNamespace)
|
||||||
|
|
||||||
suite.image, err = suite.client.Pull(ctx, busyboxImage, containerd.WithPullUnpack)
|
suite.image, err = suite.client.Pull(ctx, busyboxImage, containerd.WithPullUnpack)
|
||||||
@ -130,6 +133,7 @@ func (suite *ContainerdSuite) TearDownSuite() {
|
|||||||
|
|
||||||
func (suite *ContainerdSuite) SetupTest() {
|
func (suite *ContainerdSuite) SetupTest() {
|
||||||
suite.containerRunners = nil
|
suite.containerRunners = nil
|
||||||
|
suite.containerID = uuid.New().String()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (suite *ContainerdSuite) run(runners ...runner.Runner) {
|
func (suite *ContainerdSuite) run(runners ...runner.Runner) {
|
||||||
@ -176,7 +180,7 @@ func (suite *ContainerdSuite) TearDownTest() {
|
|||||||
|
|
||||||
func (suite *ContainerdSuite) runK8sContainers() {
|
func (suite *ContainerdSuite) runK8sContainers() {
|
||||||
suite.run(containerdrunner.NewRunner(false, &runner.Args{
|
suite.run(containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: "test1",
|
ID: suite.containerID + "1",
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "sleep 3600"},
|
ProcessArgs: []string{"/bin/sh", "-c", "sleep 3600"},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
@ -192,7 +196,7 @@ func (suite *ContainerdSuite) runK8sContainers() {
|
|||||||
})),
|
})),
|
||||||
runner.WithContainerdAddress(suite.containerdAddress),
|
runner.WithContainerdAddress(suite.containerdAddress),
|
||||||
), containerdrunner.NewRunner(false, &runner.Args{
|
), containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: "test2",
|
ID: suite.containerID + "2",
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "sleep 3600"},
|
ProcessArgs: []string{"/bin/sh", "-c", "sleep 3600"},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
@ -212,7 +216,7 @@ func (suite *ContainerdSuite) runK8sContainers() {
|
|||||||
|
|
||||||
func (suite *ContainerdSuite) TestPodsNonK8s() {
|
func (suite *ContainerdSuite) TestPodsNonK8s() {
|
||||||
suite.run(containerdrunner.NewRunner(false, &runner.Args{
|
suite.run(containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: "test",
|
ID: suite.containerID,
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "sleep 3600"},
|
ProcessArgs: []string{"/bin/sh", "-c", "sleep 3600"},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
@ -227,12 +231,12 @@ func (suite *ContainerdSuite) TestPodsNonK8s() {
|
|||||||
pods, err := i.Pods()
|
pods, err := i.Pods()
|
||||||
suite.Require().NoError(err)
|
suite.Require().NoError(err)
|
||||||
suite.Require().Len(pods, 1)
|
suite.Require().Len(pods, 1)
|
||||||
suite.Assert().Equal("test", pods[0].Name)
|
suite.Assert().Equal(suite.containerID, pods[0].Name)
|
||||||
suite.Assert().Equal("", pods[0].Sandbox)
|
suite.Assert().Equal("", pods[0].Sandbox)
|
||||||
suite.Require().Len(pods[0].Containers, 1)
|
suite.Require().Len(pods[0].Containers, 1)
|
||||||
suite.Assert().Equal("test", pods[0].Containers[0].Display)
|
suite.Assert().Equal(suite.containerID, pods[0].Containers[0].Display)
|
||||||
suite.Assert().Equal("test", pods[0].Containers[0].Name)
|
suite.Assert().Equal(suite.containerID, pods[0].Containers[0].Name)
|
||||||
suite.Assert().Equal("test", pods[0].Containers[0].ID)
|
suite.Assert().Equal(suite.containerID, pods[0].Containers[0].ID)
|
||||||
suite.Assert().Equal(busyboxImage, pods[0].Containers[0].Image)
|
suite.Assert().Equal(busyboxImage, pods[0].Containers[0].Image)
|
||||||
suite.Assert().Equal("RUNNING", pods[0].Containers[0].Status)
|
suite.Assert().Equal("RUNNING", pods[0].Containers[0].Status)
|
||||||
suite.Assert().NotNil(pods[0].Containers[0].Metrics)
|
suite.Assert().NotNil(pods[0].Containers[0].Metrics)
|
||||||
@ -254,8 +258,8 @@ func (suite *ContainerdSuite) TestPodsK8s() {
|
|||||||
suite.Require().Len(pods[0].Containers, 2)
|
suite.Require().Len(pods[0].Containers, 2)
|
||||||
|
|
||||||
suite.Assert().Equal("ns1/fun", pods[0].Containers[0].Display)
|
suite.Assert().Equal("ns1/fun", pods[0].Containers[0].Display)
|
||||||
suite.Assert().Equal("test1", pods[0].Containers[0].Name)
|
suite.Assert().Equal(suite.containerID+"1", pods[0].Containers[0].Name)
|
||||||
suite.Assert().Equal("test1", pods[0].Containers[0].ID)
|
suite.Assert().Equal(suite.containerID+"1", pods[0].Containers[0].ID)
|
||||||
suite.Assert().Equal("sandbox", pods[0].Containers[0].Sandbox)
|
suite.Assert().Equal("sandbox", pods[0].Containers[0].Sandbox)
|
||||||
suite.Assert().Equal("0", pods[0].Containers[0].RestartCount)
|
suite.Assert().Equal("0", pods[0].Containers[0].RestartCount)
|
||||||
suite.Assert().Equal("", pods[0].Containers[0].GetLogFile())
|
suite.Assert().Equal("", pods[0].Containers[0].GetLogFile())
|
||||||
@ -265,7 +269,7 @@ func (suite *ContainerdSuite) TestPodsK8s() {
|
|||||||
|
|
||||||
suite.Assert().Equal("ns1/fun:run", pods[0].Containers[1].Display)
|
suite.Assert().Equal("ns1/fun:run", pods[0].Containers[1].Display)
|
||||||
suite.Assert().Equal("run", pods[0].Containers[1].Name)
|
suite.Assert().Equal("run", pods[0].Containers[1].Name)
|
||||||
suite.Assert().Equal("test2", pods[0].Containers[1].ID)
|
suite.Assert().Equal(suite.containerID+"2", pods[0].Containers[1].ID)
|
||||||
suite.Assert().Equal("sandbox", pods[0].Containers[1].Sandbox)
|
suite.Assert().Equal("sandbox", pods[0].Containers[1].Sandbox)
|
||||||
suite.Assert().Equal("sandbox/run/0.log", pods[0].Containers[1].GetLogFile())
|
suite.Assert().Equal("sandbox/run/0.log", pods[0].Containers[1].GetLogFile())
|
||||||
suite.Assert().Equal(busyboxImage, pods[0].Containers[1].Image)
|
suite.Assert().Equal(busyboxImage, pods[0].Containers[1].Image)
|
||||||
@ -277,7 +281,7 @@ func (suite *ContainerdSuite) TestPodsK8s() {
|
|||||||
|
|
||||||
func (suite *ContainerdSuite) TestContainerNonK8s() {
|
func (suite *ContainerdSuite) TestContainerNonK8s() {
|
||||||
suite.run(containerdrunner.NewRunner(false, &runner.Args{
|
suite.run(containerdrunner.NewRunner(false, &runner.Args{
|
||||||
ID: "shelltest",
|
ID: suite.containerID,
|
||||||
ProcessArgs: []string{"/bin/sh", "-c", "sleep 3600"},
|
ProcessArgs: []string{"/bin/sh", "-c", "sleep 3600"},
|
||||||
},
|
},
|
||||||
runner.WithLogPath(suite.tmpDir),
|
runner.WithLogPath(suite.tmpDir),
|
||||||
@ -289,12 +293,12 @@ func (suite *ContainerdSuite) TestContainerNonK8s() {
|
|||||||
i, err := ctrd.NewInspector(context.Background(), suite.containerdNamespace, ctrd.WithContainerdAddress(suite.containerdAddress))
|
i, err := ctrd.NewInspector(context.Background(), suite.containerdNamespace, ctrd.WithContainerdAddress(suite.containerdAddress))
|
||||||
suite.Assert().NoError(err)
|
suite.Assert().NoError(err)
|
||||||
|
|
||||||
cntr, err := i.Container("shelltest")
|
cntr, err := i.Container(suite.containerID)
|
||||||
suite.Require().NoError(err)
|
suite.Require().NoError(err)
|
||||||
suite.Require().NotNil(cntr)
|
suite.Require().NotNil(cntr)
|
||||||
suite.Assert().Equal("shelltest", cntr.Name)
|
suite.Assert().Equal(suite.containerID, cntr.Name)
|
||||||
suite.Assert().Equal("shelltest", cntr.Display)
|
suite.Assert().Equal(suite.containerID, cntr.Display)
|
||||||
suite.Assert().Equal("shelltest", cntr.ID)
|
suite.Assert().Equal(suite.containerID, cntr.ID)
|
||||||
suite.Assert().Equal(busyboxImageDigest, cntr.Image) // image is not resolved
|
suite.Assert().Equal(busyboxImageDigest, cntr.Image) // image is not resolved
|
||||||
suite.Assert().Equal("RUNNING", cntr.Status)
|
suite.Assert().Equal("RUNNING", cntr.Status)
|
||||||
|
|
||||||
@ -314,9 +318,9 @@ func (suite *ContainerdSuite) TestContainerK8s() {
|
|||||||
cntr, err := i.Container("ns1/fun")
|
cntr, err := i.Container("ns1/fun")
|
||||||
suite.Require().NoError(err)
|
suite.Require().NoError(err)
|
||||||
suite.Require().NotNil(cntr)
|
suite.Require().NotNil(cntr)
|
||||||
suite.Assert().Equal("test1", cntr.Name)
|
suite.Assert().Equal(suite.containerID+"1", cntr.Name)
|
||||||
suite.Assert().Equal("ns1/fun", cntr.Display)
|
suite.Assert().Equal("ns1/fun", cntr.Display)
|
||||||
suite.Assert().Equal("test1", cntr.ID)
|
suite.Assert().Equal(suite.containerID+"1", cntr.ID)
|
||||||
suite.Assert().Equal("sandbox", cntr.Sandbox)
|
suite.Assert().Equal("sandbox", cntr.Sandbox)
|
||||||
suite.Assert().Equal("", cntr.GetLogFile())
|
suite.Assert().Equal("", cntr.GetLogFile())
|
||||||
suite.Assert().Equal(busyboxImageDigest, cntr.Image) // image is not resolved
|
suite.Assert().Equal(busyboxImageDigest, cntr.Image) // image is not resolved
|
||||||
@ -327,7 +331,7 @@ func (suite *ContainerdSuite) TestContainerK8s() {
|
|||||||
suite.Require().NotNil(cntr)
|
suite.Require().NotNil(cntr)
|
||||||
suite.Assert().Equal("run", cntr.Name)
|
suite.Assert().Equal("run", cntr.Name)
|
||||||
suite.Assert().Equal("ns1/fun:run", cntr.Display)
|
suite.Assert().Equal("ns1/fun:run", cntr.Display)
|
||||||
suite.Assert().Equal("test2", cntr.ID)
|
suite.Assert().Equal(suite.containerID+"2", cntr.ID)
|
||||||
suite.Assert().Equal("sandbox", cntr.Sandbox)
|
suite.Assert().Equal("sandbox", cntr.Sandbox)
|
||||||
suite.Assert().Equal("sandbox/run/0.log", cntr.GetLogFile())
|
suite.Assert().Equal("sandbox/run/0.log", cntr.GetLogFile())
|
||||||
suite.Assert().Equal(busyboxImageDigest, cntr.Image) // image is not resolved
|
suite.Assert().Equal(busyboxImageDigest, cntr.Image) // image is not resolved
|
||||||
|
Loading…
x
Reference in New Issue
Block a user