Project

General

Profile

Actions

action #162515

open

coordination #161168: [epic] Support hooks for obs-sync plugin

[timeboxed:20h][spike solution] Adaptable product scheduling in openqa-trigger-from-obs size:S

Added by mkittler 11 days ago. Updated 3 days ago.

Status:
Workable
Priority:
Normal
Assignee:
-
Category:
Feature requests
Target version:
Start date:
2024-06-19
Due date:
% Done:

0%

Estimated time:

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

Actions #1

Updated by mkittler 11 days ago

  • Tracker changed from coordination to action
Actions #2

Updated by okurz 10 days ago

  • Subject changed from [timeboxed:20h][spike solution] Adaptable product scheduling in openqa-trigger-from-obs to [timeboxed:20h][spike solution] Adaptable product scheduling in openqa-trigger-from-obs size:S
  • Description updated (diff)
  • Status changed from New to Workable
Actions #3

Updated by mkittler 5 days ago

We discussed this at the workshop. The actually identified 3 places where we could invoke the hook script:

  1. rsync.sh as my previous PR has already shown.
  2. Inside the server-side scheduling logic of openQA. It could take another special parameter HOOKSCRIPT=… and run that script server-side.
  3. 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 before openqa-cli makes the actual API request.

Option 3. sounded the most promising.

Actions #4

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.

Actions

Also available in: Atom PDF