coordination #108878
open[epic] Extending bot-ng for triggering virtualization incident jobs
0%
Description
To allow better collaboration on this topic, I am extracting the necessary information from the initial e-mail. I suggest to keep the discussion on one place accessible for the team.
The motivation¶
I am writing to ask for your professional input about bot-ng tool, to ensure that what we will do will not bring unexpected impacts to what you are replying on this tool to do, and meanwhile can meet our needs.
Currently, the virtualization incident validation jobs are manually triggered after manually check https://maintenance.suse.de/overview/. Once we find incidents changing virtualization related packages, eg libvirt, xen, qemu, kernel-default, etc, we will trigger openqa jobs, ON openqa.qam.suse.cz and openqa.suse.de, with special openqa flavors, namely Server-DVD-Virt-KVM-Incidents, Server-DVD-Virt-XEN-Incidents, Server-DVD-Incidents-Virt.
Now we would like to automate this incidents openqa job trigger task.
Proposed solution¶
After reading code about "incidents-run" in https://github.com/openSUSE/qem-bot, our initial evaluation conclusion is that we can achieve what we want by using this tool by only doing necessary limited code changes. Please correct me if I am wrong.
We plan to do basically below:
- Extend https://github.com/openSUSE/qem-bot code, mainly incidents.py to support our special openqa job trigger command options for different packages
- Add .yml files for our VT job groups' config in package qam-metadata-openqabot, some for job groups in openqa.suse.de and some for job groups in openqa.qam.suse.cz.
- Adapt https://gitlab.suse.de/qa-maintenance/bot-ng/-/blob/master/.gitlab-ci.yml to ensure OSD pipelines of "schedule incidents" won't include our file for openqa.qam.suse.cz
- Add new pipelines in https://gitlab.suse.de/qa-maintenance/bot-ng to do "incidents-run" for openqa.qam.suse.cz (reuse existing pipeline to trigger incident job on openqa.suse.de)
- Add new pipelines in https://gitlab.suse.de/qa-maintenance/bot-ng to do inc-sync-results for jobs on openqa.qam.suse.cz?
Question: can the tool support to update jobs from non-OSD openqa to dashboard.qam.suse.de? If yes, can dashboard webui display the jobs normally as it is now for OSD only case? If not, there will be no way to tell whether the incident job has been triggered or not on openqa.qam.suse.cz, and the new added pipeline for "incidents-run" on it will always trigger, right? How to solve this?
How do you think? Can we proceed with this? Will it impact your existing pipelines? What else we should do? Or any other better ideas?
Major concerns or uncertain things¶
- Can all tools in this proposal support triggering, recording and displaying jobs on MULTIPLE OPENQA INSTANCES for single incident, by executing multiple periodic pipelines one after another? Eg, if qemu pkg is updated in one incident, can it trigger both existing jobs in sth like https://openqa.suse.de/tests/overview?build=%3A23253%3Aqemu&distri=sle&groupid=367, as well as sth like http://openqa.qam.suse.cz/group_overview/154?
- The impact of making changes to any part of the tool chain has big impacts. How do you test and verify the change work as expected, before pushing to official repo?
Further needs¶
If it is feasible to implement our need based on this tool, can anyone help grant membership to both repositories, with access level that I can see how pipelines are configured?