Use new Kill task api.
Signed-off-by: Lantao Liu <lantaol@google.com>
This commit is contained in:
parent
5b7cbf1bc6
commit
d6435996e2
@ -69,7 +69,11 @@ func (c *criContainerdService) StopContainer(ctx context.Context, r *runtime.Sto
|
|||||||
// TODO(random-liu): [P1] Get stop signal from image config.
|
// TODO(random-liu): [P1] Get stop signal from image config.
|
||||||
stopSignal := unix.SIGTERM
|
stopSignal := unix.SIGTERM
|
||||||
glog.V(2).Infof("Stop container %q with signal %v", id, stopSignal)
|
glog.V(2).Infof("Stop container %q with signal %v", id, stopSignal)
|
||||||
_, err = c.taskService.Kill(ctx, &execution.KillRequest{ContainerID: id, Signal: uint32(stopSignal)})
|
_, err = c.taskService.Kill(ctx, &execution.KillRequest{
|
||||||
|
ContainerID: id,
|
||||||
|
Signal: uint32(stopSignal),
|
||||||
|
PidOrAll: &execution.KillRequest_All{All: true},
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !isContainerdGRPCNotFoundError(err) && !isRuncProcessAlreadyFinishedError(err) {
|
if !isContainerdGRPCNotFoundError(err) && !isRuncProcessAlreadyFinishedError(err) {
|
||||||
return nil, fmt.Errorf("failed to stop container %q: %v", id, err)
|
return nil, fmt.Errorf("failed to stop container %q: %v", id, err)
|
||||||
@ -86,7 +90,11 @@ func (c *criContainerdService) StopContainer(ctx context.Context, r *runtime.Sto
|
|||||||
|
|
||||||
// Event handler will Delete the container from containerd after it handles the Exited event.
|
// Event handler will Delete the container from containerd after it handles the Exited event.
|
||||||
glog.V(2).Infof("Kill container %q", id)
|
glog.V(2).Infof("Kill container %q", id)
|
||||||
_, err = c.taskService.Kill(ctx, &execution.KillRequest{ContainerID: id, Signal: uint32(unix.SIGKILL)})
|
_, err = c.taskService.Kill(ctx, &execution.KillRequest{
|
||||||
|
ContainerID: id,
|
||||||
|
Signal: uint32(unix.SIGKILL),
|
||||||
|
PidOrAll: &execution.KillRequest_All{All: true},
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !isContainerdGRPCNotFoundError(err) && !isRuncProcessAlreadyFinishedError(err) {
|
if !isContainerdGRPCNotFoundError(err) && !isRuncProcessAlreadyFinishedError(err) {
|
||||||
return nil, fmt.Errorf("failed to kill container %q: %v", id, err)
|
return nil, fmt.Errorf("failed to kill container %q: %v", id, err)
|
||||||
|
@ -138,11 +138,19 @@ func TestStopContainer(t *testing.T) {
|
|||||||
expectCalls: []servertesting.CalledDetail{
|
expectCalls: []servertesting.CalledDetail{
|
||||||
{
|
{
|
||||||
Name: "kill",
|
Name: "kill",
|
||||||
Argument: &execution.KillRequest{ContainerID: testID, Signal: uint32(unix.SIGTERM)},
|
Argument: &execution.KillRequest{
|
||||||
|
ContainerID: testID,
|
||||||
|
Signal: uint32(unix.SIGTERM),
|
||||||
|
PidOrAll: &execution.KillRequest_All{All: true},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "kill",
|
Name: "kill",
|
||||||
Argument: &execution.KillRequest{ContainerID: testID, Signal: uint32(unix.SIGKILL)},
|
Argument: &execution.KillRequest{
|
||||||
|
ContainerID: testID,
|
||||||
|
Signal: uint32(unix.SIGKILL),
|
||||||
|
PidOrAll: &execution.KillRequest_All{All: true},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "delete",
|
Name: "delete",
|
||||||
@ -158,11 +166,19 @@ func TestStopContainer(t *testing.T) {
|
|||||||
expectCalls: []servertesting.CalledDetail{
|
expectCalls: []servertesting.CalledDetail{
|
||||||
{
|
{
|
||||||
Name: "kill",
|
Name: "kill",
|
||||||
Argument: &execution.KillRequest{ContainerID: testID, Signal: uint32(unix.SIGTERM)},
|
Argument: &execution.KillRequest{
|
||||||
|
ContainerID: testID,
|
||||||
|
Signal: uint32(unix.SIGTERM),
|
||||||
|
PidOrAll: &execution.KillRequest_All{All: true},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "kill",
|
Name: "kill",
|
||||||
Argument: &execution.KillRequest{ContainerID: testID, Signal: uint32(unix.SIGKILL)},
|
Argument: &execution.KillRequest{
|
||||||
|
ContainerID: testID,
|
||||||
|
Signal: uint32(unix.SIGKILL),
|
||||||
|
PidOrAll: &execution.KillRequest_All{All: true},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "delete",
|
Name: "delete",
|
||||||
@ -178,7 +194,11 @@ func TestStopContainer(t *testing.T) {
|
|||||||
expectCalls: []servertesting.CalledDetail{
|
expectCalls: []servertesting.CalledDetail{
|
||||||
{
|
{
|
||||||
Name: "kill",
|
Name: "kill",
|
||||||
Argument: &execution.KillRequest{ContainerID: testID, Signal: uint32(unix.SIGTERM)},
|
Argument: &execution.KillRequest{
|
||||||
|
ContainerID: testID,
|
||||||
|
Signal: uint32(unix.SIGTERM),
|
||||||
|
PidOrAll: &execution.KillRequest_All{All: true},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -190,7 +210,11 @@ func TestStopContainer(t *testing.T) {
|
|||||||
expectCalls: []servertesting.CalledDetail{
|
expectCalls: []servertesting.CalledDetail{
|
||||||
{
|
{
|
||||||
Name: "kill",
|
Name: "kill",
|
||||||
Argument: &execution.KillRequest{ContainerID: testID, Signal: uint32(unix.SIGTERM)},
|
Argument: &execution.KillRequest{
|
||||||
|
ContainerID: testID,
|
||||||
|
Signal: uint32(unix.SIGTERM),
|
||||||
|
PidOrAll: &execution.KillRequest_All{All: true},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "delete",
|
Name: "delete",
|
||||||
@ -206,7 +230,11 @@ func TestStopContainer(t *testing.T) {
|
|||||||
expectCalls: []servertesting.CalledDetail{
|
expectCalls: []servertesting.CalledDetail{
|
||||||
{
|
{
|
||||||
Name: "kill",
|
Name: "kill",
|
||||||
Argument: &execution.KillRequest{ContainerID: testID, Signal: uint32(unix.SIGKILL)},
|
Argument: &execution.KillRequest{
|
||||||
|
ContainerID: testID,
|
||||||
|
Signal: uint32(unix.SIGKILL),
|
||||||
|
PidOrAll: &execution.KillRequest_All{All: true},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "delete",
|
Name: "delete",
|
||||||
|
Loading…
Reference in New Issue
Block a user