Project

General

Profile

Actions

action #164388

open

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

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

Added by okurz 3 days ago. Updated 1 day ago.

Status:
New
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. We tried in #162515 and failed to come up with a viable prototype so we need to brainstorm to understand what is actually required.

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


Related issues 1 (0 open1 closed)

Copied from openQA Project - action #162515: [timeboxed:20h][spike solution] Adaptable product scheduling in openqa-trigger-from-obs size:SResolvedybonatakis2024-06-19

Actions
Actions #1

Updated by okurz 3 days ago

  • Copied from action #162515: [timeboxed:20h][spike solution] Adaptable product scheduling in openqa-trigger-from-obs size:S added
Actions #2

Updated by okurz 3 days ago ยท Edited

From https://suse.slack.com/archives/C02CANHLANP/p1721828012685379?thread_ts=1721807401.639009&cid=C02CANHLANP

(Andrii Nikitin) we did workarounds with variable= in xml https://gitlab.suse.de/openqa/openqa-trigger-from-ibs-plugin/-/blob/master/xml/SUSE:ALP:Standard:Staging.xml?ref_type=heads#L8 which theoretically can have any bash commands. They look like this in production https://openqa.suse.de/admin/obs_rsync/SUSE:ALP:Source:Standard:1.0:Staging:A/runs/.run_last/download/openqa.cmd not sure if such hooks could help (edited)
(Oliver Kurz) @Santiago Zarate see? that's yet another instance what I mean with "it's already possible. You need to tell us what's missing" :slightly_smiling_face: Is maybe the variable=approach good enough?
(Andrii Nikitin) yeah usually I request isos post commands that need to be executed. Then try to figure out how to generate them. theoretically we can add something like prescript / postscript to xml. In any case I think it will be simpler if we have exact expected commands in bash (even stubs), then see how to add that to xml and let scriptgen.py generate expected output.

What the approach mentions is https://gitlab.suse.de/openqa/openqa-trigger-from-ibs-plugin/-/blame/master/xml/SUSE:ALP:Standard:Staging.xml using

variable="ASSET_1=$( grep updateinfo $thisdir/files_asset.lst | head -n 1)"

I would assume with the same approach the test schedule can be adapted, e.g. setting "INCLUDE_MODULES" or "EXCLUDE_MODULES" or "SCHEDULE"

Actions

Also available in: Atom PDF