action #162515
opencoordination #161168: [epic] Support hooks for obs-sync plugin
[timeboxed:20h][spike solution] Adaptable product scheduling in openqa-trigger-from-obs size:S
0%
Description
Motivation¶
As findings in #161879#note-6 reveal, the change to make scheduling more dynamically needs to be done in openqa-trigger-from-obs
directly (as the openQA sync plugin is just a script runner and frontend). There are various ways to influence the job scheduling, e.g. adding support for invoking a hook script which could again be done on various levels/places. One could alter the script generator (scriptgen.py
) directly to change the generated scripts or one could alter rsync.sh
as shown in https://github.com/os-autoinst/openqa-trigger-from-obs/pull/249. It is also questionable whether we still want to top-level script generator (scriptgen.py
). The point is: There are many options to discuss/explore. If we just make it print "Hello world" somehow/somewhere as a first step this is not going to help us find what we need to solve the actual problem.
Acceptance criteria¶
- AC1: We know what we need to change in our current mechanism for triggering tests in the light of #159828.
- AC2: We know who (which team) is going to change what parts.
Suggestion¶
- Read #161879#note-6 and related source files to get an idea of how openqa-trigger-from-obs works
- Conduct a pair programming session with members from QE Core and QE Tools (or possibly other interested teams) to come up with a draft PR for https://github.com/os-autoinst/openqa-trigger-from-obs.
Updated by mkittler 5 days ago
We discussed this at the workshop. The actually identified 3 places where we could invoke the hook script:
rsync.sh
as my previous PR has already shown.- Inside the server-side scheduling logic of openQA. It could take another special parameter
HOOKSCRIPT=…
and run that script server-side. - By
openqa-cli
which could take another parameter--hook-script
and would call this script with all test variables specified on the command-line. The script can then amend this list of test variables beforeopenqa-cli
makes the actual API request.
Option 3. sounded the most promising.
Updated by ybonatakis 3 days ago
talk to Santi yesterday and from my understanding what he is looking for seeing at the moment is just that running the openqa-trigger-from-obs's script will just go through a set of other (hook) scripts which will expand the output (openqa-cli). Having said that, no condition are given for when the hook will apply. He thinks of this functionality behaving similar to git-hooks.