action #97112
closedcoordination #58184: [saga][epic][use case] full version control awareness within openQA
coordination #94750: [epic] Support needles from git-cloned or separate repo if casedir points to a git-repo
Support relative needle directories together with tests checked out from git
Description
Motivation¶
See the unexpected current default behaviour in #94735
Acceptance criteria¶
- AC1: For tests with CASEDIR pointing to a git repo including tests+needles by default needles from that repo should be used and not a non-git default repo
Suggestions¶
- To understand how the current behaviour is it is suggested to trigger tests with CASEDIR=https://github.com/os-autoinst/os-autoinst-distri-example because the example distribution includes needles in the same repo
Discussed with mkittler and livdywan. We propose to shift more logic into os-autoinst and implement an additional keyword so that os-autoinst looks up only a fallback needles repo in case needles are not found anywhere else. Also we assume that os-autoinst is easier to change and maintain. The current proposal is to use
NEEDLES_DIR=[<keyword>]<dir>
, e.g.NEEDLES_DIR=[fallback]my/productdir/needles
for a relative fallback directory. The only suggested to be supported keyword should be "fallback" for now.In os-autoinst parse keyword from
NEEDLES_DIR
If "[fallback]" then try to find needles in all default paths, e.g. subdir of casedir, productdir, etc., only if not found look up in the fallback one
Prepare setting fallback in openQA Worker/Engines/isotovideo.pm but do not merge yet
Deploy new feature in os-autoinst
Wait grace period
Deploy openQA feature
Updated by okurz over 3 years ago
- Copied from action #94735: needles not found in `needles` subdirectory when CASEDIR is a git repository added
Updated by okurz 5 months ago
- Copied to action #164577: [timeboxed:6h][research] Understand the current behaviour of openQA test distributions including needles added
Updated by okurz 5 months ago
- Status changed from Blocked to Resolved
We decided that it's not worth to change the default behaviour and rather ask to specify needles dirs explicitly at best in all cases. The documentation on http://open.qa/docs/ explains that and also mentions examples like CASEDIR=https://github.com/os-autoinst/os-autoinst-distri-example.git NEEDLES_DIR=%%CASEDIR%%/needles
. With this relative needle directories are supported