Commit Graph

44 Commits

Author SHA1 Message Date
1ba508169f Fix watcher timestamp handling for reused categorized runs
- interpret ATVM controller log timestamps in the controller's local timezone before converting to UTC so the watcher uses the correct current-run window
- prevent newly started categorized runs from immediately picking up older categorized artifacts just because the parent build name was reused
- keep the categorized watcher focused on artifacts from the current controller run instead of stale prior attempts
2026-03-26 12:26:23 -04:00
3ea732d63c Improve categorized ATVM watcher sub-run detection
- update the watcher to detect the active categorized sub-run from the live `--ci-build-id` process state instead of treating the parent run as one synthetic grouped run
- fix host XML parsing so the watcher prefers the real host suite over the `Root Suite` entry, avoiding `0 tests, 0 failures` summaries
- use the first timestamp inside the run log as the watcher start time so restarted watchers do not miss current-run categorized artifacts because of log file mtime drift
- improve active-host inference for categorized runs so the watcher maps the current categorized build to the correct host family while the sub-run is still in progress
2026-03-26 12:01:07 -04:00
f5849dde0c Reset reused watcher state before starting a new ATVM run
- update the watcher start helper to stop any stale watcher instance for the same requested parent build name and remove its old state directory before starting fresh
- document that reused parent build names must not inherit stale cancelled, posted, state.json, or subruns state from older runs
- update the watcher install and design docs so the controller workflow explicitly treats stale reused-build-name state as part of startup cleanup
2026-03-26 11:30:28 -04:00
dda0a0b4c0 Require verification after git commit execution
- update the git guide to require post-commit verification before reporting success
- document that commit verification must confirm git commit exited successfully, HEAD advanced, and the new commit appears in git log
- document that failed or non-created commits must be reported clearly instead of being claimed as successful
2026-03-26 11:03:20 -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
68cd428733 Require CDC cleanup before Windows CMC reinstall in CDS MCP workflow
- update the Windows CMC install reference to require CDC project cleanup before reinstall when stale host state may exist
- update the VMware MigrateOps guide so the cleanup-first CMC preparation rule applies to both Linux and Windows sources
- document that Windows reinstall must be followed by a fresh CDC reconnect check before creating migration sessions
- update CDS MCP AGENTS guidance so Windows sources do not skip the standard CDC cleanup plus reinstall sequence
2026-03-26 10:14:11 -04:00
b19d6a912e Document Windows SSH-based CMC workflow for CDS MCP
- update the CDS MCP CMC install reference to prefer SSH plus PowerShell for Windows guest execution instead of VMware guest operations
- document the Windows install-state check and uninstall-then-reinstall pattern so it matches the Linux CMC preparation flow
- update the VMware MigrateOps guide to treat Windows CMC preparation as an SSH-based workflow using ATVM_WINDOWS_TARGET_* credentials
- update the CDS MCP README and AGENTS guidance so the Windows guest execution default is explicit
2026-03-26 08:47:53 -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
c9706e9702 Record cancelled watcher state on ATVM run cancellation
- update the watcher cancel helper so it writes a final CANCELLED state into state.json before stopping the service
- record cancellation timestamps and a cancellation note in the watcher state file for clearer post-run inspection
- update the watcher service docs so the documented cancel behavior matches the state-file handling
2026-03-25 18:24:17 -04:00
9caa7deb94 Stop tracking Python bytecode in watcher service
- remove the committed watcher-service __pycache__ bytecode file from git tracking
- ignore Python bytecode artifacts so generated .pyc files do not get committed again
- keep the watcher-service source files as the only tracked implementation artifacts
2026-03-25 17:44:52 -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
fe228ff0e9 Normalize VM inventory naming and version ordering
- fix the remaining in-family version ordering for Oracle Linux, Redhat Linux, Rocky Linux, and Windows rows
- normalize distro labels so the inventory consistently uses Oracle Linux, Redhat Linux, and Rocky Linux
- leave hostnames, kernel versions, notes, and blacklist annotations unchanged
2026-03-25 13:31:07 -04:00
06231e5dbf Reorder VM inventory and add blacklist notes
- reorder atvm/inventory/vm-inventory.md so distro families stay grouped and versions sort together
- add a Notes column to the VM inventory table
- annotate blacklisted VMs with their current known reasons from the ATVM automation docs
- leave existing OS labels, naming inconsistencies, and typos unchanged while restructuring the table
2026-03-25 13:21:41 -04:00
45578b23a9 Add atvm VM inventory markdown 2026-03-24 22:52:24 -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
4c07863f6c Clarify git commit message workflow in git guide
- require commit descriptions to include a concise title and a detailed body when warranted by the change scope
- require the proposed git commit command to match the full approved message, including the detailed body
- document that execution should not collapse an approved full commit message to only the short title
2026-03-24 14:37:37 -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
b1960b7dd4 Clarify git approval workflow in git guide 2026-03-23 21:03:34 -04:00
807dd9469a Update ATVM docs for cmcReporter artifacts 2026-03-23 20:55:56 -04:00
0405c09987 Reorganize cdsmcp workspace into docs, templates, and artifacts
Restructure the cdsmcp folder to separate operator guidance, reusable templates, and runtime artifacts into clearer top-level areas.

