On 10/03/2025 22:36, Peter Xu wrote: > On Mon, Mar 10, 2025 at 08:33:14AM +0000, Zhijian Li (Fujitsu) wrote: >> Hi Stefan, >> >> Copied to gitlab CI, >> >> On 08/03/2025 16:42, Stefan Hajnoczi wrote: >>> On Sat, Mar 8, 2025 at 2:01 PM Philippe Mathieu-Daudé <phi...@linaro.org> >>> wrote: >>>> >>>> Hi, >>>> >>>> On 7/3/25 19:15, Fabiano Rosas wrote: >>>>> From: Li Zhijian <lizhij...@fujitsu.com> >>>>> >>>>> This qtest requires there is a RDMA(RoCE) link in the host. >>>>> In order to make the test work smoothly, introduce a >>>>> scripts/rdma-migration-helper.sh to >>>>> - setup a new Soft-RoCE(aka RXE) if it's root >>>>> - detect existing RoCE link >>>>> >>>>> Test will be skipped if there is no available RoCE link. >>>> >>>> Is it? Runing as user I'm getting: >>>> >>>> RDMA ERROR: RDMA host is not set! >>> >>> The CI is failing too: >>> https://gitlab.com/qemu-project/qemu/-/jobs/9350004599#L5590 >> >> Thanks for this info, unfortunately, there is no 'testlog.txt' in this >> gitlab-ci. > > It has it. Try look for "Job artifacts", then there're "Download" or > "Browse" for testlog.txt. But there isn't much info.
Thanks for this information. > > # Start of rdma tests > # Running /aarch64/migration/precopy/rdma/plain > # Using machine type: virt-10.0 > # starting QEMU: exec ./qemu-system-aarch64 -qtest > unix:/tmp/qtest-1127030.sock -qtest-log /dev/null -chardev > socket,path=/tmp/qtest-1127030.qmp,id=char0 -mon chardev=char0,mode=control > -display none -audio none -accel kvm -accel tcg -machine > virt-10.0,gic-version=3 -name source,debug-threads=on -m 150M -serial > file:/tmp/migration-test-R1OX22/src_serial -cpu max -kernel > /tmp/migration-test-R1OX22/bootsect -accel qtest > # starting QEMU: exec ./qemu-system-aarch64 -qtest > unix:/tmp/qtest-1127030.sock -qtest-log /dev/null -chardev > socket,path=/tmp/qtest-1127030.qmp,id=char0 -mon chardev=char0,mode=control > -display none -audio none -accel kvm -accel tcg -machine > virt-10.0,gic-version=3 -name target,debug-threads=on -m 150M -serial > file:/tmp/migration-test-R1OX22/dest_serial -incoming rdma::29200 -cpu max > -kernel /tmp/migration-test-R1OX22/bootsect -accel qtest > ----------------------------------- stderr ----------------------------------- > qemu-system-aarch64: -incoming rdma::29200: RDMA ERROR: RDMA host is not set! > Broken pipe > ../tests/qtest/libqtest.c:199: kill_qemu() tried to terminate QEMU process > but encountered exit status 1 (expected 0) > >> >> I learned that x86 runner worked well >> https://gitlab.com/qemu-project/qemu/-/jobs/9350004633 >> >> So I doubt this is aarch64 specific, but I don't have an aarch64 in hand. > > I think it means it'll exit 0 even without ipv4 address in the script. I > doubt whether we used to rely on: > > command -v rdma > > But maybe that's available on the reproduced hosts, so it'll pass there. > OTOH, the script should fail the script if no avail ipv4 addr found. Yes, I believe this is the cause. I have reproduced it with a rdma link without a ipv4 address. > > To be explicit, the script does this: > > has_soft_rdma "$i" || return > > So even if it failed to see the soft rdma and returned, IIUC > rdma_rxe_setup_detect() will still success. > > Maybe it should be this instead? > > has_soft_rdma "$i" || exit -1 > > We could also sanity check the ipv4 address, e.g.: > > rdma_rxe_setup_detect | grep -Eo '^[0-9]{1,3}(\.[0-9]{1,3}){3}$' > Yeah, this can make the script more robust.