Project

General

Profile

Actions

action #107857

closed

coordination #104274: [epic] Enable test & release process on the container bot for BCI 15-SP3 images

Enable and fix BCI tests on aarch64 (except dotnet family)

Added by jlausuch over 2 years ago. Updated about 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
2022-03-03
Due date:
% Done:

100%

Estimated time:

Description

Enable aarch64 hosts for BCI where aarch64 container images will be tested.

Note: dotnet images are only available for x86_64 (donet, aspnet, dotnet-runtime).


Related issues 3 (0 open3 closed)

Related to Containers - action #109638: [bci-tests] Add hability to execute/skip tests depending on the archResolved2022-04-07

Actions
Related to Containers - action #107851: Enable BCI tests on s390x (except dotnet family)Resolvedmloviska2022-03-03

Actions
Related to Containers - action #107854: Enable BCI tests on ppc64le (except dotnet family)Resolvedmloviska2022-03-03

Actions
Actions #1

Updated by ph03nix over 2 years ago

  • Status changed from Workable to In Progress
  • Assignee set to ph03nix
Actions #2

Updated by ph03nix about 2 years ago

As a first step I just schedule some aarch64 test runs and we see, how they behave.

I take the 23.45_minial image to do so.

Actions #3

Updated by ph03nix about 2 years ago

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle BUILD=23.45_minimal VERSION=15-SP3 FLAVOR=BCI-Updates CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/bci-minimal:latest BCI_TEST_ENVS=minimal

https://openqa.suse.de/tests/overview?distri=sle&version=15-SP3&build=23.45_minimal&groupid=409

Actions #5

Updated by ph03nix about 2 years ago

aarch64 images exceeding image size bug: https://bugzilla.suse.com/show_bug.cgi?id=1198081

Actions #7

Updated by jlausuch about 2 years ago

ph03nix wrote:

Test run for all architectures: https://openqa.suse.de/tests/overview?distri=sle&version=15-SP3&build=23.45_minimal&groupid=409

This is awesome, at least we don't have stupid Host-related or package-related errors.
The tests are running fine :)

Actions #8

Updated by ph03nix about 2 years ago

To check if aarch64 is working, I scheduled now test runs for that platform for all of yesterday's images: https://openqa.suse.de/group_overview/409?limit_builds=50

### Build13.5_dotnet-runtime-6.0

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=13.5_dotnet-runtime-6.0 BCI_TEST_ENVS=dotnet CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/dotnet-runtime:6.0

### Build22.5_dotnet-3.1

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=22.5_dotnet-3.1 BCI_TEST_ENVS=dotnet CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/dotnet-sdk:3.1

### Build23.28_dotnet-5.0

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=23.28_dotnet-5.0 BCI_TEST_ENVS=dotnet CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/dotnet-sdk:5.0

### Build12.5_dotnet-6.0

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=12.5_dotnet-6.0 BCI_TEST_ENVS=dotnet CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/dotnet-sdk:6.0

### Build24.5_dotnet-runtime-3.1

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=24.5_dotnet-runtime-3.1 BCI_TEST_ENVS=dotnet CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/dotnet-runtime:3.1

### Build22.28_dotnet-runtime-5.0

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=22.28_dotnet-runtime-5.0 BCI_TEST_ENVS=dotnet CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/dotnet-runtime:5.0

### Build16.5_aspnet-runtime-3.1

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=16.5_aspnet-runtime-3.1 BCI_TEST_ENVS=dotnet CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/dotnet-aspnet:3.1

### Build15.28_aspnet-runtime-5.0

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=15.28_aspnet-runtime-5.0 BCI_TEST_ENVS=dotnet CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/dotnet-aspnet:5.0

### Build13.5_aspnet-runtime-6.0

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=13.5_aspnet-runtime-6.0 BCI_TEST_ENVS=dotnet CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/dotnet-aspnet:6.0

### Build13.53_nodejs-12-image

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=13.53_nodejs-12-image BCI_TEST_ENVS=node CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/nodejs:12

### 
Build16.54_nodejs-14-image

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=16.54_nodejs-14-image BCI_TEST_ENVS=node CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/nodejs:14

### 
Build12.50_golang-1.16-image

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=12.50_golang-1.16-image BCI_TEST_ENVS=go CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/golang:1.16

