From e3497111dd277e33006736d62be7fe1f21a3a88d Mon Sep 17 00:00:00 2001 From: "anthony.wen" Date: Thu, 7 May 2026 11:13:42 -0400 Subject: [PATCH] atvm: default windows runs to hang_retries 0 --- atvm/AGENTS.md | 1 + atvm/docs/automation/guide.md | 1 + atvm/docs/automation/run-learnings.md | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/atvm/AGENTS.md b/atvm/AGENTS.md index 3b9284e..0eca51a 100644 --- a/atvm/AGENTS.md +++ b/atvm/AGENTS.md @@ -53,6 +53,7 @@ This file defines how to operate and maintain the ATVM workspace in `/home/aw/co - Always include `--ignore_force_shutdown` unless explicitly told not to. - Always include `--test_partition` unless explicitly told not to. - For `cmc-migrateops-compute-migration` to VMware, default to `--vm_platforms vmware` and `--set_static_ip_dest` unless explicitly told otherwise. +- For ATVM automation runs that involve Windows guests, default the runner command to `--hang_retries 0` unless explicitly told otherwise. - Default config family: `gold` - Treat `cmc-systemOS` as not using plugin or integration-type arguments. Do not auto-add `--use_specified_plugin`, `--integration_type`, or watcher integration/plugin metadata for that template. - Do not auto-add the maintained `--exclude_partial_match` blacklist when the operator explicitly targets named VMs with `--specify_vms`. diff --git a/atvm/docs/automation/guide.md b/atvm/docs/automation/guide.md index 4c344a0..c4742e7 100644 --- a/atvm/docs/automation/guide.md +++ b/atvm/docs/automation/guide.md @@ -36,6 +36,7 @@ Run ATVM CMC automation tests on the designated automation VM without unintended - Do not add plugin or integration-type arguments to `cmc-systemOS`; that template should be planned without `--use_specified_plugin`, without `--integration_type`, and without watcher integration/plugin metadata. - For `cmc-migrateops-compute-migration`, default to `--set_static_ip_dest` unless the operator explicitly says otherwise. - For `cmc-migrateops-compute-migration` to VMware, default to `--vm_platforms vmware` unless the operator explicitly says otherwise. +- For ATVM automation runs that involve Windows guests, default `run-sorry-cypress.py` to `--hang_retries 0` unless the operator explicitly says otherwise. - For `cmc-reboot`, treat `--use_specified_plugin both` as an exception case that requires an extra confirmation. - When `cmc-reboot` is planned with `--use_specified_plugin both`, warn that FC+iSCSI together may hit a "chicken before the egg" timing problem where iSCSI disks are not attached before mTDI / CMC services start. - For `cmc-reboot`, prefer `--use_specified_plugin fc` or `--use_specified_plugin iscsi` unless the operator explicitly reconfirms that `both` is really intended after seeing that warning. diff --git a/atvm/docs/automation/run-learnings.md b/atvm/docs/automation/run-learnings.md index be5864f..dae998a 100644 --- a/atvm/docs/automation/run-learnings.md +++ b/atvm/docs/automation/run-learnings.md @@ -26,6 +26,13 @@ This file stores run-specific examples only when a run produced a new learning r - For `cmc-migrateops-compute-migration`, include `--set_static_ip_dest` by default unless the operator explicitly asks not to. - Keep platform selection (`--vm_platforms ...`) based on the operator request while retaining this static-IP default. +## Run Learning: 2026-05-07 (Default Windows-involved ATVM runs to hang retries 0) +- Observed requirement: + - When an ATVM automation run involves Windows guests, runner retry loops should be disabled by default to avoid long post-failure wait cycles. +- Action for future runs: + - For Windows-involved ATVM automation runs, add `--hang_retries 0` to `run-sorry-cypress.py` by default unless the operator explicitly requests a different value. + - Keep this as an operator-default behavior even though the underlying runner option is generic and not Windows-only in code. + ## Run Learning: 2026-05-02 (Do not reuse the previous controller status check for a new ATVM request) - Observed failure mode: - A later ATVM run request was blocked because the assistant reused the immediately previous controller status result instead of performing a fresh live running-state check at request time.