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.



Reply via email to