[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] automation: Rename qemu-smoke-arm64.sh to qemu-smoke-dom0less-arm64.sh
commit 50f8e191e6092e4f1716ac5c3dc3b1fa211419c0 Author: Michal Orzel <michal.orzel@xxxxxxx> AuthorDate: Tue Sep 27 11:47:25 2022 +0200 Commit: Stefano Stabellini <stefano.stabellini@xxxxxxx> CommitDate: Thu Dec 1 17:02:46 2022 -0800 automation: Rename qemu-smoke-arm64.sh to qemu-smoke-dom0less-arm64.sh Testing arm64 is done using the qemu-alpine-arm64.sh and qemu-smoke-arm64.sh scripts. These scripts are executed with exactly the same artifacts (container, rootfs, kernel, qemu) and the only difference is that the former is used to perform dom0 based testing and the latter - dom0less based testing. Because the current naming is quite ambiguous, rename qemu-smoke-arm64.sh script to qemu-smoke-dom0less-arm64.sh to reflect its usage. qemu-alpine-arm64.sh will be renamed in the follow-up patch. Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx> Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- automation/gitlab-ci/test.yaml | 24 ++-- automation/scripts/qemu-smoke-arm64.sh | 170 ------------------------ automation/scripts/qemu-smoke-dom0less-arm64.sh | 170 ++++++++++++++++++++++++ 3 files changed, 182 insertions(+), 182 deletions(-) diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index 1b51030c61..f620622671 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -81,12 +81,12 @@ qemu-alpine-x86_64-gcc: tags: - x86_64 -qemu-smoke-arm64-gcc: +qemu-smoke-dom0less-arm64-gcc: extends: .test-jobs-common variables: CONTAINER: debian:unstable-arm64v8 script: - - ./automation/scripts/qemu-smoke-arm64.sh 2>&1 | tee qemu-smoke-arm64.log + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee qemu-smoke-arm64.log needs: - alpine-3.12-gcc-arm64 - alpine-3.12-arm64-rootfs-export @@ -100,12 +100,12 @@ qemu-smoke-arm64-gcc: tags: - arm64 -qemu-smoke-arm64-gcc-debug: +qemu-smoke-dom0less-arm64-gcc-debug: extends: .test-jobs-common variables: CONTAINER: debian:unstable-arm64v8 script: - - ./automation/scripts/qemu-smoke-arm64.sh 2>&1 | tee qemu-smoke-arm64.log + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee qemu-smoke-arm64.log needs: - alpine-3.12-gcc-debug-arm64 - alpine-3.12-arm64-rootfs-export @@ -119,12 +119,12 @@ qemu-smoke-arm64-gcc-debug: tags: - arm64 -qemu-smoke-arm64-gcc-staticmem: +qemu-smoke-dom0less-arm64-gcc-staticmem: extends: .test-jobs-common variables: CONTAINER: debian:unstable-arm64v8 script: - - ./automation/scripts/qemu-smoke-arm64.sh static-mem 2>&1 | tee qemu-smoke-arm64.log + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee qemu-smoke-arm64.log needs: - alpine-3.12-gcc-arm64-staticmem - alpine-3.12-arm64-rootfs-export @@ -138,12 +138,12 @@ qemu-smoke-arm64-gcc-staticmem: tags: - arm64 -qemu-smoke-arm64-gcc-debug-staticmem: +qemu-smoke-dom0less-arm64-gcc-debug-staticmem: extends: .test-jobs-common variables: CONTAINER: debian:unstable-arm64v8 script: - - ./automation/scripts/qemu-smoke-arm64.sh static-mem 2>&1 | tee qemu-smoke-arm64.log + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee qemu-smoke-arm64.log needs: - alpine-3.12-gcc-debug-arm64-staticmem - alpine-3.12-arm64-rootfs-export @@ -157,12 +157,12 @@ qemu-smoke-arm64-gcc-debug-staticmem: tags: - arm64 -qemu-smoke-arm64-gcc-boot-cpupools: +qemu-smoke-dom0less-arm64-gcc-boot-cpupools: extends: .test-jobs-common variables: CONTAINER: debian:unstable-arm64v8 script: - - ./automation/scripts/qemu-smoke-arm64.sh boot-cpupools 2>&1 | tee qemu-smoke-arm64.log + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | tee qemu-smoke-arm64.log needs: - alpine-3.12-gcc-arm64-boot-cpupools - alpine-3.12-arm64-rootfs-export @@ -176,12 +176,12 @@ qemu-smoke-arm64-gcc-boot-cpupools: tags: - arm64 -qemu-smoke-arm64-gcc-debug-boot-cpupools: +qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools: extends: .test-jobs-common variables: CONTAINER: debian:unstable-arm64v8 script: - - ./automation/scripts/qemu-smoke-arm64.sh boot-cpupools 2>&1 | tee qemu-smoke-arm64.log + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | tee qemu-smoke-arm64.log needs: - alpine-3.12-gcc-debug-arm64-boot-cpupools - alpine-3.12-arm64-rootfs-export diff --git a/automation/scripts/qemu-smoke-arm64.sh b/automation/scripts/qemu-smoke-arm64.sh deleted file mode 100755 index 933209e2e0..0000000000 --- a/automation/scripts/qemu-smoke-arm64.sh +++ /dev/null @@ -1,170 +0,0 @@ -#!/bin/bash - -set -ex - -test_variant=$1 - -if [ -z "${test_variant}" ]; then - passed="ping test passed" - domU_check=" -until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1; do - sleep 30 -done -echo \"${passed}\" -" -fi - -if [[ "${test_variant}" == "static-mem" ]]; then - # Memory range that is statically allocated to DOM1 - domu_base="50000000" - domu_size="10000000" - passed="${test_variant} test passed" - domU_check=" -current=\$(hexdump -e '16/1 \"%02x\"' /proc/device-tree/memory@${domu_base}/reg 2>/dev/null) -expected=$(printf \"%016x%016x\" 0x${domu_base} 0x${domu_size}) -if [[ \"\${expected}\" == \"\${current}\" ]]; then - echo \"${passed}\" -fi -" -fi - -if [[ "${test_variant}" == "boot-cpupools" ]]; then - # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler - passed="${test_variant} test passed" - dom0_check=" -if xl list -c 1 | grep -q Pool-1 && xl cpupool-list Pool-1 | grep -q Pool-1; then - echo ${passed} -fi -" -fi - -export DEBIAN_FRONTEND=noninteractive -apt-get -qy update -apt-get -qy install --no-install-recommends u-boot-qemu \ - u-boot-tools \ - device-tree-compiler \ - busybox-static \ - cpio \ - curl - -# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded -curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom -./binaries/qemu-system-aarch64 \ - -machine virtualization=true \ - -cpu cortex-a57 -machine type=virt \ - -m 2048 -smp 2 -display none \ - -machine dumpdtb=binaries/virt-gicv2.dtb - -# XXX disable pl061 to avoid Linux crash -fdtput binaries/virt-gicv2.dtb -p -t s /pl061@9030000 status disabled - -# Busybox -mkdir -p initrd -mkdir -p initrd/bin -mkdir -p initrd/sbin -mkdir -p initrd/etc -mkdir -p initrd/dev -mkdir -p initrd/proc -mkdir -p initrd/sys -mkdir -p initrd/lib -mkdir -p initrd/var -mkdir -p initrd/mnt -cp /bin/busybox initrd/bin/busybox -initrd/bin/busybox --install initrd/bin -echo "#!/bin/sh - -mount -t proc proc /proc -mount -t sysfs sysfs /sys -mount -t devtmpfs devtmpfs /dev -${domU_check} -/bin/sh" > initrd/init -chmod +x initrd/init -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 -${dom0_check} -" > 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" -MEMORY_END="0xC0000000" - -DEVICE_TREE="virt-gicv2.dtb" -XEN="xen" -DOM0_KERNEL="Image" -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" - -LOAD_CMD="tftpb" -UBOOT_SOURCE="boot.source" -UBOOT_SCRIPT="boot.scr"' > binaries/config - -if [[ "${test_variant}" == "static-mem" ]]; then - echo -e "\nDOMU_STATIC_MEM[0]=\"0x${domu_base} 0x${domu_size}\"" >> binaries/config -fi - -if [[ "${test_variant}" == "boot-cpupools" ]]; then - echo ' -CPUPOOL[0]="cpu@1 null" -DOMU_CPUPOOL[0]=0 -NUM_CPUPOOLS=1' >> binaries/config -fi - -rm -rf imagebuilder -git clone https://gitlab.com/ViryaOS/imagebuilder -bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/config - - -# Run the test -rm -f smoke.serial -set +e -echo " virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \ -timeout -k 1 240 \ -./binaries/qemu-system-aarch64 \ - -machine virtualization=true \ - -cpu cortex-a57 -machine type=virt \ - -m 2048 -monitor none -serial stdio \ - -smp 2 \ - -no-reboot \ - -device virtio-net-pci,netdev=n0 \ - -netdev user,id=n0,tftp=binaries \ - -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial - -set -e -(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1 -exit 0 diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh new file mode 100755 index 0000000000..933209e2e0 --- /dev/null +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh @@ -0,0 +1,170 @@ +#!/bin/bash + +set -ex + +test_variant=$1 + +if [ -z "${test_variant}" ]; then + passed="ping test passed" + domU_check=" +until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1; do + sleep 30 +done +echo \"${passed}\" +" +fi + +if [[ "${test_variant}" == "static-mem" ]]; then + # Memory range that is statically allocated to DOM1 + domu_base="50000000" + domu_size="10000000" + passed="${test_variant} test passed" + domU_check=" +current=\$(hexdump -e '16/1 \"%02x\"' /proc/device-tree/memory@${domu_base}/reg 2>/dev/null) +expected=$(printf \"%016x%016x\" 0x${domu_base} 0x${domu_size}) +if [[ \"\${expected}\" == \"\${current}\" ]]; then + echo \"${passed}\" +fi +" +fi + +if [[ "${test_variant}" == "boot-cpupools" ]]; then + # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler + passed="${test_variant} test passed" + dom0_check=" +if xl list -c 1 | grep -q Pool-1 && xl cpupool-list Pool-1 | grep -q Pool-1; then + echo ${passed} +fi +" +fi + +export DEBIAN_FRONTEND=noninteractive +apt-get -qy update +apt-get -qy install --no-install-recommends u-boot-qemu \ + u-boot-tools \ + device-tree-compiler \ + busybox-static \ + cpio \ + curl + +# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded +curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom +./binaries/qemu-system-aarch64 \ + -machine virtualization=true \ + -cpu cortex-a57 -machine type=virt \ + -m 2048 -smp 2 -display none \ + -machine dumpdtb=binaries/virt-gicv2.dtb + +# XXX disable pl061 to avoid Linux crash +fdtput binaries/virt-gicv2.dtb -p -t s /pl061@9030000 status disabled + +# Busybox +mkdir -p initrd +mkdir -p initrd/bin +mkdir -p initrd/sbin +mkdir -p initrd/etc +mkdir -p initrd/dev +mkdir -p initrd/proc +mkdir -p initrd/sys +mkdir -p initrd/lib +mkdir -p initrd/var +mkdir -p initrd/mnt +cp /bin/busybox initrd/bin/busybox +initrd/bin/busybox --install initrd/bin +echo "#!/bin/sh + +mount -t proc proc /proc +mount -t sysfs sysfs /sys +mount -t devtmpfs devtmpfs /dev +${domU_check} +/bin/sh" > initrd/init +chmod +x initrd/init +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 +${dom0_check} +" > 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" +MEMORY_END="0xC0000000" + +DEVICE_TREE="virt-gicv2.dtb" +XEN="xen" +DOM0_KERNEL="Image" +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" + +LOAD_CMD="tftpb" +UBOOT_SOURCE="boot.source" +UBOOT_SCRIPT="boot.scr"' > binaries/config + +if [[ "${test_variant}" == "static-mem" ]]; then + echo -e "\nDOMU_STATIC_MEM[0]=\"0x${domu_base} 0x${domu_size}\"" >> binaries/config +fi + +if [[ "${test_variant}" == "boot-cpupools" ]]; then + echo ' +CPUPOOL[0]="cpu@1 null" +DOMU_CPUPOOL[0]=0 +NUM_CPUPOOLS=1' >> binaries/config +fi + +rm -rf imagebuilder +git clone https://gitlab.com/ViryaOS/imagebuilder +bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/config + + +# Run the test +rm -f smoke.serial +set +e +echo " virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \ +timeout -k 1 240 \ +./binaries/qemu-system-aarch64 \ + -machine virtualization=true \ + -cpu cortex-a57 -machine type=virt \ + -m 2048 -monitor none -serial stdio \ + -smp 2 \ + -no-reboot \ + -device virtio-net-pci,netdev=n0 \ + -netdev user,id=n0,tftp=binaries \ + -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial + +set -e +(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1 +exit 0 -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |