integration: connect to shim by bridge client
Signed-off-by: Wei Fu <fuweid89@gmail.com>
This commit is contained in:
parent
51689b6618
commit
e659cd2752
@ -30,6 +30,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
apitask "github.com/containerd/containerd/v2/api/runtime/task/v3"
|
apitask "github.com/containerd/containerd/v2/api/runtime/task/v3"
|
||||||
|
shimcore "github.com/containerd/containerd/v2/core/runtime/v2"
|
||||||
"github.com/containerd/containerd/v2/core/runtime/v2/shim"
|
"github.com/containerd/containerd/v2/core/runtime/v2/shim"
|
||||||
"github.com/containerd/containerd/v2/integration/images"
|
"github.com/containerd/containerd/v2/integration/images"
|
||||||
"github.com/containerd/containerd/v2/pkg/namespaces"
|
"github.com/containerd/containerd/v2/pkg/namespaces"
|
||||||
@ -49,7 +50,7 @@ func TestIssue7496(t *testing.T) {
|
|||||||
sbID, err := runtimeService.RunPodSandbox(sbConfig, *runtimeHandler)
|
sbID, err := runtimeService.RunPodSandbox(sbConfig, *runtimeHandler)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
shimCli := connectToShim(ctx, t, sbID)
|
shimCli := connectToShim(ctx, t, containerdEndpoint, 3, sbID)
|
||||||
|
|
||||||
delayInSec := 12
|
delayInSec := 12
|
||||||
t.Logf("[shim pid: %d]: Injecting %d seconds delay to umount2 syscall",
|
t.Logf("[shim pid: %d]: Injecting %d seconds delay to umount2 syscall",
|
||||||
@ -155,8 +156,8 @@ func injectDelayToUmount2(ctx context.Context, t *testing.T, shimCli apitask.TTR
|
|||||||
return doneCh
|
return doneCh
|
||||||
}
|
}
|
||||||
|
|
||||||
func connectToShim(ctx context.Context, t *testing.T, id string) apitask.TTRPCTaskService {
|
func connectToShim(ctx context.Context, t *testing.T, ctrdEndpoint string, version int, id string) shimcore.TaskServiceClient {
|
||||||
addr, err := shim.SocketAddress(ctx, containerdEndpoint, id)
|
addr, err := shim.SocketAddress(ctx, ctrdEndpoint, id)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
addr = strings.TrimPrefix(addr, "unix://")
|
addr = strings.TrimPrefix(addr, "unix://")
|
||||||
|
|
||||||
@ -164,10 +165,12 @@ func connectToShim(ctx context.Context, t *testing.T, id string) apitask.TTRPCTa
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
client := ttrpc.NewClient(conn)
|
client := ttrpc.NewClient(conn)
|
||||||
return apitask.NewTTRPCTaskClient(client)
|
cli, err := shimcore.NewTaskClient(client, version)
|
||||||
|
require.NoError(t, err)
|
||||||
|
return cli
|
||||||
}
|
}
|
||||||
|
|
||||||
func shimPid(ctx context.Context, t *testing.T, shimCli apitask.TTRPCTaskService) uint32 {
|
func shimPid(ctx context.Context, t *testing.T, shimCli shimcore.TaskServiceClient) uint32 {
|
||||||
resp, err := shimCli.Connect(ctx, &apitask.ConnectRequest{})
|
resp, err := shimCli.Connect(ctx, &apitask.ConnectRequest{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
return resp.GetShimPid()
|
return resp.GetShimPid()
|
||||||
|
@ -51,7 +51,7 @@ func TestIssue7496_ShouldRetryShutdown(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
t.Logf("Connect to the shim %s", sbID)
|
t.Logf("Connect to the shim %s", sbID)
|
||||||
shimCli := connectToShim(ctx, t, sbID)
|
shimCli := connectToShim(ctx, t, containerdEndpoint, 3, sbID)
|
||||||
|
|
||||||
t.Logf("Log shim %s's pid: %d", sbID, shimPid(ctx, t, shimCli))
|
t.Logf("Log shim %s's pid: %d", sbID, shimPid(ctx, t, shimCli))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user