action #95783
Updated by okurz over 2 years ago
## Motivation
See #81859#note-7
## Acceptance criteria
* **AC1:** "openqa-investigate" triggers complete sets of multi-machine scenarios for investigation
* **AC2:** The investigation multi-machine scenarios are categorized like other investigation jobs, e.g. ":investigate:" in the name, outside any job group, no build, etc.
## Suggestions
* Have openqa-clone-job's --skip-chained-deps option only affect chained dependencies but not directly chained dependencies
* * Add --skip-directly-chained-deps
* Add a hook in openQA to invoke a script once all jobs in a dependency tree are done.
* Make openqa-investigate use that hook and investigate all jobs that weren't successful. It should use --max-depth 0 to ensure parallel clusters are always fully cloned (so it is not necessary to distinguish between parallel parents and children). It needs to keep track of handled job IDs to avoid investigating jobs multiple times as openqa-clone-job will already handle dependencies as needed (and therefore might clone already multiple jobs we need to investigate in one go). The tracking should be easy because openqa-clone-job --json-output has already been implemented.
* Add an opt-out (e.g. by specifying a certain test variable) so users who consider these tests as a waste of time won't complain e.g. configurable via a test variable
* * We could also make it in opt-in. So we'd keep the current behavior of skipping the investigation of jobs with parallel and directly chained dependencies unless a user specifies some test variable.
## Out of scope
* Multiple root jobs. We can consider that a future ticket for now.
* Spawning too many investigation jobs under high load. We could consider such jobs as low priority and drop them (user story, not technical definition).