diff mbox series

[kvm-unit-tests,v8,06/35] gitlab-ci: Run migration selftest on s390x and powerpc

Message ID 20240405083539.374995-7-npiggin@gmail.com (mailing list archive)
State New
Headers show
Series migration, powerpc improvements | expand

Commit Message

Nicholas Piggin April 5, 2024, 8:35 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      | 32 +++++++++++++++++++++++---------
 s390x/unittests.cfg |  8 ++++++++
 2 files changed, 31 insertions(+), 9 deletions(-)

Comments

Nico Boehr April 8, 2024, 4:06 p.m. UTC | #1
Quoting Nicholas Piggin (2024-04-05 10:35:07)
> 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      | 32 +++++++++++++++++++++++---------
>  s390x/unittests.cfg |  8 ++++++++
>  2 files changed, 31 insertions(+), 9 deletions(-)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index ff34b1f50..60b3cdfd2 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
[...]
> @@ -135,7 +147,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-
> @@ -161,6 +173,8 @@ build-s390x:
>        sclp-1g
>        sclp-3g
>        selftest-setup
> +      selftest-migration-kvm

We're running under TCG in the Gitlab CI. I'm a little bit confused why
we're running a KVM-only test here.
Thomas Huth April 11, 2024, 7:22 p.m. UTC | #2
On 08/04/2024 18.06, Nico Boehr wrote:
> Quoting Nicholas Piggin (2024-04-05 10:35:07)
>> 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      | 32 +++++++++++++++++++++++---------
>>   s390x/unittests.cfg |  8 ++++++++
>>   2 files changed, 31 insertions(+), 9 deletions(-)
>>
>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>> index ff34b1f50..60b3cdfd2 100644
>> --- a/.gitlab-ci.yml
>> +++ b/.gitlab-ci.yml
> [...]
>> @@ -135,7 +147,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-
>> @@ -161,6 +173,8 @@ build-s390x:
>>         sclp-1g
>>         sclp-3g
>>         selftest-setup
>> +      selftest-migration-kvm
> 
> We're running under TCG in the Gitlab CI. I'm a little bit confused why
> we're running a KVM-only test here.

The build-s390x job is TCG, indeed, but we have the "s390x-kvm" job that 
runs on a KVM-capable s390x host, so it could be added there?

  Thomas
Thomas Huth April 16, 2024, 7:18 a.m. UTC | #3
On 11/04/2024 21.22, Thomas Huth wrote:
> On 08/04/2024 18.06, Nico Boehr wrote:
>> Quoting Nicholas Piggin (2024-04-05 10:35:07)
>>> 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      | 32 +++++++++++++++++++++++---------
>>>   s390x/unittests.cfg |  8 ++++++++
>>>   2 files changed, 31 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>> index ff34b1f50..60b3cdfd2 100644
>>> --- a/.gitlab-ci.yml
>>> +++ b/.gitlab-ci.yml
>> [...]
>>> @@ -135,7 +147,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-
>>> @@ -161,6 +173,8 @@ build-s390x:
>>>         sclp-1g
>>>         sclp-3g
>>>         selftest-setup
>>> +      selftest-migration-kvm
>>
>> We're running under TCG in the Gitlab CI. I'm a little bit confused why
>> we're running a KVM-only test here.
> 
> The build-s390x job is TCG, indeed, but we have the "s390x-kvm" job that 
> runs on a KVM-capable s390x host, so it could be added there?

I now gave it a try and it seems to work, so I updated this patch and pushed 
it to the repository now.

  Thomas
Thomas Huth April 16, 2024, 7:55 a.m. UTC | #4
On 16/04/2024 09.18, Thomas Huth wrote:
> On 11/04/2024 21.22, Thomas Huth wrote:
>> On 08/04/2024 18.06, Nico Boehr wrote:
>>> Quoting Nicholas Piggin (2024-04-05 10:35:07)
>>>> 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      | 32 +++++++++++++++++++++++---------
>>>>   s390x/unittests.cfg |  8 ++++++++
>>>>   2 files changed, 31 insertions(+), 9 deletions(-)
>>>>
>>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>>> index ff34b1f50..60b3cdfd2 100644
>>>> --- a/.gitlab-ci.yml
>>>> +++ b/.gitlab-ci.yml
>>> [...]
>>>> @@ -135,7 +147,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-
>>>> @@ -161,6 +173,8 @@ build-s390x:
>>>>         sclp-1g
>>>>         sclp-3g
>>>>         selftest-setup
>>>> +      selftest-migration-kvm
>>>
>>> We're running under TCG in the Gitlab CI. I'm a little bit confused why
>>> we're running a KVM-only test here.
>>
>> The build-s390x job is TCG, indeed, but we have the "s390x-kvm" job that 
>> runs on a KVM-capable s390x host, so it could be added there?
> 
> I now gave it a try and it seems to work, so I updated this patch and pushed 
> it to the repository now.

