Commit Graph

46 Commits

Author SHA1 Message Date
eb0e171e41 Tighten ATVM categorized run status verification
require categorized PASS results to be confirmed from the child run log or Cloud Run Finished summary

forbid treating watcher host_results, grouped XML, or check-xml-files.ts alone as proof of PASS

record the 2026-04-24 false-PASS incident as a run learning
2026-04-24 08:46:37 -04:00
1b88e8887e Document govc datastore resolution for ATVM placement checks
Add the working vCenter placement-check pattern to the ATVM automation guide so explicit VM-list planning uses the correct lowercase govc JSON keys, resolves datastore refs to names, and ignores helper datastores such as install ISO attachments when deciding between gold and gold-2.
2026-04-16 08:13:33 -04:00
32ff90ce74 Allow single-VM group consistency planning
- allow explicit single-VM cmc-group-consistency requests
- add a single-VM group consistency example for redhat9.1 pure fc
2026-04-15 09:20:07 -04:00
a26fa29912 Document live vCenter ATVM datastore selection
- map AutomatedTest-VMBootImg-Gold to gold and Gold-2 to gold-2
- require live vCenter placement checks for explicit VM lists
- stop mixed gold/gold-2 requests before planning ATVM runs
- return hostname-only datastore inventories by default
- tell the operator about the vCenter placement check before showing run commands
- clarify that repo inventory files are not the source of truth for current datastore membership
2026-04-15 08:45:52 -04:00
a5e30b6acf Use actual ATVM runtime flow steps in watcher output 2026-04-14 19:05:37 -04:00
893fe35524 Clarify ATVM systemOS command defaults 2026-04-14 15:37:53 -04:00
72ef15f308 Fix ATVM watcher test flow plugin filtering 2026-04-14 12:40:21 -04:00
1c7ed11809 Prevent ATVM watcher and runner log race 2026-04-14 11:13:54 -04:00
7cdcbf8cf1 Add ATVM systemd runner service 2026-04-14 09:49:49 -04:00
a22ff8edf1 Improve ATVM watcher status metadata and run workflow 2026-04-14 07:56:53 -04:00
e60bd5e9cd Default ATVM vmware compute migration options 2026-03-31 12:35:44 -04:00
7ab5daeca8 Split ATVM failure notes from general status notes 2026-03-30 22:31:41 -04:00
18dcbc89f9 Improve ATVM failed-host detail recovery 2026-03-30 21:38:59 -04:00
c64a64ca14 Prefer generated specs for ATVM test flow 2026-03-30 20:31:14 -04:00
b1b7e89449 Default ATVM template runs to test partition 2026-03-30 20:26:08 -04:00
e8353dc9a9 Require explicit confirmation for reboot plugin both 2026-03-30 20:20:15 -04:00
dec13a4667 Tighten ATVM completed-run status verification 2026-03-30 20:12:56 -04:00
0b379612a8 Clarify ATVM plugin validation rules 2026-03-30 16:22:59 -04:00
1405a2e879 Fix categorized ATVM watcher host result recovery 2026-03-30 14:02:32 -04:00
d383b57ccc Align systemOS watcher output with template behavior 2026-03-27 21:30:36 -04:00
6c7ba5212b Refine categorized timing metrics and coverage output 2026-03-27 18:49:11 -04:00
06b8098499 Align ATVM coverage and notes with template command 2026-03-27 17:47:36 -04:00
708eddd7fa Remove verbose scope text from ATVM coverage 2026-03-27 17:40:32 -04:00
5432240525 Expand ATVM coverage details with run options 2026-03-27 17:32:22 -04:00
9024d5cadb Trim internal fallback details from ATVM notes 2026-03-27 16:12:14 -04:00
650adb085e Keep ATVM watcher notes operator-focused 2026-03-27 14:54:39 -04:00
3b28f877ef Refine explicit-VM blacklist handling for ATVM runs 2026-03-27 12:30:31 -04:00
95eeba60cd Make watcher the default ATVM approval path 2026-03-27 12:24:21 -04:00
c60542e0e5 Reorder ATVM status output and standardize push reminders 2026-03-27 11:57:19 -04:00
4b04f9b49d Fix duplicate watcher posts and restore 22-step E2E flow 2026-03-27 11:28:48 -04:00
53f9e68fcd Show full template test flow in ATVM status 2026-03-27 10:19:02 -04:00
2699651f8f Require watcher startup before ATVM runner launch
- update the ATVM automation guide to make watcher-first launch order explicit whenever the watcher is approved
- update the ATVM AGENTS rules so the runner is never started before the watcher for watcher-backed runs
- add a 2026-03-27 run learning documenting that the watcher helper can delete the live runner log if the runner starts first
2026-03-27 09:25:48 -04:00
6daa83b0c5 Replace FUNCTIONALLY with TEST FLOW in ATVM status output
- update the ATVM status template to replace the FUNCTIONALLY section with a TEST FLOW section that shows the generic numbered run steps once for the whole test
- update the ATVM automation guide to describe TEST FLOW as the standard status-report section instead of FUNCTIONALLY
- update the watcher-generated status output so Mattermost and local status responses use the same TEST FLOW section
- add a 2026-03-27 run learning recording the move from FUNCTIONALLY to TEST FLOW for future ATVM reporting
2026-03-27 08:07:00 -04:00
833225378d Suppress harmless watcher reset-failed noise in ATVM updates
- update the ATVM AGENTS guidance so expected  output is not called out in routine run updates
- update the ATVM automation guide to mention reset-failed output only when it actually blocks watcher startup or matters for debugging
- add a 2026-03-26 run learning recording that this reset-failed output is normal low-signal noise during successful watcher startup
2026-03-26 21:37:35 -04:00
2eed645a85 Require ATVM spec verification before starting the runner
- update the ATVM automation guide to require a post-template verification gate before launching run-sorry-cypress.py
- require verification that both the generated .ts files and the config specPattern include every requested VM after cmc-templates.py finishes
- document that the runner must not be launched when any requested VM is missing from the generated spec set
- update the ATVM AGENTS rules so this template-to-runner verification step is part of the default automation workflow
2026-03-26 15:55:13 -04:00
f5eb21cccd Infer categorized watcher group names from actual host execution
- update the watcher to stop trusting misleading categorized child build labels when they do not match the host/spec actually being executed
- infer the reported categorized group name from the actual host being run, so mismatched labels like ubuntu-batch for a Red Hat host are corrected in status reporting
- document the categorized watcher workaround in the ATVM guide, watcher design, and watcher README without changing the underlying ATVM runner scripts
2026-03-26 14:20:22 -04:00
44e6e0e653 Keep categorized ATVM watcher alive until parent run finishes
- update the watcher to treat categorized parent-run activity as the authoritative signal for whether the overall request is still running
- prevent the watcher from exiting early just because one categorized grouped sub-run completed and wrote artifacts
- document that categorized watcher instances must remain alive between grouped runs until the parent request has actually gone inactive past the grace window
- update the ATVM guide, watcher design, and install docs to reflect the stricter categorized parent-run completion rule
2026-03-26 12:39:23 -04:00
d60b8b9b18 Update ATVM watcher for categorized sub-run posting
- update the watcher design and automation guide to treat --categorize as sequential ATVM sub-runs rather than one parent run with internal phases
- document that categorized runs should send one Mattermost status per completed grouped sub-run instead of one parent-only final post
- add a --categorize option to the watcher start helper so categorized mode is explicit in watcher startup
- update the watcher implementation to track categorized sub-runs separately, write per-subrun state, and post each completed grouped run once
2026-03-26 11:00:39 -04:00
c0004c1dff Document separate Linux and Windows ATVM target credentials
- add explicit Windows ATVM guest credential references alongside the existing Linux target defaults
- update the ATVM automation guide and AGENTS rules so Linux SSH uses ATVM_TARGET_* while Windows guest access uses ATVM_WINDOWS_TARGET_*
- update the CDS MCP CMC install and VMware workflow docs to distinguish Linux and Windows credential usage for the shared ATVM target IP
- update the VM lookup reference so common VM credentials list both Linux and Windows target variables
2026-03-26 08:33:41 -04:00
ba8354b95c Add ATVM watcher service and explicit watcher approval flow
- add the per-run ATVM watcher service package under atvm/watcher-service, including the Python watcher, systemd template unit, helper scripts, and deployment docs
- document the watcher-service install and operating model, including one-run-per-instance behavior, Mattermost posting rules, and the best-practice /opt/atvm-watcher-service install path
- clarify ATVM run approval semantics so `approve` means run without watcher and `approve with watcher` means run and start the watcher
- update the ATVM automation guide and AGENTS rules so watcher usage and approval behavior are explicit and consistent
2026-03-25 17:41:50 -04:00
fc0ad5f09e Add kernel lookup to ATVM status template
- update the ATVM status template so the HOSTS: table includes a Kernel column after Host
- document that kernel values should be resolved by cross-referencing hostnames in atvm/inventory/vm-inventory.md
- document that unknown should be used when a kernel value cannot be verified from the VM inventory
- align the ATVM automation guide so local status output and Mattermost posts use the kernel-aware host table
2026-03-24 22:32:58 -04:00
0bf07f0e9c Add ATVM coverage and functional sections to status template
- update the ATVM status template to include COVERAGE: and FUNCTIONALLY: sections ahead of the existing summary tables
- document that COVERAGE: should describe intended run scope without listing target hosts
- document that FUNCTIONALLY: should summarize the intended workflow steps at a high level
- align the ATVM automation guide so local status output and Mattermost posts use the expanded default format
2026-03-24 22:10:25 -04:00
86b1a0e4a9 Scrub tracked secrets and switch ATVM docs to local credential references
- remove hardcoded credentials, tokens, registration codes, and similar secret values from tracked ATVM and CDS MCP docs
- replace those values with references to /home/aw/code/cds/.env.credentials.local and the corresponding environment variable names
- update current operator guides to instruct sourcing .env.credentials.local before credential-dependent setup and automation workflows
- update the ATVM setup scripts to consume ATVM_TARGET_PASSWORD from the environment instead of hardcoding the Ubuntu root SSH password
- scrub the remaining tracked artifact log entry that still included the old CMC registration code
- keep the local-only credential inventory in .env.credentials.local while leaving that file untracked
2026-03-24 17:32:44 -04:00
fa97ce5ad0 Update ATVM status reporting and credential handling docs
- change ATVM status formatting to the approved Markdown-table template with SUMMARY:, HOSTS:, TIMING:, and NOTES:
- document that normal status requests print locally only unless explicitly asked to send to Mattermost
- document Mattermost defaults and posting rules, including only sending after full run completion
- document the controller-side systemd watcher design for future automation
- add the secrets migration/cleanup review doc
- ignore .env.credentials.local in git and reflect the move toward using that local credentials file instead of hardcoded secrets
2026-03-24 14:27:00 -04:00
807dd9469a Update ATVM docs for cmcReporter artifacts 2026-03-23 20:55:56 -04:00
274b920b40 Reorganize ATVM workspace into scripts, docs, inventory, and archive
Restructure the ATVM folder to separate executable scripts from workflow documentation and long-form environment reference material.

Move setup and automation scripts into scripts/, move setup and automation guides into docs/, add top-level README and workflow conventions, and organize durable environment details into inventory/ while preserving the original long-form ATVM notes under archive/imported-notes/.

Update internal documentation paths to match the new layout and remove the archived Zone.Identifier metadata file.
2026-03-21 20:39:23 -04:00