From 25dfde90443c2decb1933ab88efc18bcf10e4615 Mon Sep 17 00:00:00 2001 From: Wei Wei Date: Wed, 15 Nov 2017 23:24:20 +0800 Subject: [PATCH] replace crioctl with crictl Signed-off-by: Wei Wei --- test/README.md | 4 +- test/apparmor.bats | 31 +- test/cgroups.bats | 12 +- test/ctr.bats | 471 +++++++++--------- test/ctr_seccomp.bats | 44 +- test/default_mounts.bats | 22 +- test/helpers.bash | 15 +- test/hooks.bats | 10 +- test/image.bats | 66 +-- test/image_volume.bats | 26 +- test/inspect.bats | 23 +- test/network.bats | 61 +-- test/restore.bats | 89 ++-- test/runtimeversion.bats | 4 +- test/selinux.bats | 6 +- test/testdata/README.md | 6 +- .../testdata/container_config_resolvconf.json | 2 +- .../container_config_resolvconf_ro.json | 2 +- test/testdata/sandbox1_config.json | 2 +- test/testdata/sandbox2_config.json | 2 +- test/testdata/sandbox3_config.json | 2 +- test/testdata/sandbox_config.json | 2 +- test/testdata/sandbox_config_hostnet.json | 2 +- test/testdata/sandbox_config_hostport.json | 2 +- test/testdata/sandbox_config_seccomp.json | 2 +- test/testdata/sandbox_config_selinux.json | 2 +- test/testdata/sandbox_config_sysctl.json | 2 +- test/testdata/template_sandbox_config.json | 2 +- 28 files changed, 457 insertions(+), 457 deletions(-) diff --git a/test/README.md b/test/README.md index 64a0709a..eb314e8d 100644 --- a/test/README.md +++ b/test/README.md @@ -96,9 +96,9 @@ function teardown() { cleanup_test } -@test "crioctl runtimeversion" { +@test "crictl runtimeversion" { start_crio - crioctl runtimeversion + crictl runtimeversion [ "$status" -eq 0 ] } diff --git a/test/apparmor.bats b/test/apparmor.bats index e5c89bf0..65e853e2 100644 --- a/test/apparmor.bats +++ b/test/apparmor.bats @@ -19,19 +19,18 @@ function teardown() { sed -e 's/%VALUE%/,"container\.apparmor\.security\.beta\.kubernetes\.io\/testname1": "runtime\/default"/g' "$TESTDATA"/sandbox_config_seccomp.json > "$TESTDIR"/apparmor1.json - run crioctl pod run --name apparmor1 --config "$TESTDIR"/apparmor1.json + run crictl runs "$TESTDIR"/apparmor1.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname1 --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDIR"/apparmor1.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr execsync --id "$ctr_id" touch test.txt + run crictl exec --sync "$ctr_id" touch test.txt echo "$output" [ "$status" -eq 0 ] - cleanup_ctrs cleanup_pods stop_crio @@ -51,15 +50,15 @@ function teardown() { sed -e 's/%VALUE%/,"container\.apparmor\.security\.beta\.kubernetes\.io\/testname2": "apparmor-test-deny-write"/g' "$TESTDATA"/sandbox_config_seccomp.json > "$TESTDIR"/apparmor2.json - run crioctl pod run --name apparmor2 --config "$TESTDIR"/apparmor2.json + run crictl runs "$TESTDIR"/apparmor2.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname2 --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDIR"/apparmor2.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr execsync --id "$ctr_id" touch test.txt + run crictl exec --sync "$ctr_id" touch test.txt echo "$output" [ "$status" -ne 0 ] [[ "$output" =~ "Permission denied" ]] @@ -84,15 +83,15 @@ function teardown() { sed -e 's/%VALUE%/,"container\.apparmor\.security\.beta\.kubernetes\.io\/testname3": "apparmor-test-deny-write"/g' "$TESTDATA"/sandbox_config_seccomp.json > "$TESTDIR"/apparmor3.json - run crioctl pod run --name apparmor3 --config "$TESTDIR"/apparmor3.json + run crictl runs "$TESTDIR"/apparmor3.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname3 --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDIR"/apparmor3.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr execsync --id "$ctr_id" touch test.txt + run crictl exec --sync "$ctr_id" touch test.txt echo "$output" [ "$status" -ne 0 ] [[ "$output" =~ "Permission denied" ]] @@ -116,16 +115,15 @@ function teardown() { sed -e 's/%VALUE%/,"container\.apparmor\.security\.beta\.kubernetes\.io\/testname4": "not-exists"/g' "$TESTDATA"/sandbox_config_seccomp.json > "$TESTDIR"/apparmor4.json - run crioctl pod run --name apparmor4 --config "$TESTDIR"/apparmor4.json + run crictl runs "$TESTDIR"/apparmor4.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname4 --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDIR"/apparmor4.json echo "$output" [ "$status" -ne 0 ] [[ "$output" =~ "Creating container failed" ]] - cleanup_ctrs cleanup_pods stop_crio @@ -145,19 +143,18 @@ function teardown() { sed -e 's/%VALUE%/,"container\.apparmor\.security\.beta\.kubernetes\.io\/testname5": "runtime\/default"/g' "$TESTDATA"/sandbox_config_seccomp.json > "$TESTDIR"/apparmor5.json - run crioctl pod run --name apparmor5 --config "$TESTDIR"/apparmor5.json + run crictl runs "$TESTDIR"/apparmor5.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname5 --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDIR"/apparmor5.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr execsync --id "$ctr_id" touch test.txt + run crictl exec --sync "$ctr_id" touch test.txt echo "$output" [ "$status" -eq 0 ] - cleanup_ctrs cleanup_pods stop_crio diff --git a/test/cgroups.bats b/test/cgroups.bats index cbe27be4..03990f1f 100644 --- a/test/cgroups.bats +++ b/test/cgroups.bats @@ -11,27 +11,27 @@ function teardown() { skip "pids cgroup controller is not mounted" fi PIDS_LIMIT=1234 start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" pids_limit_config=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin); obj["command"] = ["/bin/sleep", "600"]; json.dump(obj, sys.stdout)') echo "$pids_limit_config" > "$TESTDIR"/container_pids_limit.json - run crioctl ctr create --config "$TESTDIR"/container_pids_limit.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_pids_limit.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" cat /sys/fs/cgroup/pids/pids.max + run crictl exec --sync "$ctr_id" cat /sys/fs/cgroup/pids/pids.max echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "1234" ]] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs diff --git a/test/ctr.bats b/test/ctr.bats index f41d16f1..c6cde3fd 100644 --- a/test/ctr.bats +++ b/test/ctr.bats @@ -8,31 +8,30 @@ function teardown() { @test "ctr not found correct error message" { start_crio - run crioctl ctr status --id randomid + run crictl inspect "container_not_exist" echo "$output" [ "$status" -eq 1 ] - [[ "$output" =~ "container with ID starting with randomid not found" ]] stop_crio } @test "ctr termination reason Completed" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_config.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr status --id "$ctr_id" + run crictl inspect --output yaml "$ctr_id" echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "Reason: Completed" ]] + [[ "$output" =~ "reason: Completed" ]] cleanup_ctrs cleanup_pods @@ -41,23 +40,23 @@ function teardown() { @test "ctr termination reason Error" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" errorconfig=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["command"] = ["false"]; json.dump(obj, sys.stdout)') echo "$errorconfig" > "$TESTDIR"/container_config_error.json - run crioctl ctr create --config "$TESTDIR"/container_config_error.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_config_error.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr status --id "$ctr_id" + run crictl inspect --output yaml "$ctr_id" echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "Reason: Error" ]] + [[ "$output" =~ "reason: Error" ]] cleanup_ctrs cleanup_pods @@ -66,24 +65,24 @@ function teardown() { @test "ctr remove" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr remove --id "$ctr_id" + run crictl rm "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -93,65 +92,69 @@ function teardown() { @test "ctr lifecycle" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl pod list + run crictl sandboxes --quiet echo "$output" [ "$status" -eq 0 ] - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + [[ "$output" == "$pod_id" ]] + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr list + run crictl ps --quiet echo "$output" [ "$status" -eq 0 ] - run crioctl ctr status --id "$ctr_id" + [[ "$output" == "$ctr_id" ]] + run crictl inspect "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr status --id "$ctr_id" + run crictl inspect "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr list + run crictl ps --quiet echo "$output" [ "$status" -eq 0 ] - run crioctl ctr stop --id "$ctr_id" + [[ "$output" == "$ctr_id" ]] + run crictl stop "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr status --id "$ctr_id" + run crictl inspect "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr list + run crictl ps --quiet echo "$output" [ "$status" -eq 0 ] - run crioctl ctr remove --id "$ctr_id" + [[ "$output" == "$ctr_id" ]] + run crictl rm "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr list + run crictl ps --quiet echo "$output" [ "$status" -eq 0 ] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod list + run crictl sandboxes --quiet echo "$output" [ "$status" -eq 0 ] - run crioctl ctr list + [[ "$output" == "$pod_id" ]] + run crictl ps --quiet echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + [[ "$output" == "" ]] + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod list - echo "$output" - [ "$status" -eq 0 ] - run crioctl ctr list + run crictl sandboxes --quiet echo "$output" [ "$status" -eq 0 ] + [[ "$output" == "" ]] cleanup_ctrs cleanup_pods stop_crio @@ -159,31 +162,28 @@ function teardown() { @test "ctr logging" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl pod list - echo "$output" - [ "$status" -eq 0 ] # Create a new container. newconfig=$(mktemp --tmpdir crio-config.XXXXXX.json) cp "$TESTDATA"/container_config_logging.json "$newconfig" sed -i 's|"%shellcommand%"|"echo here is some output \&\& echo and some from stderr >\&2"|' "$newconfig" - run crioctl ctr create --config "$newconfig" --pod "$pod_id" + run crictl create "$pod_id" "$newconfig" "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr stop --id "$ctr_id" + run crictl stop "$ctr_id" echo "$output" # Ignore errors on stop. - run crioctl ctr status --id "$ctr_id" + run crictl inspect "$ctr_id" [ "$status" -eq 0 ] - run crioctl ctr remove --id "$ctr_id" + run crictl rm "$ctr_id" echo "$output" [ "$status" -eq 0 ] @@ -194,10 +194,10 @@ function teardown() { grep -E "^[^\n]+ stdout here is some output$" "$logpath" grep -E "^[^\n]+ stderr and some from stderr$" "$logpath" - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] @@ -208,32 +208,29 @@ function teardown() { @test "ctr logging [tty=true]" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl pod list - echo "$output" - [ "$status" -eq 0 ] # Create a new container. newconfig=$(mktemp --tmpdir crio-config.XXXXXX.json) cp "$TESTDATA"/container_config_logging.json "$newconfig" sed -i 's|"%shellcommand%"|"echo here is some output"|' "$newconfig" sed -i 's|"tty": false,|"tty": true,|' "$newconfig" - run crioctl ctr create --config "$newconfig" --pod "$pod_id" + run crictl create "$pod_id" "$newconfig" "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr stop --id "$ctr_id" + run crictl stop "$ctr_id" echo "$output" # Ignore errors on stop. - run crioctl ctr status --id "$ctr_id" + run crictl inspect "$ctr_id" [ "$status" -eq 0 ] - run crioctl ctr remove --id "$ctr_id" + run crictl rm "$ctr_id" echo "$output" [ "$status" -eq 0 ] @@ -243,10 +240,10 @@ function teardown() { echo "$logpath :: $(cat "$logpath")" grep --binary -P "^[^\n]+ stdout here is some output\x0d$" "$logpath" - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] @@ -257,29 +254,26 @@ function teardown() { @test "ctr log max" { LOG_SIZE_MAX_LIMIT=10000 start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl pod list - echo "$output" - [ "$status" -eq 0 ] # Create a new container. newconfig=$(mktemp --tmpdir crio-config.XXXXXX.json) cp "$TESTDATA"/container_config_logging.json "$newconfig" sed -i 's|"%shellcommand%"|"for i in $(seq 250); do echo $i; done"|' "$newconfig" - run crioctl ctr create --config "$newconfig" --pod "$pod_id" + run crictl create "$pod_id" "$newconfig" "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] sleep 6 - run crioctl ctr status --id "$ctr_id" + run crictl inspect "$ctr_id" [ "$status" -eq 0 ] - run crioctl ctr remove --id "$ctr_id" + run crictl rm "$ctr_id" echo "$output" [ "$status" -eq 0 ] @@ -290,10 +284,10 @@ function teardown() { len=$(wc -l "$logpath" | awk '{print $1}') [ $len -lt 250 ] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] @@ -305,22 +299,24 @@ function teardown() { # regression test for #127 @test "ctrs status for a pod" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] + ctr_id="$output" - run crioctl ctr list --quiet + run crictl ps --quiet echo "$output" [ "$status" -eq 0 ] - [[ "${output}" != "" ]] + [[ "$output" != "" ]] + [[ "$output" == "$ctr_id" ]] printf '%s\n' "$output" | while IFS= read -r id do - run crioctl ctr status --id "$id" + run crictl inspect "$id" echo "$output" [ "$status" -eq 0 ] done @@ -331,105 +327,101 @@ function teardown() { } @test "ctr list filtering" { + # start 3 redis sandbox + # pod1 ctr1 create & start + # pod2 ctr2 create + # pod3 ctr3 create & start & stop start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json --name pod1 + run crictl runs "$TESTDATA"/sandbox1_config.json echo "$output" [ "$status" -eq 0 ] pod1_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod1_id" + run crictl create "$pod1_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox1_config.json echo "$output" [ "$status" -eq 0 ] ctr1_id="$output" - run crioctl ctr start --id "$ctr1_id" + run crictl start "$ctr1_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod run --config "$TESTDATA"/sandbox_config.json --name pod2 + run crictl runs "$TESTDATA"/sandbox2_config.json echo "$output" [ "$status" -eq 0 ] pod2_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod2_id" + run crictl create "$pod2_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox2_config.json echo "$output" [ "$status" -eq 0 ] ctr2_id="$output" - run crioctl pod run --config "$TESTDATA"/sandbox_config.json --name pod3 + run crictl runs "$TESTDATA"/sandbox3_config.json echo "$output" [ "$status" -eq 0 ] pod3_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod3_id" + run crictl create "$pod3_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox3_config.json echo "$output" [ "$status" -eq 0 ] ctr3_id="$output" - run crioctl ctr start --id "$ctr3_id" + run crictl start "$ctr3_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr stop --id "$ctr3_id" + run crictl stop "$ctr3_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr list --id "$ctr1_id" --quiet + + run crictl ps --id "$ctr1_id" --quiet echo "$output" [ "$status" -eq 0 ] - [[ "$output" != "" ]] - [[ "$output" =~ "$ctr1_id" ]] - run crioctl ctr list --id "${ctr1_id:0:4}" --quiet + [[ "$output" == "$ctr1_id" ]] + run crictl ps --id "${ctr1_id:0:4}" --quiet echo "$output" [ "$status" -eq 0 ] - [[ "$output" != "" ]] - [[ "$output" =~ "$ctr1_id" ]] - run crioctl ctr list --id "$ctr2_id" --pod "$pod2_id" --quiet + [[ "$output" == "$ctr1_id" ]] + run crictl ps --id "$ctr2_id" --sandbox "$pod2_id" --quiet echo "$output" [ "$status" -eq 0 ] - [[ "$output" != "" ]] - [[ "$output" =~ "$ctr2_id" ]] - run crioctl ctr list --id "$ctr2_id" --pod "$pod3_id" --quiet + [[ "$output" == "$ctr2_id" ]] + run crictl ps --id "$ctr2_id" --sandbox "$pod3_id" --quiet echo "$output" [ "$status" -eq 0 ] [[ "$output" == "" ]] - run crioctl ctr list --state created --quiet + run crictl ps --state created --quiet echo "$output" [ "$status" -eq 0 ] - [[ "$output" != "" ]] - [[ "$output" =~ "$ctr2_id" ]] - run crioctl ctr list --state running --quiet + [[ "$output" == "$ctr2_id" ]] + run crictl ps --state running --quiet echo "$output" [ "$status" -eq 0 ] - [[ "$output" != "" ]] - [[ "$output" =~ "$ctr1_id" ]] - run crioctl ctr list --state stopped --quiet + [[ "$output" == "$ctr1_id" ]] + run crictl ps --state stopped --quiet echo "$output" [ "$status" -eq 0 ] - [[ "$output" != "" ]] - [[ "$output" =~ "$ctr3_id" ]] - run crioctl ctr list --pod "$pod1_id" --quiet + [[ "$output" == "$ctr3_id" ]] + run crictl ps --sandbox "$pod1_id" --quiet echo "$output" [ "$status" -eq 0 ] - [[ "$output" != "" ]] - [[ "$output" =~ "$ctr1_id" ]] - run crioctl ctr list --pod "$pod2_id" --quiet + [[ "$output" == "$ctr1_id" ]] + run crictl ps --sandbox "$pod2_id" --quiet echo "$output" [ "$status" -eq 0 ] - [[ "$output" != "" ]] - [[ "$output" =~ "$ctr2_id" ]] - run crioctl ctr list --pod "$pod3_id" --quiet + [[ "$output" == "$ctr2_id" ]] + run crictl ps --sandbox "$pod3_id" --quiet echo "$output" [ "$status" -eq 0 ] - [[ "$output" != "" ]] - [[ "$output" =~ "$ctr3_id" ]] - run crioctl pod stop --id "$pod1_id" + [[ "$output" == "$ctr3_id" ]] + run crictl stops "$pod1_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod1_id" + run crictl rms "$pod1_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod stop --id "$pod2_id" + run crictl stops "$pod2_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod2_id" + run crictl rms "$pod2_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod stop --id "$pod3_id" + run crictl stops "$pod3_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod3_id" + run crictl rms "$pod3_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -438,49 +430,64 @@ function teardown() { } @test "ctr list label filtering" { + # start a pod with 3 containers + # ctr1 with labels: group=test container=redis version=v1.0.0 + # ctr2 with labels: group=test container=redis version=v1.0.0 + # ctr3 with labels: group=test container=redis version=v1.1.0 start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" --name ctr1 --label "a=b" --label "c=d" --label "e=f" + + ctrconfig=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["metadata"]["name"] = "ctr1";obj["labels"]["group"] = "test";obj["labels"]["name"] = "ctr1";obj["labels"]["version"] = "v1.0.0"; json.dump(obj, sys.stdout)') + echo "$ctrconfig" > "$TESTDATA"/labeled_container_redis.json + run crictl create "$pod_id" "$TESTDATA"/labeled_container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr1_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" --name ctr2 --label "a=b" --label "c=d" + + ctrconfig=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["metadata"]["name"] = "ctr2";obj["labels"]["group"] = "test";obj["labels"]["name"] = "ctr2";obj["labels"]["version"] = "v1.0.0"; json.dump(obj, sys.stdout)') + echo "$ctrconfig" > "$TESTDATA"/labeled_container_redis.json + run crictl create "$pod_id" "$TESTDATA"/labeled_container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr2_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" --name ctr3 --label "a=b" + + ctrconfig=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["metadata"]["name"] = "ctr3";obj["labels"]["group"] = "test";obj["labels"]["name"] = "ctr3";obj["labels"]["version"] = "v1.1.0"; json.dump(obj, sys.stdout)') + echo "$ctrconfig" > "$TESTDATA"/labeled_container_redis.json + run crictl create "$pod_id" "$TESTDATA"/labeled_container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr3_id="$output" - run crioctl ctr list --label "tier=backend" --label "a=b" --label "c=d" --label "e=f" --quiet + + run crictl ps --label "group=test" --label "name=ctr1" --label "version=v1.0.0" --quiet echo "$output" [ "$status" -eq 0 ] - [[ "$output" != "" ]] - [[ "$output" =~ "$ctr1_id" ]] - run crioctl ctr list --label "tier=frontend" --quiet + [[ "$output" == "$ctr1_id" ]] + run crictl ps --label "group=production" --quiet echo "$output" [ "$status" -eq 0 ] [[ "$output" == "" ]] - run crioctl ctr list --label "a=b" --label "c=d" --quiet + run crictl ps --label "group=test" --label "version=v1.0.0" --quiet echo "$output" [ "$status" -eq 0 ] [[ "$output" != "" ]] - [[ "$output" =~ "$ctr1_id" ]] - [[ "$output" =~ "$ctr2_id" ]] - run crioctl ctr list --label "a=b" --quiet + [[ "$output" =~ "$ctr1_id" ]] + [[ "$output" =~ "$ctr2_id" ]] + [[ "$output" != "$ctr3_id" ]] + run crictl ps --label "group=test" --quiet echo "$output" [ "$status" -eq 0 ] [[ "$output" != "" ]] [[ "$output" =~ "$ctr1_id" ]] [[ "$output" =~ "$ctr2_id" ]] [[ "$output" =~ "$ctr3_id" ]] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -490,23 +497,23 @@ function teardown() { @test "ctr metadata in list & status" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_config.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr list --id "$ctr_id" + run crictl ps --id "$ctr_id" --output yaml echo "$output" [ "$status" -eq 0 ] # TODO: expected value should not hard coded here - [[ "$output" =~ "Name: container1" ]] - [[ "$output" =~ "Attempt: 1" ]] + [[ "$output" =~ "name: container1" ]] + [[ "$output" =~ "attempt: 1" ]] - run crioctl ctr status --id "$ctr_id" + run crictl inspect "$ctr_id" echo "$output" [ "$status" -eq 0 ] # TODO: expected value should not hard coded here @@ -520,21 +527,21 @@ function teardown() { @test "ctr execsync conflicting with conmon flags parsing" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" sh -c "echo hello world" + run crictl exec --sync "$ctr_id" sh -c "echo hello world" echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "hello world" ]] + [[ "$output" == "hello world" ]] cleanup_ctrs cleanup_pods stop_crio @@ -542,29 +549,29 @@ function teardown() { @test "ctr execsync" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" echo HELLO + run crictl exec --sync "$ctr_id" echo HELLO echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "HELLO" ]] - run crioctl ctr execsync --id "$ctr_id" --timeout 1 sleep 10 + [[ "$output" == "HELLO" ]] + run crictl exec --sync --timeout 1 "$ctr_id" sleep 3 echo "$output" [[ "$output" =~ "command timed out" ]] [ "$status" -ne 0 ] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -574,25 +581,25 @@ function teardown() { @test "ctr device add" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis_device.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis_device.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" ls /dev/mynull + run crictl exec --sync "$ctr_id" ls /dev/mynull echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "/dev/mynull" ]] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -602,22 +609,22 @@ function teardown() { @test "ctr hostname env" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_config.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr execsync --id "$ctr_id" env + run crictl exec --sync "$ctr_id" env echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "HOSTNAME" ]] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -627,18 +634,18 @@ function teardown() { @test "ctr execsync failure" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" doesnotexist + run crictl exec --sync "$ctr_id" doesnotexist echo "$output" [ "$status" -ne 0 ] @@ -649,18 +656,18 @@ function teardown() { @test "ctr execsync exit code" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" false + run crictl exec --sync "$ctr_id" false echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "Exit code: 1" ]] @@ -671,39 +678,39 @@ function teardown() { @test "ctr execsync std{out,err}" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" echo hello0 stdout + run crictl exec --sync "$ctr_id" echo hello0 stdout echo "$output" [ "$status" -eq 0 ] - [[ "$output" == *"$(printf "Stdout:\nhello0 stdout")"* ]] + [[ "$output" =~ "hello0 stdout" ]] stderrconfig=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["image"]["image"] = "runcom/stderr-test"; obj["command"] = ["/bin/sleep", "600"]; json.dump(obj, sys.stdout)') echo "$stderrconfig" > "$TESTDIR"/container_config_stderr.json - run crioctl ctr create --config "$TESTDIR"/container_config_stderr.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_config_stderr.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" stderr + run crictl exec --sync "$ctr_id" stderr echo "$output" [ "$status" -eq 0 ] - [[ "$output" == *"$(printf "Stderr:\nthis goes to stderr")"* ]] - run crioctl pod stop --id "$pod_id" + [[ "$output" =~ "this goes to stderr" ]] + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -713,21 +720,21 @@ function teardown() { @test "ctr stop idempotent" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr stop --id "$ctr_id" + run crictl stop "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr stop --id "$ctr_id" + run crictl stop "$ctr_id" echo "$output" [ "$status" -eq 0 ] @@ -738,13 +745,13 @@ function teardown() { @test "ctr caps drop" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" capsconfig=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["linux"]["security_context"]["capabilities"] = {u"add_capabilities": [], u"drop_capabilities": [u"mknod", u"kill", u"sys_chroot", u"setuid", u"setgid"]}; json.dump(obj, sys.stdout)') echo "$capsconfig" > "$TESTDIR"/container_config_caps.json - run crioctl ctr create --config "$TESTDIR"/container_config_caps.json --pod "$pod_id" + run crictl create "$TESTDIR"/container_config_caps.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] @@ -755,16 +762,16 @@ function teardown() { @test "run ctr with image with Config.Volumes" { start_crio - run crioctl image pull gcr.io/k8s-testimages/redis:e2e + run crictl pull gcr.io/k8s-testimages/redis:e2e echo "$output" [ "$status" -eq 0 ] - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" volumesconfig=$(cat "$TESTDATA"/container_redis.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["image"]["image"] = "gcr.io/k8s-testimages/redis:e2e"; obj["args"] = []; json.dump(obj, sys.stdout)') echo "$volumesconfig" > "$TESTDIR"/container_config_volumes.json - run crioctl ctr create --config "$TESTDIR"/container_config_volumes.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_config_volumes.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] @@ -778,35 +785,36 @@ function teardown() { skip "travis container tests don't support testing OOM" fi start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" oomconfig=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["image"]["image"] = "mrunalp/oom"; obj["linux"]["resources"]["memory_limit_in_bytes"] = 5120000; obj["command"] = ["/oom"]; json.dump(obj, sys.stdout)') echo "$oomconfig" > "$TESTDIR"/container_config_oom.json - run crioctl ctr create --config "$TESTDIR"/container_config_oom.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_config_oom.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] # Wait for container to OOM attempt=0 while [ $attempt -le 100 ]; do attempt=$((attempt+1)) - run crioctl ctr status --id "$ctr_id" + run crictl inspect --output yaml "$ctr_id" echo "$output" + [ "$status" -eq 0 ] if [[ "$output" =~ "OOMKilled" ]]; then break fi sleep 10 done [[ "$output" =~ "OOMKilled" ]] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -816,37 +824,34 @@ function teardown() { @test "ctr /etc/resolv.conf rw/ro mode" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_config_resolvconf.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_config_resolvconf.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr status --id "$ctr_id" + run crictl inspect "$ctr_id" echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "Status: CONTAINER_EXITED" ]] + [[ "$output" =~ "State: CONTAINER_EXITED" ]] [[ "$output" =~ "Exit Code: 0" ]] - [[ "$output" =~ "Reason: Completed" ]] - run crioctl ctr create --name roctr --config "$TESTDATA"/container_config_resolvconf_ro.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_config_resolvconf_ro.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr status --id "$ctr_id" + run crictl inspect "$ctr_id" echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "Status: CONTAINER_EXITED" ]] - [[ "$output" =~ "Exit Code: 1" ]] - [[ "$output" =~ "Reason: Error" ]] + [[ "$output" =~ "State: CONTAINER_EXITED" ]] cleanup_ctrs cleanup_pods @@ -855,19 +860,19 @@ function teardown() { @test "ctr create with non-existent command" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" newconfig=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["command"] = ["nonexistent"]; json.dump(obj, sys.stdout)') echo "$newconfig" > "$TESTDIR"/container_nonexistent.json - run crioctl ctr create --config "$TESTDIR"/container_nonexistent.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_nonexistent.json "$TESTDATA"/sandbox_config.json [ "$status" -ne 0 ] [[ "$output" =~ "executable file not found" ]] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -877,19 +882,19 @@ function teardown() { @test "ctr create with non-existent command [tty]" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" newconfig=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["command"] = ["nonexistent"]; obj["tty"] = True; json.dump(obj, sys.stdout)') echo "$newconfig" > "$TESTDIR"/container_nonexistent.json - run crioctl ctr create --config "$TESTDIR"/container_nonexistent.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_nonexistent.json "$TESTDATA"/sandbox_config.json [ "$status" -ne 0 ] [[ "$output" =~ "executable file not found" ]] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -899,31 +904,31 @@ function teardown() { @test "ctr update resources" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" sh -c "cat /sys/fs/cgroup/memory/memory.limit_in_bytes" + run crictl exec --sync "$ctr_id" sh -c "cat /sys/fs/cgroup/memory/memory.limit_in_bytes" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "209715200" ]] - run crioctl ctr execsync --id "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.shares" + run crictl exec --sync "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.shares" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "512" ]] - run crioctl ctr execsync --id "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.cfs_period_us" + run crictl exec --sync "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.cfs_period_us" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "10000" ]] - run crioctl ctr execsync --id "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us" + run crictl exec --sync "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "20000" ]] @@ -932,19 +937,19 @@ function teardown() { echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" sh -c "cat /sys/fs/cgroup/memory/memory.limit_in_bytes" + run crictl exec --sync "$ctr_id" sh -c "cat /sys/fs/cgroup/memory/memory.limit_in_bytes" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "524288000" ]] - run crioctl ctr execsync --id "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.shares" + run crictl exec --sync "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.shares" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "256" ]] - run crioctl ctr execsync --id "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.cfs_period_us" + run crictl exec --sync "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.cfs_period_us" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "20000" ]] - run crioctl ctr execsync --id "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us" + run crictl exec --sync "$ctr_id" sh -c "cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "10000" ]] @@ -956,23 +961,23 @@ function teardown() { @test "ctr correctly setup working directory" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" notexistcwd=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["working_dir"] = "/thisshouldntexistatall"; json.dump(obj, sys.stdout)') echo "$notexistcwd" > "$TESTDIR"/container_cwd_notexist.json - run crioctl ctr create --config "$TESTDIR"/container_cwd_notexist.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_cwd_notexist.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] filecwd=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["working_dir"] = "/etc/passwd"; obj["metadata"]["name"] = "container2"; json.dump(obj, sys.stdout)') echo "$filecwd" > "$TESTDIR"/container_cwd_file.json - run crioctl ctr create --config "$TESTDIR"/container_cwd_file.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_cwd_file.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -ne 0 ] ctr_id="$output" diff --git a/test/ctr_seccomp.bats b/test/ctr_seccomp.bats index 79d644aa..2dae19d1 100644 --- a/test/ctr_seccomp.bats +++ b/test/ctr_seccomp.bats @@ -22,18 +22,18 @@ function teardown() { start_crio "$TESTDIR"/seccomp_profile1.json sed -e 's/%VALUE%/unconfined/g' "$TESTDATA"/container_config_seccomp.json > "$TESTDIR"/seccomp1.json - run crioctl pod run --name seccomp1 --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname --config "$TESTDIR"/seccomp1.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/seccomp1.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" chmod 777 . + run crictl exec --sync "$ctr_id" chmod 777 . echo "$output" [ "$status" -eq 0 ] @@ -58,18 +58,18 @@ function teardown() { start_crio "$TESTDIR"/seccomp_profile1.json sed -e 's/%VALUE%/runtime\/default/g' "$TESTDATA"/container_config_seccomp.json > "$TESTDIR"/seccomp2.json - run crioctl pod run --name seccomp2 --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname2 --config "$TESTDIR"/seccomp2.json --pod "$pod_id" + run crictl create "$TESTDIR"/seccomp2.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" chmod 777 . + run crictl exec --sync "$ctr_id" chmod 777 . echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "Exit code: 1" ]] @@ -96,18 +96,18 @@ function teardown() { start_crio "$TESTDIR"/seccomp_profile1.json sed -e 's/%VALUE%//g' "$TESTDATA"/container_config_seccomp.json > "$TESTDIR"/seccomp1.json - run crioctl pod run --name seccomp1 --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname --config "$TESTDIR"/seccomp1.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/seccomp1.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" chmod 777 . + run crictl exec --sync "$ctr_id" chmod 777 . echo "$output" [ "$status" -eq 0 ] @@ -131,11 +131,11 @@ function teardown() { start_crio "$TESTDIR"/seccomp_profile1.json sed -e 's/%VALUE%/wontwork/g' "$TESTDATA"/container_config_seccomp.json > "$TESTDIR"/seccomp1.json - run crioctl pod run --name seccomp1 --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname --config "$TESTDIR"/seccomp1.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/seccomp1.json "$TESTDATA"/sandbox_config.json echo "$output" [[ "$status" -ne 0 ]] [[ "$output" =~ "unknown seccomp profile option:" ]] @@ -161,18 +161,18 @@ function teardown() { sed -i 's/"fchmodat",//g' "$TESTDIR"/seccomp_profile1.json sed -e 's@%VALUE%@localhost/'"$TESTDIR"'/seccomp_profile1.json@g' "$TESTDATA"/container_config_seccomp.json > "$TESTDIR"/seccomp1.json - run crioctl pod run --name seccomp1 --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname --config "$TESTDIR"/seccomp1.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/seccomp1.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" chmod 777 . + run crictl exec --sync "$ctr_id" chmod 777 . [ "$status" -eq 0 ] [[ "$output" =~ "Exit code: 1" ]] [[ "$output" =~ "Operation not permitted" ]] @@ -198,18 +198,18 @@ function teardown() { start_crio "$TESTDIR"/seccomp_profile1.json sed -e 's/%VALUE%/docker\/default/g' "$TESTDATA"/container_config_seccomp.json > "$TESTDIR"/seccomp2.json - run crioctl pod run --name seccomp2 --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --name testname2 --config "$TESTDIR"/seccomp2.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/seccomp2.json "$TESTDIR"/seccomp_profile1.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" chmod 777 . + run crictl exec --sync "$ctr_id" chmod 777 . echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "Exit code: 1" ]] diff --git a/test/default_mounts.bats b/test/default_mounts.bats index 8e727085..711aa40c 100644 --- a/test/default_mounts.bats +++ b/test/default_mounts.bats @@ -10,17 +10,17 @@ function teardown() { @test "bind secrets mounts to container" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl image pull "$IMAGE" + run crictl pull "$IMAGE" [ "$status" -eq 0 ] - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr execsync --id "$ctr_id" cat /proc/mounts + run crictl exec --sync "$ctr_id" cat /proc/mounts echo "$output" [ "$status" -eq 0 ] mount_info="$output" @@ -34,32 +34,32 @@ function teardown() { @test "default mounts correctly sorted with other mounts" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl image pull "$IMAGE" + run crictl pull "$IMAGE" [ "$status" -eq 0 ] host_path="$TESTDIR"/clash mkdir "$host_path" echo "clashing..." > "$host_path"/clashing.txt sed -e "s,%HPATH%,$host_path,g" "$TESTDATA"/container_redis_default_mounts.json > "$TESTDIR"/defmounts_pre.json sed -e 's,%CPATH%,\/container\/path1\/clash,g' "$TESTDIR"/defmounts_pre.json > "$TESTDIR"/defmounts.json - run crioctl ctr create --config "$TESTDIR"/defmounts.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/defmounts.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr execsync --id "$ctr_id" ls -la /container/path1/clash + run crictl exec --sync "$ctr_id" ls -la /container/path1/clash echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" cat /container/path1/clash/clashing.txt + run crictl exec --sync "$ctr_id" cat /container/path1/clash/clashing.txt echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "clashing..." ]] - run crioctl ctr execsync --id "$ctr_id" ls -la /container/path1 + run crictl exec --sync "$ctr_id" ls -la /container/path1 echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" cat /container/path1/test.txt + run crictl exec --sync "$ctr_id" cat /container/path1/test.txt echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "Testing secrets mounts!" ]] diff --git a/test/helpers.bash b/test/helpers.bash index 21488e1f..14faf5a4 100644 --- a/test/helpers.bash +++ b/test/helpers.bash @@ -169,13 +169,6 @@ function crio() { "$CRIO_BINARY" --listen "$CRIO_SOCKET" "$@" } -# DEPRECATED -OCIC_BINARY=${OCIC_BINARY:-${CRIO_ROOT}/cri-o/bin/crioctl} -# Run crioctl using the binary specified by $OCIC_BINARY. -function crioctl() { - "$OCIC_BINARY" --connect "$CRIO_SOCKET" "$@" -} - # Run crictl using the binary specified by $CRICTL_BINARY. function crictl() { "$CRICTL_BINARY" -r "$CRIO_SOCKET" -i "$CRIO_SOCKET" "$@" @@ -444,7 +437,7 @@ EOF } function check_pod_cidr() { - run crioctl ctr execsync --id $1 ip addr show dev eth0 scope global 2>&1 + run crictl exec --sync $1 ip addr show dev eth0 scope global 2>&1 echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ $POD_CIDR_MASK ]] @@ -468,7 +461,7 @@ function get_host_ip() { } function ping_pod() { - inet=`crioctl ctr execsync --id $1 ip addr show dev eth0 scope global 2>&1 | grep inet` + inet=`crictl exec --sync $1 ip addr show dev eth0 scope global 2>&1 | grep inet` IFS=" " ip=`parse_pod_ip $inet` @@ -479,12 +472,12 @@ function ping_pod() { } function ping_pod_from_pod() { - inet=`crioctl ctr execsync --id $1 ip addr show dev eth0 scope global 2>&1 | grep inet` + inet=`crictl exec --sync $1 ip addr show dev eth0 scope global 2>&1 | grep inet` IFS=" " ip=`parse_pod_ip $inet` - run crioctl ctr execsync --id $2 ping -W 1 -c 2 $ip + run crictl exec --sync $2 ping -W 1 -c 2 $ip echo "$output" [ "$status" -eq 0 ] } diff --git a/test/hooks.bats b/test/hooks.bats index 92aa725f..2e1b7ae4 100644 --- a/test/hooks.bats +++ b/test/hooks.bats @@ -12,21 +12,21 @@ sed "s|HOOKSDIR|${HOOKSDIR}|" hooks/checkhook.json > ${HOOKSDIR}/checkhook.json @test "pod test hooks" { rm -f /run/hookscheck start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] run cat /run/hookscheck diff --git a/test/image.bats b/test/image.bats index e62674a7..65a047f6 100644 --- a/test/image.bats +++ b/test/image.bats @@ -12,12 +12,12 @@ function teardown() { @test "run container in pod with image ID" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" sed -e "s/%VALUE%/$REDIS_IMAGEID/g" "$TESTDATA"/container_config_by_imageid.json > "$TESTDIR"/ctr_by_imageid.json - run crioctl ctr create --config "$TESTDIR"/ctr_by_imageid.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/ctr_by_imageid.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -28,22 +28,22 @@ function teardown() { @test "container status return image:tag if created by image ID" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" sed -e "s/%VALUE%/$REDIS_IMAGEID/g" "$TESTDATA"/container_config_by_imageid.json > "$TESTDIR"/ctr_by_imageid.json - run crioctl ctr create --config "$TESTDIR"/ctr_by_imageid.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/ctr_by_imageid.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr status --id "$ctr_id" + run crictl inspect "$ctr_id" --output yaml echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "Image: redis:alpine" ]] + [[ "$output" =~ "image: redis:alpine" ]] cleanup_ctrs cleanup_pods @@ -55,22 +55,22 @@ function teardown() { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" sed -e "s/%VALUE%/$REDIS_IMAGEID_DIGESTED/g" "$TESTDATA"/container_config_by_imageid.json > "$TESTDIR"/ctr_by_imageid.json - run crioctl ctr create --config "$TESTDIR"/ctr_by_imageid.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/ctr_by_imageid.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr status --id "$ctr_id" + run crictl inspect "$ctr_id" --output yaml echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "ImageRef: redis@sha256:03789f402b2ecfb98184bf128d180f398f81c63364948ff1454583b02442f73b" ]] + [[ "$output" =~ "image_ref: redis@sha256:03789f402b2ecfb98184bf128d180f398f81c63364948ff1454583b02442f73b" ]] cleanup_ctrs cleanup_pods @@ -79,16 +79,20 @@ function teardown() { @test "image pull" { start_crio "" "" --no-pause-image - run crioctl image pull "$IMAGE" + run crictl pull "$IMAGE" echo "$output" [ "$status" -eq 0 ] + run crictl inspecti "$IMAGE" + echo "$output" + [ "$status" -eq 0 ] + [[ "$output" =~ "$IMAGE" ]] cleanup_images stop_crio } @test "image pull with signature" { start_crio "" "" --no-pause-image - run crioctl image pull "$SIGNED_IMAGE" + run crictl pull "$SIGNED_IMAGE" echo "$output" [ "$status" -eq 0 ] cleanup_images @@ -97,7 +101,7 @@ function teardown() { @test "image pull without signature" { start_crio "" "" --no-pause-image - run crioctl image pull "$UNSIGNED_IMAGE" + run crictl image pull "$UNSIGNED_IMAGE" echo "$output" [ "$status" -ne 0 ] cleanup_images @@ -106,26 +110,26 @@ function teardown() { @test "image pull and list by digest" { start_crio "" "" --no-pause-image - run crioctl image pull nginx@sha256:33eb1ed1e802d4f71e52421f56af028cdf12bb3bfff5affeaf5bf0e328ffa1bc + run crictl pull nginx@sha256:33eb1ed1e802d4f71e52421f56af028cdf12bb3bfff5affeaf5bf0e328ffa1bc echo "$output" [ "$status" -eq 0 ] - run crioctl image list --quiet nginx@sha256:33eb1ed1e802d4f71e52421f56af028cdf12bb3bfff5affeaf5bf0e328ffa1bc + run crictl images --quiet nginx@sha256:33eb1ed1e802d4f71e52421f56af028cdf12bb3bfff5affeaf5bf0e328ffa1bc [ "$status" -eq 0 ] echo "$output" [ "$output" != "" ] - run crioctl image list --quiet nginx@33eb1ed1e802d4f71e52421f56af028cdf12bb3bfff5affeaf5bf0e328ffa1bc + run crictl images --quiet nginx@33eb1ed1e802d4f71e52421f56af028cdf12bb3bfff5affeaf5bf0e328ffa1bc [ "$status" -eq 0 ] echo "$output" [ "$output" != "" ] - run crioctl image list --quiet @33eb1ed1e802d4f71e52421f56af028cdf12bb3bfff5affeaf5bf0e328ffa1bc + run crictl images --quiet @33eb1ed1e802d4f71e52421f56af028cdf12bb3bfff5affeaf5bf0e328ffa1bc [ "$status" -eq 0 ] echo "$output" [ "$output" != "" ] - run crioctl image list --quiet 33eb1ed1e802d4f71e52421f56af028cdf12bb3bfff5affeaf5bf0e328ffa1bc + run crictl images --quiet 33eb1ed1e802d4f71e52421f56af028cdf12bb3bfff5affeaf5bf0e328ffa1bc [ "$status" -eq 0 ] echo "$output" [ "$output" != "" ] @@ -136,18 +140,18 @@ function teardown() { @test "image list with filter" { start_crio "" "" --no-pause-image - run crioctl image pull "$IMAGE" + run crictl pull "$IMAGE" echo "$output" [ "$status" -eq 0 ] - run crioctl image list --quiet "$IMAGE" + run crictl images --quiet "$IMAGE" echo "$output" [ "$status" -eq 0 ] printf '%s\n' "$output" | while IFS= read -r id; do - run crioctl image remove --id "$id" + run crictl rmi "$id" echo "$output" [ "$status" -eq 0 ] done - run crioctl image list --quiet + run crictl images --quiet echo "$output" [ "$status" -eq 0 ] printf '%s\n' "$output" | while IFS= read -r id; do @@ -160,19 +164,19 @@ function teardown() { @test "image list/remove" { start_crio "" "" --no-pause-image - run crioctl image pull "$IMAGE" + run crictl pull "$IMAGE" echo "$output" [ "$status" -eq 0 ] - run crioctl image list --quiet + run crictl images --quiet echo "$output" [ "$status" -eq 0 ] [ "$output" != "" ] printf '%s\n' "$output" | while IFS= read -r id; do - run crioctl image remove --id "$id" + run crictl rmi "$id" echo "$output" [ "$status" -eq 0 ] done - run crioctl image list --quiet + run crictl images --quiet echo "$output" [ "$status" -eq 0 ] [ "$output" = "" ] @@ -186,23 +190,23 @@ function teardown() { @test "image status/remove" { start_crio "" "" --no-pause-image - run crioctl image pull "$IMAGE" + run crictl pull "$IMAGE" echo "$output" [ "$status" -eq 0 ] - run crioctl image list --quiet + run crictl images --quiet echo "$output" [ "$status" -eq 0 ] [ "$output" != "" ] printf '%s\n' "$output" | while IFS= read -r id; do - run crioctl image status --id "$id" + run crictl inspecti "$id" echo "$output" [ "$status" -eq 0 ] [ "$output" != "" ] - run crioctl image remove --id "$id" + run crictl rmi "$id" echo "$output" [ "$status" -eq 0 ] done - run crioctl image list --quiet + run crictl images --quiet echo "$output" [ "$status" -eq 0 ] [ "$output" = "" ] diff --git a/test/image_volume.bats b/test/image_volume.bats index ff05e9cd..1b2d967b 100644 --- a/test/image_volume.bats +++ b/test/image_volume.bats @@ -8,28 +8,28 @@ function teardown() { @test "image volume ignore" { IMAGE_VOLUMES=ignore start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" image_volume_config=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["image"]["image"] = "mrunalp/image-volume-test"; obj["command"] = ["/bin/sleep", "600"]; json.dump(obj, sys.stdout)') echo "$image_volume_config" > "$TESTDIR"/container_image_volume.json - run crioctl ctr create --config "$TESTDIR"/container_image_volume.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_image_volume.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" ls /imagevolume + run crictl exec --sync "$ctr_id" ls /imagevolume echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "Exit code: 1" ]] [[ "$output" =~ "ls: /imagevolume: No such file or directory" ]] - run crioctl pod stop --id "$pod_id" + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs @@ -39,27 +39,27 @@ function teardown() { @test "image volume bind" { IMAGE_VOLUMES=bind start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" image_volume_config=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["image"]["image"] = "mrunalp/image-volume-test"; obj["command"] = ["/bin/sleep", "600"]; json.dump(obj, sys.stdout)') echo "$image_volume_config" > "$TESTDIR"/container_image_volume.json - run crioctl ctr create --config "$TESTDIR"/container_image_volume.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDIR"/container_image_volume.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" touch /imagevolume/test_file + run crictl exec --sync "$ctr_id" touch /imagevolume/test_file echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "Exit code: 0" ]] - run crioctl pod stop --id "$pod_id" + + run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] - run crioctl pod remove --id "$pod_id" + run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs diff --git a/test/inspect.bats b/test/inspect.bats index c63a688e..bfbf82a0 100644 --- a/test/inspect.bats +++ b/test/inspect.bats @@ -12,22 +12,17 @@ function teardown() { echo "$out" [[ "$out" =~ "\"cgroup_driver\":\"$CGROUP_MANAGER\"" ]] [[ "$out" =~ "\"storage_root\":\"$TESTDIR/crio\"" ]] - run crioctl info - echo "$output" - [ "$status" -eq 0 ] - [[ "$output" =~ "\"cgroup_driver\": \"$CGROUP_MANAGER\"" ]] - [[ "$output" =~ "\"storage_root\": \"$TESTDIR/crio\"" ]] stop_crio } @test "ctr inspect" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_config.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" @@ -37,20 +32,22 @@ function teardown() { [[ "$out" =~ "\"sandbox\":\"$pod_id\"" ]] [[ "$out" =~ "\"image\":\"redis:alpine\"" ]] - run crioctl ctr inspect --id $ctr_id + run crictl inspect --output json "$ctr_id" echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "\"sandbox\": \"$pod_id\"" ]] + [[ "$output" =~ "\"id\": \"$ctr_id\"" ]] [[ "$output" =~ "\"image\": \"redis:alpine\"" ]] - inet=`crioctl ctr execsync --id $ctr_id ip addr show dev eth0 scope global 2>&1 | grep inet` + run crictl inspects --output json "$pod_id" + echo "$output" + [ "$status" -eq 0 ] + + inet=`crictl exec --sync "$ctr_id" ip addr show dev eth0 scope global 2>&1 | grep inet` IFS=" " ip=`parse_pod_ip $inet` [[ "$out" =~ "\"ip_address\":\"$ip\"" ]] - [[ "$out" =~ "\"name\":\"k8s_container1_podsandbox1_redhat.test.crio_redhat-test-crio_1\"" ]] - [[ "$output" =~ "\"ip_address\": \"$ip\"" ]] - [[ "$output" =~ "\"name\": \"k8s_container1_podsandbox1_redhat.test.crio_redhat-test-crio_1\"" ]] + [[ "$output" =~ "\"ip\": \"$ip\"" ]] # TODO: add some other check based on the json below: diff --git a/test/network.bats b/test/network.bats index 4d40fffa..1ed95ce1 100644 --- a/test/network.bats +++ b/test/network.bats @@ -13,57 +13,57 @@ function teardown() { @test "ensure correct hostname" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" sh -c "hostname" + run crictl exec --sync "$ctr_id" sh -c "hostname" echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "crioctl_host" ]] - run crioctl ctr execsync --id "$ctr_id" sh -c "echo \$HOSTNAME" + [[ "$output" =~ "crictl_host" ]] + run crictl exec --sync "$ctr_id" sh -c "echo \$HOSTNAME" echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "crioctl_host" ]] - run crioctl ctr execsync --id "$ctr_id" sh -c "cat /etc/hostname" + [[ "$output" =~ "crictl_host" ]] + run crictl exec --sync "$ctr_id" sh -c "cat /etc/hostname" echo "$output" [ "$status" -eq 0 ] - [[ "$output" =~ "crioctl_host" ]] + [[ "$output" =~ "crictl_host" ]] } @test "ensure correct hostname for hostnetwork:true" { start_crio hostnetworkconfig=$(cat "$TESTDATA"/sandbox_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["linux"]["security_context"]["namespace_options"]["host_network"] = True; obj["annotations"] = {}; obj["hostname"] = ""; json.dump(obj, sys.stdout)') echo "$hostnetworkconfig" > "$TESTDIR"/sandbox_hostnetwork_config.json - run crioctl pod run --config "$TESTDIR"/sandbox_hostnetwork_config.json + run crictl runs "$TESTDIR"/sandbox_hostnetwork_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDIR"/sandbox_hostnetwork_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] - run crioctl ctr execsync --id "$ctr_id" sh -c "hostname" + run crictl exec --sync "$ctr_id" sh -c "hostname" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "$HOSTNAME" ]] - run crioctl ctr execsync --id "$ctr_id" sh -c "echo \$HOSTNAME" + run crictl exec --sync "$ctr_id" sh -c "echo \$HOSTNAME" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "$HOSTNAME" ]] - run crioctl ctr execsync --id "$ctr_id" sh -c "cat /etc/hostname" + run crictl exec --sync "$ctr_id" sh -c "cat /etc/hostname" echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "$HOSTNAME" ]] @@ -71,27 +71,28 @@ function teardown() { @test "Check for valid pod netns CIDR" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" check_pod_cidr $ctr_id + } @test "Ping pod from the host" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" @@ -101,22 +102,22 @@ function teardown() { @test "Ping pod from another pod" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod1_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod1_id" + run crictl create "$pod1_id" "$TESTDATA"/container_redis.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr1_id="$output" temp_sandbox_conf cni_test - run crioctl pod run --config "$TESTDIR"/sandbox_config_cni_test.json + run crictl runs "$TESTDIR"/sandbox_config_cni_test.json echo "$output" [ "$status" -eq 0 ] pod2_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_redis.json --pod "$pod2_id" + run crictl create "$pod2_id" "$TESTDATA"/container_redis.json "$TESTDIR"/sandbox_config_cni_test.json echo "$output" [ "$status" -eq 0 ] ctr2_id="$output" @@ -131,7 +132,7 @@ function teardown() { skip "bridge-custom plugin not available" fi start_crio "" "" "" "prepare_plugin_test_args_network_conf" - run crioctl pod run --config "$TESTDATA"/sandbox_config.json + run crictl runs "$TESTDATA"/sandbox_config.json [ "$status" -eq 0 ] . /tmp/plugin_test_args.out @@ -146,7 +147,7 @@ function teardown() { @test "Connect to pod hostport from the host" { start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config_hostport.json + run crictl runs "$TESTDATA"/sandbox_config_hostport.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" @@ -154,18 +155,18 @@ function teardown() { get_host_ip echo $host_ip - run crioctl ctr create --config "$TESTDATA"/container_config_hostport.json --pod "$pod_id" + run crictl create "$pod_id" "$TESTDATA"/container_config_hostport.json "$TESTDATA"/sandbox_config_hostport.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] run nc -w 5 $host_ip 4888