Merge pull request #9233 from mxpv/tasks

Switch runc shim to task service v3 and fix restore
This commit is contained in:
Derek McGowan
2023-10-20 17:26:31 +00:00
committed by GitHub
16 changed files with 366 additions and 158 deletions

View File

@@ -23,7 +23,7 @@ import (
"path/filepath"
"strings"
taskapi "github.com/containerd/containerd/api/runtime/task/v2"
taskapi "github.com/containerd/containerd/api/runtime/task/v3"
"github.com/containerd/containerd/oci"
"github.com/containerd/containerd/pkg/failpoint"
"github.com/containerd/containerd/pkg/shutdown"
@@ -79,11 +79,11 @@ var (
type taskServiceWithFp struct {
fps map[string]*failpoint.Failpoint
local taskapi.TaskService
local taskapi.TTRPCTaskService
}
func (s *taskServiceWithFp) RegisterTTRPC(server *ttrpc.Server) error {
taskapi.RegisterTaskService(server, s.local)
taskapi.RegisterTTRPCTaskService(server, s.local)
return nil
}

View File

@@ -28,7 +28,7 @@ import (
"testing"
"time"
apitask "github.com/containerd/containerd/api/runtime/task/v2"
apitask "github.com/containerd/containerd/api/runtime/task/v3"
"github.com/containerd/containerd/integration/images"
"github.com/containerd/containerd/namespaces"
"github.com/containerd/containerd/runtime/v2/shim"
@@ -111,7 +111,7 @@ func TestIssue7496(t *testing.T) {
// example, umount overlayfs rootfs which doesn't with volatile.
//
// REF: https://man7.org/linux/man-pages/man1/strace.1.html
func injectDelayToUmount2(ctx context.Context, t *testing.T, shimCli apitask.TaskService, delayInSec int) chan struct{} {
func injectDelayToUmount2(ctx context.Context, t *testing.T, shimCli apitask.TTRPCTaskService, delayInSec int) chan struct{} {
pid := shimPid(ctx, t, shimCli)
doneCh := make(chan struct{})
@@ -153,7 +153,7 @@ func injectDelayToUmount2(ctx context.Context, t *testing.T, shimCli apitask.Tas
return doneCh
}
func connectToShim(ctx context.Context, t *testing.T, id string) apitask.TaskService {
func connectToShim(ctx context.Context, t *testing.T, id string) apitask.TTRPCTaskService {
addr, err := shim.SocketAddress(ctx, containerdEndpoint, id)
require.NoError(t, err)
addr = strings.TrimPrefix(addr, "unix://")
@@ -162,10 +162,10 @@ func connectToShim(ctx context.Context, t *testing.T, id string) apitask.TaskSer
require.NoError(t, err)
client := ttrpc.NewClient(conn)
return apitask.NewTaskClient(client)
return apitask.NewTTRPCTaskClient(client)
}
func shimPid(ctx context.Context, t *testing.T, shimCli apitask.TaskService) uint32 {
func shimPid(ctx context.Context, t *testing.T, shimCli apitask.TTRPCTaskService) uint32 {
resp, err := shimCli.Connect(ctx, &apitask.ConnectRequest{})
require.NoError(t, err)
return resp.GetShimPid()

View File

@@ -22,7 +22,7 @@ import (
"github.com/stretchr/testify/require"
apitask "github.com/containerd/containerd/api/runtime/task/v2"
apitask "github.com/containerd/containerd/api/runtime/task/v3"
"github.com/containerd/containerd/namespaces"
)