Project

General

Profile

Actions

coordination #80372

closed

coordination #58184: [saga][epic][use case] full version control awareness within openQA

[epic] Cleanup vars.json as initial information container between openQA worker and isotovideo

Added by okurz over 3 years ago. Updated almost 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
Start date:
2021-02-08
Due date:
% Done:

100%

Estimated time:
(Total: 30.00 h)

Description

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


Subtasks 5 (0 open5 closed)

coordination #67723: [epic] Remote openQA worker fails to run tests from openqa-clone-custom-git-refspecResolvedokurz2021-03-18

Actions
action #90290: Relative paths for CASEDIR and others as default to be not bound to specific workersResolvedokurz2021-03-18

Actions
action #90293: Optional relative paths for CASEDIR and others to be not bound to specific workersResolvedXiaojing_liu2021-03-18

Actions
action #90302: Remote openQA worker fails to run tests from openqa-clone-custom-git-refspec due to differing pathsResolvedXiaojing_liu2021-03-18

Actions
action #88482: Two absolute paths concatenated to form a default needle dir when PRODUCT_DIR/needles doesn't existResolvedXiaojing_liu2021-02-08

Actions

Related issues 1 (1 open0 closed)

Copied to openQA Project - coordination #92314: [epic] Cleanup vars.json as initial information container between openQA worker and isotovideo - further cleanupBlockedokurz2021-01-04

Actions
Actions

Also available in: Atom PDF