Skip to content

Commit

Permalink
integration-test: more improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
robertgzr committed Oct 14, 2019
1 parent c7bfdfe commit 243b748
Showing 1 changed file with 19 additions and 28 deletions.
47 changes: 19 additions & 28 deletions cmd/a2o-migrate/test/integration.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#!/bin/sh

RT=${RT:-docker}
RT=${RT:-balena-engine}
CONTAINERIZED=${CONTAINERIZED:-}
PROJECT="$(dirname $(readlink -f $0))/.."
IMAGE=${IMAGE:-balena/balena-engine:beind}

test_out_dir=$(mktemp -u --tmpdir -d a2o-migrate_test.XXXX)
balena_container_flags="--rm --detach --name balena --privileged -v varlibbalena:/var/lib/balena-engine -v ${PROJECT}:/src:ro -w /src"
container_name="balena_a2o_integration_test"
balena_container_flags="--rm --detach --name ${container_name} --privileged -v varlibbalena:/var/lib/balena-engine -v ${PROJECT}:/src:ro -w /src"

set -ex

Expand All @@ -18,56 +18,47 @@ set -ex
# ls -lR /var/lib/balena-engine/

./a2o-migrate -version

./a2o-migrate -debug -migrate

cat /lib/systemd/system/balena.service | grep overlay2
cat /etc/systemd/system/balena.service.d/balena.conf | grep overlay2

# ls -lR /var/lib/balena-engine/

exit 0
}

test_out_dir=$(mktemp -d /tmp/a2o-migrate_test_XXXX)
trap "{ rm -rf ${test_out_dir}; }" EXIT

# start balenaEngine with aufs
$RT run $balena_container_flags $IMAGE --debug --storage-driver=aufs
trap "{ ${RT} stop -t 3 ${container_name}; ${RT} volume rm -f varlibbalena; }" EXIT

sleep 1
$RT exec balena balena-engine info || exit 1
$RT exec ${container_name} balena-engine info || exit 1

$RT exec -i balena balena-engine build -t a2o-test - <<EOF
$RT exec -i ${container_name} balena-engine build -t a2o-test - <<EOF
FROM busybox
RUN mkdir /tmp/d1 && touch /tmp/d1/d1f1 && touch /tmp/f1 && touch /tmp/f2
RUN rm -R /tmp/d1 && mkdir /tmp/d1 && touch /tmp/d1/d1f2 && rm /tmp/f1
RUN ln -s /tmp/d1/d1f2 /tmp/flnk
EOF

$RT exec balena balena-engine run --name a2o-test-container a2o-test ls -lR /tmp > ${test_out_dir}/stdout_before

# copy systemd files into container
$RT exec balena ash -c 'mkdir -p /lib/systemd/system ; mkdir -p /etc/systemd/system'
$RT cp $PROJECT/test/systemd/balena.service balena:/lib/systemd/system/balena.service
$RT cp $PROJECT/test/systemd/balena.service.d balena:/etc/systemd/system/balena.service.d
$RT exec ${container_name} balena-engine run --name a2o-test-container a2o-test ls -lR /tmp > ${test_out_dir}/stdout_before

# run migration
$RT exec -it -e CONTAINERIZED=1 balena /src/test/$(basename $0)
$RT exec -e CONTAINERIZED=1 ${container_name} /src/test/$(basename $0)

# check if we can still run from the aufs image
$RT exec balena balena-engine run --rm a2o-test ls -lR /tmp
# stop aufs daemon
$RT stop -t 3 balena
$RT stop -t 3 ${container_name}

# start balenaEngine with overlay2
$RT run $balena_container_flags $IMAGE --debug --storage-driver=overlay2
sleep 1
$RT inspect balena &>/dev/null || exit 1
$RT inspect ${container_name} &>/dev/null || exit 1

# check if we still are able to create a container from the a2o-test image
$RT exec balena balena-engine run --rm a2o-test ls -lR /tmp > ${test_out_dir}/stdout_after
$RT exec ${container_name} balena-engine run --rm a2o-test ls -lR /tmp > ${test_out_dir}/stdout_after
# check if rewriting the container storage drivers worked
$RT exec balena balena-engine start a2o-test-container

# check if ls -lR /tmp returned the same in the aufs and overlay2 containers
diff -q ${test_out_dir}/stdout_before ${test_out_dir}/stdout_after || exit 1
$RT exec ${container_name} balena-engine start a2o-test-container

# cleanup
$RT stop -t 3 balena
$RT volume rm -f varlibbalena
# check ls -lR /tmp output
diff ${test_out_dir}/stdout_before ${test_out_dir}/stdout_after

0 comments on commit 243b748

Please sign in to comment.