action #176418
Updated by okurz 23 days ago
## Observation
https://openqa.suse.de/tests/16623840 "sle-15-SP6-Full-QR-s390x-cc_audit_remote_server:investigate:last_good_tests_and_build:2568d56c0376bcc652e9b26c62dd13547e66715d+117.1@s390x-kvm" has worker class
```
s390-kvm,s390-kvm-sle12-mm,s390zl13,s390kvm103,zone-cc,region-prg,datacenter-dc7,location-prg2,worker33,cpu-x86_64,cpu-x86_64-v2,cpu-x86_64-v3
```
which should match https://openqa.suse.de/admin/workers/2655 which has worker class
```
s390-kvm,s390-kvm-sle12-mm,s390zl13,s390kvm103,zone-cc,region-prg,datacenter-dc7,location-prg2,worker33,cpu-x86_64,cpu-x86_64-v2,cpu-x86_64-v3
```
and currently there are no jobs running. Still the job isn't picked up.
From openqa_scheduler log:
```
[2025-02-01T12:25:24.753219Z] [debug] [pid:8830] Need to schedule 2 parallel jobs for job 16623840 (with priority 150)
```
So there are two jobs: https://openqa.suse.de/tests/16623840 and https://openqa.suse.de/tests/16623841
The problem is, there is only one instance which has the `s390kvm103` part of the WORKER_CLASS, https://openqa.suse.de/admin/workers/2655 . last_good_build_and_test deliberately triggers on that exact worker combination so it's intended that this is just one instance. We could loosen that requirement for parallel clusters
## Acceptance criteria
* **AC1:** last_good_build_and_test tests are able to be executed with a sensible worker class selection also for parallel cluster jobs
## Suggestions
* We could check via the jobs api (which we call already) if there are dependencies and then just skip that worker restriction. It would probably be possible to run only the actual test on that same worker class combination by setting the new WORKER_CLASS only for that test with the :$job_id feature and any parallel sibling more relaxed. See https://open.qa/docs/#_spawning_single_new_jobs_jobs_post
* Start within https://github.com/os-autoinst/scripts/blob/386ec25180257858ca8f15303cec08a31ae4b23d/openqa-investigate#L68 and try to extend with the suggestion above
* As an alternative consider to add an option in openqa-clone-job to allow copying values from `vars.json` for certain variables (but do it for each dependend job individually).
Back