Add ATVM systemd runner service

This commit is contained in:
2026-04-14 09:49:49 -04:00
parent a22ff8edf1
commit 7cdcbf8cf1
8 changed files with 220 additions and 14 deletions

View File

@@ -105,8 +105,9 @@ Typical sequence:
6. Verify the generated `.ts` files and the config `specPattern` include every requested VM before starting the runner.
7. If the watcher is approved, make sure the controller's deployed watcher code is the intended version before relying on its posts.
8. If the watcher is approved, build the watcher-start command so it automatically includes the exact approved `cmc-templates.py` command via `--template-command` and the exact approved `run-sorry-cypress.py` command via `--runner-command`.
9. If the watcher is approved, start the watcher before launching `run-sorry-cypress.py`.
10. Run `run-sorry-cypress.py` with the matching approved config and build name.
9. If the watcher is approved, prefer the controller-local `atvm-runner@...` systemd service instead of detached SSH background launch patterns for `run-sorry-cypress.py`.
10. If the watcher is approved, start the watcher before launching the runner service.
11. Start the runner with the matching approved config and build name.
Completed-run verification sequence:
1. Read the launch log for the build.
@@ -205,15 +206,15 @@ Before any new automation request:
8. If the run uses `--categorize` and the watcher is requested, include `--categorize` on the watcher start command too so the watcher tracks sequential categorized sub-runs correctly.
9. Run only approved command(s), no extra options and no silent substitutions.
10. When both template generation and the Cypress runner are requested, run them sequentially, not in parallel.
11. Do not launch `run-sorry-cypress.py` until `cmc-templates.py` has exited successfully and finished updating the intended config/spec files.
12. After `cmc-templates.py`, always verify that the generated spec files on disk and the config `specPattern` both contain the full requested VM set before launching `run-sorry-cypress.py`.
11. Do not launch the ATVM runner until `cmc-templates.py` has exited successfully and finished updating the intended config/spec files.
12. After `cmc-templates.py`, always verify that the generated spec files on disk and the config `specPattern` both contain the full requested VM set before launching the ATVM runner.
13. If any requested VM is missing from the generated files or `specPattern`, stop and report the mismatch instead of launching the runner.
14. Treat displayed commands as a review gate: do not execute either command until the operator has had a chance to review them and explicitly approve.
15. If the operator asks to change plugin, config, filters, build name, Gold Disk, or scope after commands are shown, discard the old plan, show the revised commands, and wait for new approval.
16. If the planned command is `cmc-reboot` with `--use_specified_plugin both`, add the FC+iSCSI timing warning to the review message and require explicit confirmation that `both` is intended before execution.
17. If monitoring was not requested, report immediate success/failure for each command.
18. If monitoring was requested, keep monitoring until completion and report final outcome.
19. When the watcher is requested, launch the watcher before `run-sorry-cypress.py`.
19. When the watcher is requested, launch the watcher before the runner service.
20. Do not start the runner before the watcher, because the watcher helper clears stale `/tmp/<build-name>.log` and can delete the fresh live runner log if the runner starts first.
## Requested Test Style