|
[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 |