Move the VMware migration guide and run learnings into docs/, move vmw.yaml into templates/, move the existing log into artifacts/logs/, replace the old index file with a README, and split the former monolithic guide into focused documents for VMware MigrateOps workflow, VM lookup and FC/disk assignment, and CMC install reference.

Update internal references so the reorganized layout remains coherent without changing the underlying operational guidance.
2026-03-21 20:57:14 -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
08b2ab3104 Tighten git push guidance to require terminal-only execution
Update the git guide so the assistant does not execute git push commands when credentials or SSH key passphrases might be required. Instead, the assistant must show the exact push command and direct the user to run it directly in the terminal.

Keep the existing rule that passwords and passphrases must not be accepted through chat and that password handoff requests must be refused.
2026-03-20 21:31:10 -04:00
08eebad3f9 Harden git workflow guidance for credential prompts
Update the git guide so credential and passphrase prompts are never handled through chat. Document that when git push -u origin main or any git command prompts for a secret, the assistant must stop and direct the user to enter it directly in the terminal.

Also document that the assistant must refuse requests to take password or passphrase handoff for git operations.
2026-03-20 21:29:07 -04:00
c0d1c15f95 Update git workflow guidance for reviewed commit and push flow
Document the repo preference that commit-description requests must show the proposed commit message first, followed by the exact git commit command and the exact git push -u origin main command that would be executed.

Require explicit user approval before running either command, and document that push operations should default to git push -u origin main with an interactive handoff at any password or SSH key passphrase prompt.
2026-03-20 21:24:06 -04:00
30d6764dbc Document default SSH handling for 192.168.3.191
Add guide rules that treat 192.168.3.191 as the default ATVM target host.

For that IP, default SSH access now assumes root/cdsi2012 credentials and ignores host key mismatch with StrictHostKeyChecking=no and UserKnownHostsFile=/dev/null.

Update ATVM setup, automation, and ESX/vCenter guides so future runs use the same default behavior consistently.
2026-03-20 21:17:01 -04:00
eb2ab44e86 Require approval before ATVM command execution
Update the ATVM automation guidance so exact planned commands must always be shown for operator review before any execution. Require explicit approval before running cmc-templates.py, run-sorry-cypress.py, or any other ATVM run command, and require fresh approval whenever the displayed command set changes. Also record the new approval rule in the ATVM run-learning notes and operator instruction file.
2026-03-20 18:58:29 -04:00
c18b42549c Update ATVM blacklist and enforce sequential runner launch
Adjust the maintained ATVM blacklist so atvm156-debian9.3.0 uses the reason RE-CREATE MIGHT BE NEEDED and remove atvm157-debian13.0.0 from blacklist entries and reusable exclude examples. Also clarify the ATVM automation workflow so cmc-templates.py must finish successfully before run-sorry-cypress.py is started.
2026-03-20 14:45:05 -04:00
d989c8a071 Document default FC and disk assignment workflow for ATVM VMs
Update the VMware runbook to describe the default VM attachment workflow for assigning FC passthrough adapters vmhba7 and vmhba8 plus datastore disks atvm-DISK_1.vmdk and atvm-DISK_2.vmdk, with mandatory live verification, pre-action summary, explicit approval, and no-substitution behavior unless the operator specifies alternatives.
2026-03-18 19:40:32 -04:00
51d782d964 atvm: resolve automation status from local workflow artifacts
Clarify that ATVM automation status requests refer to the local atvm
folder workflow and the automation VM at 192.168.3.190, not Cirrus
project operations such as the atvm - cypress project.

