// +build functional package cri_containerd import ( "context" "testing" runtime "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2" ) func createContainer(t *testing.T, client runtime.RuntimeServiceClient, ctx context.Context, request *runtime.CreateContainerRequest) string { response, err := client.CreateContainer(ctx, request) if err != nil { t.Fatalf("failed CreateContainer in sandbox: %s, with: %v", request.PodSandboxId, err) } return response.ContainerId } func startContainer(t *testing.T, client runtime.RuntimeServiceClient, ctx context.Context, containerID string) { _, err := client.StartContainer(ctx, &runtime.StartContainerRequest{ ContainerId: containerID, }) if err != nil { t.Fatalf("failed StartContainer request for container: %s, with: %v", containerID, err) } } func stopContainer(t *testing.T, client runtime.RuntimeServiceClient, ctx context.Context, containerID string) { stopContainerWithTimeout(t, client, ctx, containerID, 0) } func stopContainerWithTimeout(t *testing.T, client runtime.RuntimeServiceClient, ctx context.Context, containerID string, timeout int64) { _, err := client.StopContainer(ctx, &runtime.StopContainerRequest{ ContainerId: containerID, Timeout: timeout, }) if err != nil { t.Fatalf("failed StopContainer request for container: %s, with: %v", containerID, err) } } func removeContainer(t *testing.T, client runtime.RuntimeServiceClient, ctx context.Context, containerID string) { _, err := client.RemoveContainer(ctx, &runtime.RemoveContainerRequest{ ContainerId: containerID, }) if err != nil { t.Fatalf("failed StopContainer request for container: %s, with: %v", containerID, err) } }