92 lines
1.4 KiB
Bash
92 lines
1.4 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
set -exo pipefail
|
||
|
|
||
|
TEMPDIR=$(mktemp -d)
|
||
|
TESTIMG="quay.io/libpod/busybox"
|
||
|
CNAME="mycont-$RANDOM"
|
||
|
|
||
|
cat /etc/redhat-release
|
||
|
uname -r
|
||
|
rpm -q crun criu
|
||
|
|
||
|
crun --version
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun features
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun list
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
# create the top most bundle and rootfs directory
|
||
|
mkdir -p $TEMPDIR/rootfs
|
||
|
|
||
|
# export busybox via podman into the rootfs directory
|
||
|
podman export $(podman create $TESTIMG) | tar -C $TEMPDIR/rootfs -xvf -
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
# use existing spec
|
||
|
cp ./config.json $TEMPDIR
|
||
|
ls $TEMPDIR
|
||
|
cd $TEMPDIR
|
||
|
|
||
|
crun create $CNAME
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun list
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun start $CNAME
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun list
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun state $CNAME
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun ps $CNAME
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
ret=$(crun exec $CNAME pwd)
|
||
|
[ $? -ne 0 ] || [ $ret != '/' ] && exit 1
|
||
|
|
||
|
crun pause $CNAME
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun state $CNAME
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun resume $CNAME
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun state $CNAME
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
ret=$(crun exec $CNAME pwd)
|
||
|
[ $? -ne 0 ] || [ $ret != '/' ] && exit 1
|
||
|
|
||
|
crun delete --force $CNAME
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun list
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun run $CNAME &
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
crun list
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
# make sure the container is running state
|
||
|
sleep 2
|
||
|
|
||
|
ret=$(crun exec $CNAME echo 'ok')
|
||
|
[ $? -ne 0 ] || [ $ret != 'ok' ] && exit 1
|
||
|
|
||
|
crun kill $CNAME
|
||
|
[ $? -ne 0 ] && exit 1
|
||
|
|
||
|
exit 0
|