Update the ATVM guide and AGENTS notes to prefer local evidence in this
order when reporting status:
- active runner processes
- live automation VM files
- shell history for the last launch command
- historical reporter artifacts

Record the new run learning in atvm-automation-runs.md so future status
requests use the correct source of truth.
2026-03-18 08:22:24 -04:00
8d2e245c6b docs: default ATVM automation to ignore force shutdown and iscsi
Document ATVM automation defaults to always include --ignore_force_shutdown on cmc-templates.py commands and to use --use_specified_plugin iscsi unless explicitly overridden.

Update the ATVM automation guide, folder-level AGENTS instructions, and run learnings so future runs follow the same defaults.
2026-03-17 19:13:06 -04:00
99691aca92 Document ATVM status defaults for live and categorized runs
Clarify ATVM automation status handling so status requests default to live run data from the automation VM. If no automation is active, fall back to the most recent historical run artifacts and logs.

Also document that categorized runs must always be reconstructed as a single full run across all category batches or cloud sub-runs, rather than reporting only the current or latest batch.

Update:
- atvm/atvm-automation-guide.md
- atvm/AGENTS.md
- atvm/atvm-automation-runs.md
2026-03-16 17:05:57 -04:00
491bd7748c Expand git guide for origin and commit approval workflow
Update git-guide.md to document the repository URL used for this workspace as the current origin.

Require showing the exact git commit command alongside proposed commit messages.

Wait for explicit approval before creating a commit.
2026-03-14 20:59:22 -04:00
b25ff326cc Add repo git commit approval guide
Document the repo-specific git workflow for /home/aw/code/cds. Require drafting commit messages for user review before running git commit, and keep commits scoped to the approved change.
2026-03-14 20:16:25 -04:00
c9a908ff3d Document ATVM missing-config fail-fast rule
Record the operator preference to stop immediately when a requested ATVM config file is missing. Update the ATVM guide, local agent instructions, and run learnings to avoid searching for or substituting alternate config files without explicit direction.
2026-03-14 20:11:06 -04:00
eb66f93432 Update ATVM status reporting to use longer inline failure descriptions
- show failed machines with a longer failure description on the same status line

- keep Notes for broader context beyond the machine-specific failure reason

- update the ATVM automation guide and AGENTS rules to match

- record the reporting preference in atvm-automation-runs.md
2026-03-12 21:13:54 -04:00
ecae52712f Clean up ATVM automation examples and standardize status guidance
- keep atvm-automation-examples.md limited to reusable example commands

- move example-file role guidance into AGENTS.md and atvm-automation-guide.md

- document that all ATVM automation run types use the same status display format

- record the status-format rule as a run learning in atvm-automation-runs.md
2026-03-12 17:43:49 -04:00
63fc92244e Clarify ATVM automation examples are reference-only
- Treat atvm-automation-examples.md as reference material rather than default operator intent.

- Use only explicitly requested options, plus maintained mandatory blacklist handling.

- Record the rule as a run learning in atvm-automation-runs.md.
2026-03-12 17:02:49 -04:00
bb7275db4a Default ATVM automation commands to gold config files
Stop defaulting to cypress.atvm-config.ts in ATVM guidance.

Prefer gold-named config files unless explicitly told otherwise.

Update automation examples to use cypress.atvm-config-gold.ts.

Record the run learning explaining why the old default is unreliable.
2026-03-12 14:33:25 -04:00
e1a551cdb2 Update ATVM automation blacklist and status formatting guidance
Add atvm144-suse15.0 to the ATVM automation blacklist because it crashes when creating a migration session.

Update maintained exclude examples to include the new blacklist entry.

Tighten status reporting guidance to require one machine per line.

Add a Notes section for failure reasons and operator-facing context.

Record the new run learnings in atvm-automation-runs.md.
2026-03-12 11:03:08 -04:00
48f189792b Update ATVM automation status reporting guidance 2026-03-11 18:08:20 -04:00
94d16c9536 added more information to the printout when asking to give me status of the atvm automation run 2026-03-11 17:16:13 -04:00
93b6d7acb8 Initial commit 2026-03-11 15:19:25 -04:00