openQA Project - coordination #102915: [saga][epic] Automated classification of failures
coordination #94105: [epic] Use feedback from openqa-investigate to automatically inform on github pull requests, open tickets, weed out automatically failed tests
[spike solution] [timeboxed:10h] Restart hook script in delayed minion job based on exit code size:M
From hook scripts we need to know about results from other hooks scripts.
- AC1: We know how a hook script can indicate it is not done yet, e.g. by returning a special exit code
- AC2: We know how openQA would be able to re-run the hook script again in a delayed Minion job in case of AC1
- See #109920 for further context and suggestions
- Note: The bash script openqa-investigate itself must not know anything about "openQA minion jobs" or schedule any
The first step in any solution will probably be moving the hook script execution into a separate Minion job. Which thanks to the good tests is not all that hard. https://github.com/os-autoinst/openQA/commit/8ab07cb29e179832cba1f7c33e53b11b40fdcd0e
I've also prepared a proof of concept that uses the native Minion retry mechanism to run hook scripts multiple times (up to 3 here) that use the exit status
Open questions that remain:
- How to configure the number of retries?
- How to configure the delay?
- Which exit code to use in the real implementation?
- How to handle the output of more than one run? (proof of concept only keeps the latest result)
log output for debugging into the gru log for all "skipped" runs, only keep latest result in minion job information.