coordination #161168
open[epic] Support hooks for obs-sync plugin
75%
Description
Motivation¶
See Discussion in https://suse.slack.com/archives/C02CANHLANP/p1716882218853889 and #159828-9
In general there is the need to be able to hook into different stages of how OBS Sync plugin works, or an alternative solution that allows a release manager or maintenance coordinator (with help of QE) to dynamically select/alter the test variables and openqa cli parameters, using a script.
- Main focus would be before and after the iso post is done, So that via hook, we could alter test schedules for a given build, based on the information contained by the assets (or other places where the owner of the hook has control)
- before and after syncing assets is secondary, so that administrator/anybody else, can do fancy things if needed
Intent¶
The intention here is to be able to dynamically select a set of tests or jobgroups to include in the isos post
based on information provided either by patchinfo or available in the obs/ibs repository. In the beginning, the support has to be enabled for o3 (i.e Tumbleweed, with @dimstar as a stakeholder)
So, the requirement we would need from this tool is to read and parse the information from the staging repo (patchinfo) or information available in the obs project, add extra parameters to the isos post, for example `FOO=VAR` variable o _GROUP_ID depending on which packages are to be tested. This way, we can customize which set of tests are triggered for specific packages. e.g. trigger kernel-ltp tests for kernel updates and skip them otherwise (similar to metadata incident config in bot-ng).
Acceptance criteria¶
- AC1: A "hello world" hook script can be called before actual "isos post" calls in https://github.com/os-autoinst/openqa-trigger-from-obs/
- AC2: hook scripts execution can be skipped based on configuration variables, e.g. from the .xml files in https://github.com/os-autoinst/openqa-trigger-from-obs/
- AC3.1: Solution should allow for the user to alter
isos post
behavior (cli parameters and variables, e.gBETA=1
) - AC3.2: Solution should allow for multiple hooks to coexist (think how git hooks behave)
Notes¶
Out of scope¶
- Implementing actual hook scripts, other than the hello world example (reference). #161750
Updated by szarate 7 months ago
okurz wrote in #note-2:
@szarate is this something that QE Core should work on with better understanding of both https://github.com/os-autoinst/openqa-trigger-from-obs/ as well as the requirements?
No, we're splitting the work: Tools will work on adding the support, and we (qe-core) will work on implementing the hooks.
Updated by okurz 7 months ago
- Description updated (diff)
- Target version changed from future to Ready
Clarified a little bit further bit hrommel1 and szarate. Adding to the tools team backlog and reducing prio accordingly to "Normal" which according to our SLOs in https://progress.opensuse.org/projects/qa/wiki/Tools#SLOs-service-level-objectives-internal means we should pick up the ticket within 1 month.
Updated by okurz 7 months ago
- Copied to action #161876: hook script support for obs-sync plugin - multiple hook scripts added
Updated by okurz 5 months ago
- Target version changed from Ready to Tools - Next
Created new #164388 for "take 2". I asked in https://suse.slack.com/archives/C02CANHLANP/p1721807401639009 #eng-testing for clarification:
So regarding https://progress.opensuse.org/issues/161168 , especially to …): We tried with https://progress.opensuse.org/issues/162515 but failed to come up with a viable proof of concept. Before you can expect anything useful from the tools team we need to get out of step 1 of https://miro.medium.com/v2/resize:fit:2800/0*K9vXpKMfe6hNQQnw.png