CI: pipelines_schedules_report.py, don't break if prepare-deployment-jobs failed on a pipeline
When a failure like this occurs in prepare-deployment-jobs on a scheduled pipeline, the scheduled pipeline report breaks with:
File "/builds/sylva-projects/sylva-core/./.gitlab/ci/scripts/pipelines_schedules_report.py", line 212, in create_report
for level2_child in get_pipeline_bridges(project, level1_child.downstream_pipeline['id']):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
TypeError: 'NoneType' object is not subscriptable
(https://gitlab.com/sylva-projects/sylva-core/-/jobs/9234088857#L210)
This MR fixes this issue.
...
result:
...
processing pipeline schedule Nightly - Upgrade from release-1.3 to main
processing pipeline 1687231019
processing child deployment-jobs
processing child ☁capo 🚀rke2 🐧suse 🛠ha 🎬sylva-upgrade-from-1.3.x
processing child ☁capo 🚀kadm 🐧ubuntu 🛠ha,misc 🎬sylva-upgrade-from-1.3.x
processing child ☁capo 🚀kadm 🐧ubuntu 🛠ha 🎬sylva-upgrade-from-1.3.x
processing child ☁capm3 🚀rke2 🐧suse 🛠ha,misc 🎬sylva-upgrade-from-1.3.x
processing child ☁capm3 🚀rke2 🐧suse 🛠ha 🎬sylva-upgrade-from-1.3.x
processing child ☁capm3 🚀kadm 🐧ubuntu 🛠ha 🎬sylva-upgrade-from-1.3.x
processing pipeline 1686488446
processing child deployment-jobs
ERROR, pipeline has no downstream pipeline (check https://gitlab.com/sylva-projects/sylva-core/-/jobs/9230800326)
processing pipeline 1684770014
processing child deployment-jobs
...
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
|
|
| Node OS |
ubuntu, suse
|
|
| Deployment Options |
light-deploy, dev-sources, ha, misc
|
|
| Pipeline Scenarios | Available scenario list and description |
-
🎬 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🚀 kadm🐧 ubuntu -
☁️ capo🚀 rke2🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capo🚀 kadm🎬 wkld-k8s-upgrade🐧 ubuntu -
☁️ capo🚀 rke2🎬 rolling-update-no-wkld🛠️ ha,misc🐧 suse -
☁️ capo🚀 rke2🎬 sylva-upgrade-from-1.3.x🛠️ ha,misc🐧 ubuntu -
☁️ capm3🚀 rke2🐧 suse -
☁️ capm3🚀 kadm🐧 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🎬 sylva-upgrade-from-1.3.x🛠️ misc,ha🐧 suse -
☁️ capm3🚀 kadm🎬 rolling-update🛠️ ha🐧 suse
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.