Hmm, "selftest-migration" now was failing once here:

  https://gitlab.com/kvm-unit-tests/kvm-unit-tests/-/jobs/6633865591

Let's keep an eye on it, and if it is not stable enough, we might need to 
disable it in the CI again...

  Thomas
Thomas Huth April 16, 2024, 10:11 a.m. UTC | #5
On 16/04/2024 09.55, Thomas Huth wrote:
> On 16/04/2024 09.18, Thomas Huth wrote:
>> On 11/04/2024 21.22, Thomas Huth wrote:
>>> On 08/04/2024 18.06, Nico Boehr wrote:
>>>> Quoting Nicholas Piggin (2024-04-05 10:35:07)
>>>>> 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      | 32 +++++++++++++++++++++++---------
>>>>>   s390x/unittests.cfg |  8 ++++++++
>>>>>   2 files changed, 31 insertions(+), 9 deletions(-)
>>>>>
>>>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>>>> index ff34b1f50..60b3cdfd2 100644
>>>>> --- a/.gitlab-ci.yml
>>>>> +++ b/.gitlab-ci.yml
>>>> [...]
>>>>> @@ -135,7 +147,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-
>>>>> @@ -161,6 +173,8 @@ build-s390x:
>>>>>         sclp-1g
>>>>>         sclp-3g
>>>>>         selftest-setup
>>>>> +      selftest-migration-kvm
>>>>
>>>> We're running under TCG in the Gitlab CI. I'm a little bit confused why
>>>> we're running a KVM-only test here.
>>>
>>> The build-s390x job is TCG, indeed, but we have the "s390x-kvm" job that 
>>> runs on a KVM-capable s390x host, so it could be added there?
>>
>> I now gave it a try and it seems to work, so I updated this patch and 
>> pushed it to the repository now.
> 
> Hmm, "selftest-migration" now was failing once here:
> 
>   https://gitlab.com/kvm-unit-tests/kvm-unit-tests/-/jobs/6633865591
> 
> Let's keep an eye on it, and if it is not stable enough, we might need to 
> disable it in the CI again...

And it just failed again:

  https://gitlab.com/kvm-unit-tests/kvm-unit-tests/-/jobs/6635395811

... not sure whether this is due to the slow CI machine or whether there is 
still a bug lurking around somewhere, but anyway, I disabled it now for the 
CI again to avoid that other MRs get affected.

  Thomas
diff mbox series

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ff34b1f50..60b3cdfd2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -92,27 +92,39 @@  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
-     | tee results.txt
+      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
-     | tee results.txt
+      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-riscv32:
@@ -135,7 +147,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-
@@ -161,6 +173,8 @@  build-s390x:
       sclp-1g
       sclp-3g
       selftest-setup
+      selftest-migration-kvm
+      selftest-migration-skip
       sieve
       smp
       stsi
diff --git a/s390x/unittests.cfg b/s390x/unittests.cfg
index 49e3e4608..faa0ce0eb 100644
--- a/s390x/unittests.cfg
+++ b/s390x/unittests.cfg
@@ -31,6 +31,14 @@  groups = selftest migration
 # https://lore.kernel.org/qemu-devel/20240219061731.232570-1-npiggin@gmail.com/
 accel = kvm
 
+[selftest-migration-kvm]
+file = selftest-migration.elf
+groups = nodefault
+accel = kvm
+# This is a special test for gitlab-ci that must not use TCG until the
+# TCG migration fix has made its way into CI environment's QEMU.
+# https://lore.kernel.org/qemu-devel/20240219061731.232570-1-npiggin@gmail.com/
+
 [selftest-migration-skip]
 file = selftest-migration.elf
 groups = selftest migration