From d2ab53aa5f67cb65a75f2c36fb076c0debd961ca Mon Sep 17 00:00:00 2001 From: umohnani8 Date: Thu, 14 Dec 2017 12:49:22 -0500 Subject: Add support for dir transport to kpod save kpod save can now save images to directories using the dir transport. Manifest conversion is also possible. To save with the oci manifest type set --format to oci-dir and to save with the v2s2(docker) manifest type, set --format to docker-dir. The layers can be compressed as well when saving to a directory using the --compress flag. Added functionality to kpod load to be able to load image from a directory Signed-off-by: umohnani8 Closes: #137 Approved by: rhatdan --- test/kpod_load.bats | 31 +++++++++++++++++++++++-------- test/kpod_save.bats | 14 ++++++++++++++ 2 files changed, 37 insertions(+), 8 deletions(-) (limited to 'test') diff --git a/test/kpod_load.bats b/test/kpod_load.bats index 7404cb76c..abbe8ee5d 100644 --- a/test/kpod_load.bats +++ b/test/kpod_load.bats @@ -10,10 +10,10 @@ function teardown() { cleanup_test } @test "kpod load input flag" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $IMAGE + run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $ALPINE echo "$output" [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $IMAGE + run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $ALPINE echo "$output" [ "$status" -eq 0 ] run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} load -i alpine.tar @@ -23,9 +23,9 @@ function teardown() { } @test "kpod load oci-archive image" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar --format oci-archive $IMAGE + run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar --format oci-archive $ALPINE [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $ALPINE [ "$status" -eq 0 ] run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} load -i alpine.tar echo "$output" @@ -34,9 +34,9 @@ function teardown() { } @test "kpod load oci-archive image with signature-policy" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar --format oci-archive $IMAGE + run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar --format oci-archive $ALPINE [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $ALPINE [ "$status" -eq 0 ] cp /etc/containers/policy.json /tmp run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} load --signature-policy /tmp/policy.json -i alpine.tar @@ -47,10 +47,10 @@ function teardown() { } @test "kpod load using quiet flag" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $IMAGE + run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $ALPINE echo "$output" [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $IMAGE + run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $ALPINE echo "$output" [ "$status" -eq 0 ] run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} load -q -i alpine.tar @@ -59,6 +59,21 @@ function teardown() { rm -f alpine.tar } +@test "kpod load directory" { + run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save --format oci-dir -o alp-dir $ALPINE + echo "$output" + [ "$status" -eq 0 ] + run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $ALPINE + echo "$output" + [ "$status" -eq 0 ] + run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} load -i alp-dir + echo "$output" + [ "$status" -eq 0 ] + run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi alp-dir + echo "$output" + [ "$status" -eq 0 ] +} + @test "kpod load non-existent file" { run ${KPOD_BINARY} ${KPOD_OPTIONS} load -i alpine.tar echo "$output" diff --git a/test/kpod_save.bats b/test/kpod_save.bats index 6da3279a2..56f23db91 100644 --- a/test/kpod_save.bats +++ b/test/kpod_save.bats @@ -42,3 +42,17 @@ function setup() { echo "$output" [ "$status" -ne 0 ] } + +@test "kpod save to directory wit oci format" { + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} save --format oci-dir -o alp-dir $ALPINE" + echo "$output" + [ "$status" -eq 0 ] + rm -rf alp-dir +} + +@test "kpod save to directory wit v2s2 (docker) format" { + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} save --format docker-dir -o alp-dir $ALPINE" + echo "$output" + [ "$status" -eq 0 ] + rm -rf alp-dir +} -- cgit v1.2.3-54-g00ecf