action #111710
[qa-tools] [tools] remove usage of *_TEST_TEMPLATE vars in qem-bot and openQA media definition if favor of *_TEST_REPOS size:M
0%
Description
Current state:¶
Now QEM uses in aggregate jobs pretty complicated system to add repositories under test to jobs itself:
qem-bot post jobs with *_TEST_ISUES
variable.
In osd are defined media with templates in corresponding *_TEST_TEMPLATE
when is job started from this vars is calculated variable MAINT_TEST_REPO
using SCC_ADDONS
used code for this transformation:
main_common.pm
-> https://github.com/os-autoinst/os-autoinst-distri-opensuse/blob/master/lib/main_common.pm#L773-L789
SLE main.pm
-> https://github.com/os-autoinst/os-autoinst-distri-opensuse/blob/master/products/sle/main.pm#L323-L373
Cons:¶
- pretty complex settings for medium with high probability of error
- code used for this in os-autoinst-distri-opensuse is pretty complex
Proposal:¶
modify qem-bot to post new vars (*_TEST_REPO
) with corresponding repositories and the use simpler code to construct MAINT_TEST_REPO
by simply joining this vars still using SCC_ADDONS to join correct products/modules
qem-bot has all needed info for generate this vars which removes one layer of possible human errors (still can be problem in qa-metadata, but it is simpler to spot and debug)
Pro's:¶
- remove mess from media settings
- cleaner/simpler code in os-autoinst-distri-opensuse
Cons:¶
- lights more complex code in qem-bot ( Aggregate class )
- longer command line presented by qem-bot for aggregates
Acceptance criteria¶
AC1: implement needed changes in qem-bot
AC2: implement needed changes in os-autoinst-distri-opensuse
AC3: (optional) cleanup media definitions in OSD
O3¶
Note: this changes only handling for OSD, O3 uses different bot
so poo is not related ( but can be also implemented ? on O3 side)
Related issues
History
#3
Updated by osukup 3 months ago
okurz wrote:
I agree with the problem statement. Not sure if moving more complexity into qem-bot is good though.
in reality for qem-bot increase of complexity is pretty minimal --> needs only modify this https://github.com/openSUSE/qem-bot/blob/master/openqabot/types/aggregate.py#L167-L168 loop ( +- 2-3 lines of code ?)
on other side it removes from os-autoinst-distri more than 20 lines of code and many more from OSD media definitions
#4
Updated by osukup 3 months ago
jbaier_cz wrote:
That sounds like a good idea. I believe the bot can handle it without adding much complexity. There is also yet another bonus, without the calculation in "runtime" it should be easier and more transparent to clone a job with different subset if needed.
there still be some calculation online, but less complex
#5
Updated by osukup about 1 month ago
- Subject changed from [qa-tools] remove usage of *_TEST_TEMPLATE vars in qem-bot and openQA media definition to [qa-tools] remove usage of *_TEST_TEMPLATE vars in qem-bot and openQA media definition if favor of *_TEST_REPOS
#6
Updated by dvenkatachala about 1 month ago
- Related to action #109707: [qe-core] Detect when a maintenance update has been already released before running the test added
#12
Updated by openqa_review 9 days ago
- Due date set to 2022-08-23
Setting due date based on mean cycle time of SUSE QE Tools
#13
Updated by okurz 8 days ago
https://openqa.suse.de/tests/9296092#settings is a job using the new format with the _TEST_REPOS
variables. Could you please check that the according code of https://github.com/os-autoinst/scripts/pull/177 still works with the new format? Maybe it's enough to simply extend https://github.com/os-autoinst/scripts/blob/master/openqa-trigger-bisect-jobs#L76 to look for _TEST_(ISSUES|REPOS)
and maybe the sorting and grouping already works automatically even with repositories
#14
Updated by mkittler 7 days ago
- Subject changed from [qa-tools] [tools] remove usage of *_TEST_TEMPLATE vars in qem-bot and openQA media definition if favor of *_TEST_REPOS to [qa-tools] [tools] remove usage of *_TEST_TEMPLATE vars in qem-bot and openQA media definition if favor of *_TEST_REPOS size:M
#16
Updated by okurz 5 days ago
Please look into #111710#note-13
#17
Updated by osukup 3 days ago
okurz wrote:
Please look into #111710#note-13
bisect code needs some adjustment , on OSD are now TEST_ISSUES irrelevant + in reality code itself now don't work as excepted. Because it not undefine MAINT_TEST_REPO
variable. If its defined (and in clone by default is defined ) whole *_TEST magic is skipped