diff mbox series

[kvm-unit-tests,6/7] gitlab-ci: Run migration selftest on s390x and powerpc

Message ID 20240226093832.1468383-7-npiggin@gmail.com (mailing list archive)
State New, archived
Headers show
Series more migration enhancements and tests | expand

Commit Message

Nicholas Piggin Feb. 26, 2024, 9:38 a.m. UTC
The migration harness is complicated and easy to break so CI will
be helpful.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
 .gitlab-ci.yml | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

Comments

Thomas Huth March 1, 2024, 2:16 p.m. UTC | #1
On 26/02/2024 10.38, Nicholas Piggin wrote:
> The migration harness is complicated and easy to break so CI will
> be helpful.
> 
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> ---
>   .gitlab-ci.yml | 18 +++++++++++-------
>   1 file changed, 11 insertions(+), 7 deletions(-)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 71d986e98..61f196d5d 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -64,26 +64,28 @@ build-arm:
>   build-ppc64be:
>    extends: .outoftree_template
>    script:
> - - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
> + - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
>    - mkdir build
>    - cd build
>    - ../configure --arch=ppc64 --endian=big --cross-prefix=powerpc64-linux-gnu-
>    - make -j2
>    - ACCEL=tcg ./run_tests.sh
> -     selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
> -     rtas-set-time-of-day emulator
> +     selftest-setup selftest-migration selftest-migration-skip spapr_hcall
> +     rtas-get-time-of-day rtas-get-time-of-day-base rtas-set-time-of-day
> +     emulator
>        | tee results.txt
>    - if grep -q FAIL results.txt ; then exit 1 ; fi
>   
>   build-ppc64le:
>    extends: .intree_template
>    script:
> - - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
> + - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
>    - ./configure --arch=ppc64 --endian=little --cross-prefix=powerpc64-linux-gnu-
>    - make -j2
>    - ACCEL=tcg ./run_tests.sh
> -     selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
> -     rtas-set-time-of-day emulator
> +     selftest-setup selftest-migration selftest-migration-skip spapr_hcall
> +     rtas-get-time-of-day rtas-get-time-of-day-base rtas-set-time-of-day
> +     emulator
>        | tee results.txt
>    - if grep -q FAIL results.txt ; then exit 1 ; fi
>   
> @@ -107,7 +109,7 @@ build-riscv64:
>   build-s390x:
>    extends: .outoftree_template
>    script:
> - - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu
> + - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu nmap-ncat
>    - mkdir build
>    - cd build
>    - ../configure --arch=s390x --cross-prefix=s390x-linux-gnu-
> @@ -133,6 +135,8 @@ build-s390x:
>         sclp-1g
>         sclp-3g
>         selftest-setup
> +      selftest-migration
> +      selftest-migration-skip
>         sieve
>         smp
>         stsi

While I can update the qemu binary for the s390x-kvm job, the build-* jobs 
run in a container with a normal QEMU from the corresponding distros, so I 
think this has to wait 'til we get distros that contain your QEMU TCG 
migration fix.

  Thomas
Nicholas Piggin March 5, 2024, 2:38 a.m. UTC | #2
On Sat Mar 2, 2024 at 12:16 AM AEST, Thomas Huth wrote:
> On 26/02/2024 10.38, Nicholas Piggin wrote:
> > The migration harness is complicated and easy to break so CI will
> > be helpful.
> > 
> > Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> > ---
> >   .gitlab-ci.yml | 18 +++++++++++-------
> >   1 file changed, 11 insertions(+), 7 deletions(-)
> > 
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index 71d986e98..61f196d5d 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -64,26 +64,28 @@ build-arm:
> >   build-ppc64be:
> >    extends: .outoftree_template
> >    script:
> > - - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
> > + - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
> >    - mkdir build
> >    - cd build
> >    - ../configure --arch=ppc64 --endian=big --cross-prefix=powerpc64-linux-gnu-
> >    - make -j2
> >    - ACCEL=tcg ./run_tests.sh
> > -     selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
> > -     rtas-set-time-of-day emulator
> > +     selftest-setup selftest-migration selftest-migration-skip spapr_hcall
> > +     rtas-get-time-of-day rtas-get-time-of-day-base rtas-set-time-of-day
> > +     emulator
> >        | tee results.txt
> >    - if grep -q FAIL results.txt ; then exit 1 ; fi
> >   
> >   build-ppc64le:
> >    extends: .intree_template
> >    script:
> > - - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
> > + - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
> >    - ./configure --arch=ppc64 --endian=little --cross-prefix=powerpc64-linux-gnu-
> >    - make -j2
> >    - ACCEL=tcg ./run_tests.sh
> > -     selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
> > -     rtas-set-time-of-day emulator
> > +     selftest-setup selftest-migration selftest-migration-skip spapr_hcall
> > +     rtas-get-time-of-day rtas-get-time-of-day-base rtas-set-time-of-day
> > +     emulator
> >        | tee results.txt
> >    - if grep -q FAIL results.txt ; then exit 1 ; fi
> >   
> > @@ -107,7 +109,7 @@ build-riscv64:
> >   build-s390x:
> >    extends: .outoftree_template
> >    script:
> > - - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu
> > + - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu nmap-ncat
> >    - mkdir build
> >    - cd build
> >    - ../configure --arch=s390x --cross-prefix=s390x-linux-gnu-
> > @@ -133,6 +135,8 @@ build-s390x:
> >         sclp-1g
> >         sclp-3g
> >         selftest-setup
> > +      selftest-migration
> > +      selftest-migration-skip
> >         sieve
> >         smp
> >         stsi
>
> While I can update the qemu binary for the s390x-kvm job, the build-* jobs 
> run in a container with a normal QEMU from the corresponding distros, so I 
> think this has to wait 'til we get distros that contain your QEMU TCG 
> migration fix.

