Fix ATVM watcher test flow plugin filtering

This commit is contained in:
2026-04-14 12:40:21 -04:00
parent 1c7ed11809
commit 72ef15f308
4 changed files with 95 additions and 2 deletions

View File

@@ -293,6 +293,7 @@ Status-report expectations:
- In `TEST FLOW:`, show the template-specific numbered run flow once for the whole test, not per host.
- For `TEST FLOW:`, treat the generated host spec from the actual run as the source of truth whenever it exists.
- Extract the numbered flow steps from the generated `.ts` spec referenced by that run's `specPattern`.
- When the generated spec contains runtime-gated plugin branches such as `if(useFCPlugin)` and `if(useIscsiPlugin)`, only include the steps for the plugin path actually selected for that run.
- Do not prefer a static template flow list over a generated spec from the actual run.
- Use template-level or static fallback flow only when the generated spec cannot be found or parsed.
- If fallback is required, resolve it from the run template name before using any generic default flow.

View File

@@ -517,3 +517,12 @@ This file stores run-specific examples only when a run produced a new learning r
- `--test_partition`
- `--set_static_ip_dest`
- Only omit or change those options when the operator explicitly overrides them.
## Run Learning: 2026-04-14 (Generated-spec `TEST FLOW` must honor the selected plugin branch)
- Observed failure mode:
- A Pure FC `cmc-e2e` run posted a 39-step `TEST FLOW:` even though the actual FC path for that template uses 22 steps.
- The generated spec contained both `if(useFCPlugin)` and `if(useIscsiPlugin)` blocks, and the watcher counted every `it(...)` step without applying the runtime plugin gate.
- Action for future runs:
- When extracting `TEST FLOW:` from a generated spec, include common steps plus only the runtime-gated plugin branch selected for that run.
- Use watcher metadata such as the approved integration/plugin path to decide whether to include FC steps, iSCSI steps, or both.
- Do not count every plugin-gated branch in the generated spec just because the text is present.

View File

@@ -90,7 +90,7 @@ Use this as the default ATVM automation run-status template for:
- If `categorize mode: enabled` is shown, do not also repeat `--categorize` under `run options`.
- When grouped categorized timing is reconstructed from host reporter artifacts, still populate `quickest`, `longest`, and `average` from inferred per-host durations when possible.
- `TEST FLOW:` should describe the template-specific numbered run flow once for the whole test, not per host.
- The watcher resolves `TEST FLOW:` from the run template name.
- The watcher should prefer the generated spec for the actual run when it exists, and only include the plugin-gated branch that actually ran.
- `cmc-e2e` currently uses this flow:
- `1. Verifying set up`
- `2. Power on and obtain ip address and host name`