### 
Build11.51_golang-1.17-image

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=11.51_golang-1.17-image BCI_TEST_ENVS=go CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/golang:1.17

### Build12.53_python-3.6-image

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=12.53_python-3.6-image BCI_TEST_ENVS=python CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/python:3.6

### 
Build13.49_python-3.9-image

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=13.49_python-3.9-image BCI_TEST_ENVS=python CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/python:3.9

### Build14.43_ruby-2.5-image

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=14.43_ruby-2.5-image BCI_TEST_ENVS=ruby CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/ruby:2.5

### Build14.99_openjdk-11-devel-image

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=14.99_openjdk-11-devel-image CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/openjdk-devel:11 BCI_TEST_ENVS=openjdk_devel

### Build14.57_openjdk-11-image

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=14.57_openjdk-11-image CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/openjdk:11 BCI_TEST_ENVS=openjdk

### Build4.51_nodejs-16-image

openqa-cli api --osd -X POST isos ARCH=aarch64 DISTRI=sle VERSION=15-SP3 FLAVOR=BCI-Updates BUILD=4.51_nodejs-16-image CONTAINER_IMAGE_TO_TEST=registry.suse.de/suse/sle-15-sp3/update/cr/totest/images/bci/nodejs:16 BCI_TEST_ENVS=node
Actions #9

Updated by ph03nix about 2 years ago

I'm seeing some errors and try to understand and reproduce them. Currently working on https://openqa.suse.de/tests/8475450 in la local VM, which is slow due to being a different architecture.

Actions #10

Updated by ph03nix about 2 years ago

I'm seeing errors in the test_popular_npm_repos part of the BCI tests on aarch64. Will now investigate which repos there cause problems.

I need to check which repos cause the issues. First runs on my aarch64 vm on my laptop made more repos fail due to timeouts, but those are false positives. Will use my Raspberry Pi as test system and run the repos in a Leap VM there.

Actions #11

Updated by ph03nix about 2 years ago

Testing in a opensuse/leap container on a aarch64 VM running on a Raspberry Pi

Lodash https://github.com/lodash/lodash.git : OK
chalk https://github.com/chalk/chalk.git : OK
Commander.js https://github.com/tj/commander.js.git : OK
Express https://github.com/expressjs/express.git : OK
prop-types https://github.com/facebook/prop-types : FAIL
node-fs-extra https://github.com/jprichardson/node-fs-extra : OK

The prop-types test run fails:

    $ npm run lint

    > prop-types@15.8.1 lint
    > eslint .

    /opt/prop-types/prop-types.js
         1:622  error  Missing space before value for key 'exports'                           key-spacing
         1:833  error  Missing space before value for key '1'                                 key-spacing
       106:33   error  Missing space before value for key './lib/ReactPropTypesSecret'        key-spacing
       106:47   error  Missing space before value for key './lib/has'                         key-spacing
       106:53   error  Missing space before value for key '2'                                 key-spacing
       173:33   error  Missing space before value for key './lib/ReactPropTypesSecret'        key-spacing
       173:39   error  Missing space before value for key '3'                                 key-spacing
       785:23   error  Missing space before value for key './checkPropTypes'                  key-spacing
       785:54   error  Missing space before value for key './lib/ReactPropTypesSecret'        key-spacing
       785:68   error  Missing space before value for key './lib/has'                         key-spacing
       785:86   error  Missing space before value for key 'object-assign'                     key-spacing
       785:99   error  Missing space before value for key 'react-is'                          key-spacing
       785:106  error  Missing space before value for key '4'                                 key-spacing
       806:33   error  Missing space before value for key './factoryWithThrowingShims'        key-spacing
       806:63   error  Missing space before value for key './factoryWithTypeCheckers'         key-spacing
       806:76   error  Missing space before value for key 'react-is'                          key-spacing
       806:83   error  Missing space before value for key '5'                                 key-spacing
       820:9    error  Missing space before value for key '6'                                 key-spacing
       823:9    error  Missing space before value for key '7'                                 key-spacing
       853:33   error  Multiple spaces found before '// eslint-disa...'                       no-multi-spaces
       915:9    error  Missing space before value for key '8'                                 key-spacing
      1101:9    error  Missing space before value for key '9'                                 key-spacing
      1286:15   error  Missing space before value for key '_process'                          key-spacing
      1286:22   error  Missing space before value for key '10'                                key-spacing
      1303:10   error  Missing space before value for key '11'                                key-spacing
      1314:36   error  Missing space before value for key './cjs/react-is.development.js'     key-spacing
      1314:73   error  Missing space before value for key './cjs/react-is.production.min.js'  key-spacing
      1314:87   error  Missing space before value for key '_process'                          key-spacing

    ✖ 28 problems (28 errors, 0 warnings)
      28 errors and 0 warnings potentially fixable with the `--fix` option.

