[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] automation: qemu-smoke-arm64: Run ping test over a pv network interface
commit 89805b35ce6a0cf402563ebe2f09b03f27152474 Author: Xenia Ragiadakou <burzalodowa@xxxxxxxxx> AuthorDate: Mon Aug 8 21:39:52 2022 +0300 Commit: Stefano Stabellini <stefano.stabellini@xxxxxxx> CommitDate: Mon Aug 8 15:34:12 2022 -0700 automation: qemu-smoke-arm64: Run ping test over a pv network interface 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> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- automation/gitlab-ci/test.yaml | 6 +++-- automation/scripts/qemu-smoke-arm64.sh | 44 ++++++++++++++++++++++++++++++---- 2 files changed, 43 insertions(+), 7 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 497dbee15f..c80d9b2aee 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,14 +111,13 @@ 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 DOMU_KERNEL[0]="Image" DOMU_RAMDISK[0]="initrd" DOMU_MEM[0]="256" -DOMU_ENHANCED[0]=0 LOAD_CMD="tftpb" UBOOT_SOURCE="boot.source" @@ -114,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" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1 exit 0 -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |