Add collector jobs for test framework
What does this MR do and why?
Introduce a small python script to check the status of sylva test framework jobs, it display an human readable output and a YAML output in a output file.
If any of the specified jobs are in error the jobs will failed.
Output example:
Fetching jobs for pipeline #2488901720 on project sylva-projects/sylva-core…
Found 55 job(s) in the pipeline.
────────────────────────────────────────────────────────────────
Test-Framework Job Report
Project: sylva-projects/sylva-core Pipeline: #2488901720
────────────────────────────────────────────────────────────────
❌ 📝 mgmt post-install checks
Status : FAILED
Duration : 1m 45s
Reason : script_failure
URL : https://gitlab.com/sylva-projects/sylva-core/-/jobs/14146105676
✅ 📝 mgmt post-upgrade checks
Status : SUCCESS
Duration : 1m 1s
URL : https://gitlab.com/sylva-projects/sylva-core/-/jobs/14146105677
❌ 📝 wkld post-install checks
Status : FAILED
Duration : 44s
Reason : script_failure
URL : https://gitlab.com/sylva-projects/sylva-core/-/jobs/14146105678
❌ 📝 wkld post-upgrade checks
Status : FAILED
Duration : 45s
Reason : script_failure
URL : https://gitlab.com/sylva-projects/sylva-core/-/jobs/14146105679
────────────────────────────────────────────────────────────────
❌ RESULT: 3 job(s) FAILED: 📝 mgmt post-install checks, 📝 wkld post-install checks, 📝 wkld post-upgrade checks
────────────────────────────────────────────────────────────────
YAML output:
project_id: "sylva-projects/sylva-core"
pipeline_id: "2488901720"
generated_at: "2026-05-05T13:57:35Z"
overall_status: failed
failed_count: 3
jobs:
- name: "📝 mgmt post-install checks"
status: failed
duration_seconds: 105.396638
duration: "1m 45s"
url: "https://gitlab.com/sylva-projects/sylva-core/-/jobs/14146105676"
failure_reason: "script_failure"
- name: "📝 mgmt post-upgrade checks"
status: success
duration_seconds: 61.122057
duration: "1m 1s"
url: "https://gitlab.com/sylva-projects/sylva-core/-/jobs/14146105677"
failure_reason: ~
- name: "📝 wkld post-install checks"
status: failed
duration_seconds: 44.673432
duration: "44s"
url: "https://gitlab.com/sylva-projects/sylva-core/-/jobs/14146105678"
failure_reason: "script_failure"
- name: "📝 wkld post-upgrade checks"
status: failed
duration_seconds: 45.389222
duration: "45s"
url: "https://gitlab.com/sylva-projects/sylva-core/-/jobs/14146105679"
failure_reason: "script_failure"Script was written with the help of Copilot
Related reference(s)
close #3987 (closed)
Test coverage
CI configuration
Below you can choose test deployment variants to run in this MR's CI.
Click to open to CI configuration
Legend:
| Icon | Meaning | Available values |
|---|---|---|
| Infra Provider | capd, capo, capm3 |
|
| Bootstrap Provider | kubeadm (alias kadm), rke2, okd, ck8s |
|
| Node OS | ubuntu, suse, na, leapmicro |
|
| Deployment Options | Deployment option list and description | |
| Pipeline Scenarios | Available scenario list and description | |
| Enabled units | Any available units name, by default apply to management and workload cluster. Can be prefixed by mgmt: or wkld: to be applied only to a specific cluster type |
|
| Disabled units | Any available units name, by default apply to management and workload cluster. Can be prefixed by mgmt: or wkld: to be applied only to a specific cluster type |
|
| Target platform | Can be used to select specific deployment environment Available platform list and description | |
| Pipeline control | autorun, manual or blocking. Can be used to override global config and start a deployment pipeline the required way |
-
🎬 preview☁️ capd🚀 kadm🐧 ubuntu -
🎬 preview☁️ capo🚀 rke2🐧 suse -
🎬 preview☁️ capm3🚀 rke2🐧 ubuntu -
☁️ capd🚀 kadm🛠️ light-deploy🐧 ubuntu -
☁️ capd🚀 rke2🛠️ light-deploy🐧 suse -
☁️ capo🚀 rke2🐧 suse -
☁️ capo🚀 rke2🐧 leapmicro -
☁️ capo🚀 kadm🐧 ubuntu🎬 no-wkld -
☁️ capo🚀 kadm🐧 ubuntu🟢 neuvector,mgmt:harbor -
☁️ capo🚀 rke2🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capo🚀 kadm🎬 wkld-k8s-upgrade🐧 ubuntu -
☁️ capo🚀 rke2🎬 rolling-update-no-wkld🛠️ ha🐧 suse -
☁️ capo🚀 rke2🎬 sylva-upgrade🛠️ ha🐧 ubuntu -
☁️ capo🚀 rke2🎬 sylva-upgrade-from-1.6.x🛠️ ha,misc🐧 ubuntu -
☁️ capo🚀 rke2🛠️ ha,misc🐧 ubuntu -
☁️ capo🚀 rke2🛠️ misc🐧 ubuntu🟢 mgmt:harbor🔴 neuvector -
☁️ capo🚀 rke2🛠️ ha,misc,openbao🐧 suse -
☁️ capo🚀 rke2🐧 suse🎬 upgrade-from-prev-tag -
☁️ capm3🚀 rke2🐧 suse -
☁️ capm3🚀 kadm🐧 ubuntu -
☁️ capm3🚀 ck8s🐧 ubuntu -
☁️ capm3🚀 kadm🎬 rolling-update-no-wkld🛠️ ha,misc🐧 ubuntu -
☁️ capm3🚀 rke2🎬 wkld-k8s-upgrade🛠️ ha🐧 suse -
☁️ capm3🚀 kadm🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capm3🚀 rke2🎬 upgrade-from-prev-release-branch🛠️ ha🐧 suse -
☁️ capm3🚀 rke2🛠️ misc,ha🐧 suse -
☁️ capm3🚀 rke2🎬 sylva-upgrade🛠️ ha,misc🐧 suse -
☁️ capm3🚀 kadm🎬 rolling-update🛠️ ha🐧 suse -
☁️ capm3🚀 ck8s🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capm3🚀 rke2|okd🎬 no-update🐧 ubuntu|na -
☁️ capm3🚀 rke2🐧 suse🎬 upgrade-from-release-1.5 -
☁️ capm3🚀 rke2🐧 suse🎬 upgrade-to-main
Global config for deployment pipelines
- autorun pipelines
- allow failure on pipelines
- record sylvactl events
Notes:
- Enabling
autorunwill make deployment pipelines to be run automatically without human interaction - Disabling
allow failurewill make deployment pipelines mandatory for pipeline success. - if both
autorunandallow failureare disabled, deployment pipelines will need manual triggering but will be blocking the pipeline
Be aware: after configuration change, pipeline is not triggered automatically.
Please run it manually (by clicking the run pipeline button in Pipelines tab) or push new code.