kpod stop -- stop one or more containers

Stop one or more containers. Specific a timeout value
that if the stop operation exceeds, will forcibly stop
the container.

Signed-off-by: baude <bbaude@redhat.com>
This commit is contained in:
baude 2017-09-06 12:30:34 -05:00
parent 10b72d8bfa
commit aca658b423
7 changed files with 168 additions and 0 deletions

51
test/kpod_stop.bats Normal file
View file

@ -0,0 +1,51 @@
#!/usr/bin/env bats
load helpers
ROOT="$TESTDIR/crio"
RUNROOT="$TESTDIR/crio-run"
KPOD_OPTIONS="--root $ROOT --runroot $RUNROOT --storage-driver vfs"
function teardown() {
cleanup_test
}
@test "stop a bogus container" {
run ${KPOD_BINARY} ${KPOD_OPTIONS} stop foobar
echo "$output"
[ "$status" -eq 1 ]
}
@test "stop a running container by id" {
start_crio
run crioctl pod run --config "$TESTDATA"/sandbox_config.json
echo "$output"
[ "$status" -eq 0 ]
pod_id="$output"
run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
echo "$output"
[ "$status" -eq 0 ]
ctr_id="$output"
run crioctl ctr start --id "$ctr_id"
echo "$output"
id="$output"
run ${KPOD_BINARY} ${KPOD_OPTIONS} stop "$id"
cleanup_pods
stop_crio
}
@test "stop a running container by name" {
start_crio
run crioctl pod run --config "$TESTDATA"/sandbox_config.json
echo "$output"
[ "$status" -eq 0 ]
pod_id="$output"
run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
echo "$output"
[ "$status" -eq 0 ]
ctr_id="$output"
run crioctl ctr start --id "$ctr_id"
echo "$output"
run ${KPOD_BINARY} ${KPOD_OPTIONS} stop "k8s_podsandbox1-redis_podsandbox1_redhat.test.crio_redhat-test-crio_0"
cleanup_pods
stop_crio
}