Okay. powerpc *could* run into the TCG bug too, in practice it has not.
We could try enable it there to get migration into CI, and revert it if
it starts showing random failures?

Thanks,
Nick
Thomas Huth March 5, 2024, 6:50 a.m. UTC | #3
On 05/03/2024 03.38, Nicholas Piggin wrote:
> On Sat Mar 2, 2024 at 12:16 AM AEST, Thomas Huth wrote:
>> On 26/02/2024 10.38, Nicholas Piggin wrote:
>>> The migration harness is complicated and easy to break so CI will
>>> be helpful.
>>>
>>> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
>>> ---
>>>    .gitlab-ci.yml | 18 +++++++++++-------
>>>    1 file changed, 11 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>> index 71d986e98..61f196d5d 100644
>>> --- a/.gitlab-ci.yml
>>> +++ b/.gitlab-ci.yml
>>> @@ -64,26 +64,28 @@ build-arm:
>>>    build-ppc64be:
>>>     extends: .outoftree_template
>>>     script:
>>> - - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
>>> + - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
>>>     - mkdir build
>>>     - cd build
>>>     - ../configure --arch=ppc64 --endian=big --cross-prefix=powerpc64-linux-gnu-
>>>     - make -j2
>>>     - ACCEL=tcg ./run_tests.sh
>>> -     selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
>>> -     rtas-set-time-of-day emulator
>>> +     selftest-setup selftest-migration selftest-migration-skip spapr_hcall
>>> +     rtas-get-time-of-day rtas-get-time-of-day-base rtas-set-time-of-day
>>> +     emulator
>>>         | tee results.txt
>>>     - if grep -q FAIL results.txt ; then exit 1 ; fi
>>>    
>>>    build-ppc64le:
>>>     extends: .intree_template
>>>     script:
>>> - - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
>>> + - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
>>>     - ./configure --arch=ppc64 --endian=little --cross-prefix=powerpc64-linux-gnu-
>>>     - make -j2
>>>     - ACCEL=tcg ./run_tests.sh
>>> -     selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
>>> -     rtas-set-time-of-day emulator
>>> +     selftest-setup selftest-migration selftest-migration-skip spapr_hcall
>>> +     rtas-get-time-of-day rtas-get-time-of-day-base rtas-set-time-of-day
>>> +     emulator
>>>         | tee results.txt
>>>     - if grep -q FAIL results.txt ; then exit 1 ; fi
>>>    
>>> @@ -107,7 +109,7 @@ build-riscv64:
>>>    build-s390x:
>>>     extends: .outoftree_template
>>>     script:
>>> - - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu
>>> + - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu nmap-ncat
>>>     - mkdir build
>>>     - cd build
>>>     - ../configure --arch=s390x --cross-prefix=s390x-linux-gnu-
>>> @@ -133,6 +135,8 @@ build-s390x:
>>>          sclp-1g
>>>          sclp-3g
>>>          selftest-setup
>>> +      selftest-migration
>>> +      selftest-migration-skip
>>>          sieve
>>>          smp
>>>          stsi
>>
>> While I can update the qemu binary for the s390x-kvm job, the build-* jobs
>> run in a container with a normal QEMU from the corresponding distros, so I
>> think this has to wait 'til we get distros that contain your QEMU TCG
>> migration fix.
> 
> Okay. powerpc *could* run into the TCG bug too, in practice it has not.
> We could try enable it there to get migration into CI, and revert it if
> it starts showing random failures?

Fine for me.

  Thomas
diff mbox series

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 71d986e98..61f196d5d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -64,26 +64,28 @@  build-arm:
 build-ppc64be:
  extends: .outoftree_template
  script:
- - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
+ - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
  - mkdir build
  - cd build
  - ../configure --arch=ppc64 --endian=big --cross-prefix=powerpc64-linux-gnu-
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
-     rtas-set-time-of-day emulator
+     selftest-setup selftest-migration selftest-migration-skip spapr_hcall
+     rtas-get-time-of-day rtas-get-time-of-day-base rtas-set-time-of-day
+     emulator
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
 build-ppc64le:
  extends: .intree_template
  script:
- - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
+ - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
  - ./configure --arch=ppc64 --endian=little --cross-prefix=powerpc64-linux-gnu-
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
-     rtas-set-time-of-day emulator
+     selftest-setup selftest-migration selftest-migration-skip spapr_hcall
+     rtas-get-time-of-day rtas-get-time-of-day-base rtas-set-time-of-day
+     emulator
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -107,7 +109,7 @@  build-riscv64:
 build-s390x:
  extends: .outoftree_template
  script:
- - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu
+ - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu nmap-ncat
  - mkdir build
  - cd build
  - ../configure --arch=s390x --cross-prefix=s390x-linux-gnu-
@@ -133,6 +135,8 @@  build-s390x:
       sclp-1g
       sclp-3g
       selftest-setup
+      selftest-migration
+      selftest-migration-skip
       sieve
       smp
       stsi