The issue is however also present on x86_64

Actions #12

Updated by ph03nix about 2 years ago

The error might be even easier than we thought:

Error: Timeout of 2000ms exceeded

https://openqa.suse.de/tests/8475450#step/node/6

Actions #14

Updated by ph03nix about 2 years ago

To be sure that this is a timeout due to missing horsepower, I performed now the following tests:

  • Use the registry.suse.com/bci/nodejs:16 container on my RPi VM and run the express test: PASSING
  • Use the registry.suse.com/bci/nodejs:16 container on my emulated aarch64 VM and run the express test: FAIL (timeout)

The test procedure was

git clone https://github.com/expressjs/express.git
cd express
npm config set shrinkwrap false && npm rm --silent --save-dev connect-redis && npm run test-ci && npm run lint

To me it looks very much like a timeout due to a too tight timeout because our aarch64 openQA workers are not fast enough.

Actions #15

Updated by jlausuch about 2 years ago

  • Related to action #109638: [bci-tests] Add hability to execute/skip tests depending on the arch added
Actions #16

Updated by jlausuch about 2 years ago

  • Subject changed from Enable BCI tests on aarch64 to Enable BCI tests on aarch64 (except dotnet family)
  • Description updated (diff)
Actions #17

Updated by jlausuch about 2 years ago

  • Related to action #107851: Enable BCI tests on s390x (except dotnet family) added
Actions #18

Updated by jlausuch about 2 years ago

  • Related to action #107854: Enable BCI tests on ppc64le (except dotnet family) added
Actions #19

Updated by jlausuch about 2 years ago

We have finally enabled all the architectures. The main issue was found in NodeJS test you are mentioning in this ticket.
Feel free to close this one and track the nodeJS test issue as a specific bug report in separate ticket.

Actions #20

Updated by ph03nix about 2 years ago

Just because two people have been asking independently: BCI aarch64 are not enabled as of now, the previous runs have been scheduled manually.

I'm still working on fixing aarch64 before enabling it in the bot.

Actions #21

Updated by jlausuch about 2 years ago

ph03nix wrote:

Just because two people have been asking independently: BCI aarch64 are not enabled as of now, the previous runs have been scheduled manually.

I'm still working on fixing aarch64 before enabling it in the bot.

It is. And it's my mistake.
I merged https://gitlab.suse.de/qac/container-release-bot/-/merge_requests/40 which adds the feature to exclude the arch from certain images,
so that https://gitlab.suse.de/qac/container-release-bot/-/merge_requests/41 could be merged too using this "feature".
But I thought that aarch64 issue was addressed as a bug.

I will just remove aarch64 from the list again. Sorry about that.

Actions #22

Updated by jlausuch about 2 years ago

It's not disabled again: https://gitlab.suse.de/qac/container-release-bot/-/merge_requests/42
Feel free to enable it again when you feel confident.
My apologies!

Actions #23

Updated by ph03nix about 2 years ago

Actions #24

Updated by ph03nix about 2 years ago

I just run the express.js test in a VM on openqaworker-arm-2 without any issues. The performance there is good enough, although that one step is very close to it's maximum:

    ✔ should not stack overflow with many registered routes (1209ms)

I'm kinda puzzled, why the openQA test failed with a timeout. Will investigate further.

Actions #25

Updated by ph03nix about 2 years ago

I even run the test within the current registry.suse.com/bci/nodejs:14 podman container without any issues.

Actions #26

Updated by ph03nix about 2 years ago

  • Subject changed from Enable BCI tests on aarch64 (except dotnet family) to Enable and fix BCI tests on aarch64 (except dotnet family)
Actions #28

Updated by ph03nix about 2 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100
Actions

Also available in: Atom PDF