Project

General

Profile

Actions

action #164388

closed

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 5 months ago. Updated 5 days ago.

Status:
Rejected
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 (public) - action #162515: [timeboxed:20h][spike solution] Adaptable product scheduling in openqa-trigger-from-obs size:SResolvedybonatakis2024-06-19

Actions
Actions #1

Updated by okurz 5 months 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 5 months 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 #4

Updated by okurz 3 months ago

  • Due date set to 2024-10-31
  • Status changed from New to Feedback

@szarate do you think more work is needed here or are the solution(s) provided by anikitin enough?

Actions #5

Updated by szarate 3 months ago

  • Tags set to qe-core-october-sprint
  • Assignee deleted (okurz)
  • Target version changed from Tools - Next to QE-Core: Ready

okurz wrote in #note-4:

@szarate do you think more work is needed here or are the solution(s) provided by anikitin enough?

Let me actually look at this and I'll bring it to tools if something else is needed

Actions #9

Updated by szarate about 1 month ago

  • Assignee set to babelworx

To be addressed on blocking task

Actions #10

Updated by szarate about 1 month ago

  • Status changed from Feedback to Blocked
  • Assignee changed from babelworx to vkatkalov

wrong asignee

Actions #11

Updated by okurz about 1 month ago

  • Due date deleted (2024-10-31)
Actions #15

Updated by szarate 5 days ago

  • Tags deleted (qe-core-october-sprint)
  • Status changed from Blocked to Rejected
  • Assignee changed from vkatkalov to okurz
  • Target version changed from QE-Core: Ready to future

This isn't a task for QE Core, and I think the problem hasn't been understood well by QE Tools. - Happy to chat once I'm back.

Actions

Also available in: Atom PDF