Project

General

Profile

coordination #80372

Updated by okurz 10 months ago

## Motivation
openQA leaks internal data about cache directory and other data into vars.json and to isotovideo. This causes problems like #67723 that we try to fix, makes it impossible for any user to run tests just by downloading the vars.json file without changes and also makes the "investigation" tab show up irrelevant changes when a scenario has been running jobs on different worker hosts or instances which is likely to happen. We should ensure a proper design from openQA side that we only write to `vars.json` what is portable and make os-autoinst cope with that.

Also see #58184

## Acceptance criteria
* **AC1:** #67723 can be fixed without hacky workarounds (okurz: I know, this is quite subjective)
* **AC2:** A `vars.json` file downloaded from any production worker can be run locally with isotovideo without needing to replace all "cache" related paths to point to local paths
* **AC3:** A diff of `vars.json` files between two jobs from different worker instances and/or machines within one scenario show less irrelevant, automatic changes, e.g. no "cache" related ones

## Suggestions

* As os-autoinst already supports relative paths, how about not writing something like `PRODUCTDIR=/var/lib/openqa/cache/openqa1-opensuse/tests/opensuse/products/opensuse` but symlink the test distribution into the current pool folder of the worker and use just `PRODUCTDIR=opensuse/products/opensuse`? As an alternative, maybe we do not need to care about PRODUCTDIR in openQA at all but move that logic to os-autoinst.

* As discussed in daily 2020-11-27 we were thinking about another approach, probably even easier: We can add a default fallback value for CASEDIR to read the *current directory*. Then in the openQA worker we create the symlink as mentioned above and do not need to specify CASEDIR at all

Back