[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/2] automation: qemu-smoke-arm64: Run ping test over a pv network interface
On Sat, 6 Aug 2022, Xenia Ragiadakou wrote: > This patch modified the test in the following way > - Dom0 is booted with an alpine linux rootfs with the xen tools. > - Once Dom0 is booted, it starts xenstored, calls init-dom0less to setup > the xenstore interface for the dom0less Dom1, setups the bridged network > and attaches a pv network interface to Dom1. > - In the meantime, Dom1 in its init script tries to assign an ip to eth0 > and ping Dom0, > - If Dom1 manages to ping Dom0, it prints 'passed'. > > Signed-off-by: Xenia Ragiadakou <burzalodowa@xxxxxxxxx> > --- > automation/gitlab-ci/test.yaml | 6 ++-- > automation/scripts/qemu-smoke-arm64.sh | 43 +++++++++++++++++++++++--- > 2 files changed, 43 insertions(+), 6 deletions(-) > > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml > index aa633fb655..2eb6c3866e 100644 > --- a/automation/gitlab-ci/test.yaml > +++ b/automation/gitlab-ci/test.yaml > @@ -69,7 +69,8 @@ qemu-smoke-arm64-gcc: > script: > - ./automation/scripts/qemu-smoke-arm64.sh 2>&1 | tee > qemu-smoke-arm64.log > needs: > - - debian-unstable-gcc-arm64 > + - alpine-3.12-gcc-arm64 > + - alpine-3.12-arm64-rootfs-export > - kernel-5.19-arm64-export > - qemu-system-aarch64-6.0.0-arm64-export > artifacts: > @@ -87,7 +88,8 @@ qemu-smoke-arm64-gcc-staticmem: > script: > - ./automation/scripts/qemu-smoke-arm64.sh static-mem 2>&1 | tee > qemu-smoke-arm64.log > needs: > - - debian-unstable-gcc-arm64 > + - alpine-3.12-gcc-arm64 > + - alpine-3.12-arm64-rootfs-export > - kernel-5.19-arm64-export > - qemu-system-aarch64-6.0.0-arm64-export > artifacts: > diff --git a/automation/scripts/qemu-smoke-arm64.sh > b/automation/scripts/qemu-smoke-arm64.sh > index b48a20988f..0d19ad52cc 100755 > --- a/automation/scripts/qemu-smoke-arm64.sh > +++ b/automation/scripts/qemu-smoke-arm64.sh > @@ -4,8 +4,13 @@ set -ex > > test_variant=$1 > > -passed="BusyBox" > -check="" > +passed="passed" > +check=" > +until ifconfig eth0 192.168.0.2 && ping -c 10 192.168.0.1; do > + sleep 30 > +done > +echo \"${passed}\" > +" > > if [[ "${test_variant}" == "static-mem" ]]; then > # Memory range that is statically allocated to DOM1 > @@ -68,6 +73,36 @@ cd initrd > find . | cpio --create --format='newc' | gzip > ../binaries/initrd > cd .. > > +# DOM0 rootfs > +mkdir -p rootfs > +cd rootfs > +tar xzf ../binaries/initrd.tar.gz > +mkdir proc > +mkdir run > +mkdir srv > +mkdir sys > +rm var/run > +cp -ar ../binaries/dist/install/* . > + > +echo "#!/bin/bash > + > +export LD_LIBRARY_PATH=/usr/local/lib > +bash /etc/init.d/xencommons start > + > +/usr/local/lib/xen/bin/init-dom0less > + > +brctl addbr xenbr0 > +brctl addif xenbr0 eth0 > +ifconfig eth0 up > +ifconfig xenbr0 up > +ifconfig xenbr0 192.168.0.1 > + > +xl network-attach 1 type=vif > +" > etc/local.d/xen.start > +chmod +x etc/local.d/xen.start > +echo "rc_verbose=yes" >> etc/rc.conf > +find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz > +cd .. > > # ImageBuilder > echo 'MEMORY_START="0x40000000" > @@ -76,7 +111,7 @@ MEMORY_END="0x80000000" > DEVICE_TREE="virt-gicv2.dtb" > XEN="xen" > DOM0_KERNEL="Image" > -DOM0_RAMDISK="initrd" > +DOM0_RAMDISK="dom0-rootfs.cpio.gz" > XEN_CMD="console=dtuart dom0_mem=512M" > > NUM_DOMUS=1 > @@ -113,5 +148,5 @@ timeout -k 1 240 \ > -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial > > set -e > -(grep -q "^BusyBox" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) > || exit 1 > +(grep -q "^Welcome to Alpine Linux 3.12" smoke.serial && grep -q "DOM1: > ${passed}" smoke.serial) || exit 1 > exit 0 This patch looks great! One minor comment: Should we great only for "^Welcome to Alpine Linux" without the version (3.12) to make it easier to upgrade in the future? If you are OK with it, I can remove "3.12" on commit.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |