7.4 KiB
7.4 KiB
ATVM Status Template
Use this as the default ATVM automation run-status template for:
- local status responses in the terminal
- Mattermost status posts after a completed run
Layout
## ATVM Run Status
### <build_name>
**SUMMARY:**
| Metric | Value |
|---|---:|
| finished | <n> |
| passed | <n> |
| failed | <n> |
| skipped | <n> |
**HOSTS:**
| Host | Kernel | Status | Detail (For failures, see Failure Notes section below for more details) |
|---|---|---|---|
| <host-name> | <kernel-version or unknown> | ✅ PASS | completed |
| <host-name> | <kernel-version or unknown> | ⚠️ FAIL | <useful failure description> |
| <host-name> | <kernel-version or unknown> | ⏳ RUN | in progress |
| <host-name> | <kernel-version or unknown> | ⏭️ SKIP | <skip reason> |
**TIMING:**
| Metric | Value |
|---|---|
| start | <start time> |
| end | <end time or n/a> |
| total | <total or elapsed runtime> |
| quickest | <host> - <runtime> or n/a |
| longest | <host> - <runtime> or n/a |
| average | <runtime> or n/a |
**COVERAGE:**
- template: `<template-name>`
- categorize mode: `enabled` or `disabled`
- datastore/config family: `<config family>`
- config file: `<config-file-name>`
- migration style: `<high-level test style>`
- integration/plugin path: `<integration/plugin>` when the template command actually uses one
- run options: `<operator-relevant template flags such as --ignore_force_shutdown>`
**TEST FLOW:**
- <template-specific numbered steps>
**FAILURE NOTES:**
- <detailed per-host failure excerpt when a host fails>
**NOTES:**
- <note>
- <note>
Rules
- Keep
SUMMARY:,HOSTS:,TIMING:,COVERAGE:,TEST FLOW:,FAILURE NOTES:, andNOTES:in that order. - Use the title format:
## ATVM Run Status### <build_name>
- Use flat bullet lists for
COVERAGE:andTEST FLOW:. - Use Markdown tables for
SUMMARY:,HOSTS:, andTIMING:. - Use one host per row in the
HOSTS:section. - Include a
Kernelcolumn immediately afterHostin theHOSTS:table. - For completed hosts, prefer:
✅ PASS⚠️ FAIL
- For in-progress or skipped hosts, use:
⏳ RUN⏭️ SKIP
- Keep
Detailconcise. - Put richer per-host failure excerpts under
FAILURE NOTES:, not in the host table. - Put broader non-failure context under
NOTES:. - When available, put the persistent Currents run URL in
NOTES:so operators can open the exact recorded run directly. - Include the exact
cmc-templates.pycommand used to trigger the run inNOTES:, without the outersshpass/sshwrapper. - Include the exact
run-sorry-cypress.pycommand used to launch the run inNOTES:, without the outersshpass/sshwrapper. - Keep
FAILURE NOTES:limited to detailed per-host error excerpts. - Keep
NOTES:limited to meaningful non-failure operator-facing items such as the Currents link, real anomalies, or important fallback behavior. - Do not include generic watcher bookkeeping lines in
NOTES:such as "run artifacts were detected" or "final reporting artifacts were detected." - Do not include internal fallback notes in
NOTES:such as "check-xml-files.tsvalidation passed" or "host details were derived from reporter artifacts." COVERAGE:should describe what the run was intended to cover without listing target hosts.COVERAGE:should mostly mirror the importantcmc-templates.pycommand inputs such as template, categorize mode, config filename, any real integration/plugin path, and important flags like--ignore_force_shutdown.- Do not render template-command fields in
COVERAGE:when that template did not use them. - If
categorize mode: enabledis shown, do not also repeat--categorizeunderrun options. - When grouped categorized timing is reconstructed from host reporter artifacts, still populate
quickest,longest, andaveragefrom 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 should prefer the generated spec for the actual run when it exists, and only include the plugin-gated branch that actually ran.
cmc-e2ecurrently uses this flow:1. Verifying set up2. Power on and obtain ip address and host name3. Uninstall CMC if still exists4. Setting up disk on the host5. Copy CMC install command from GUI6. Install CMC7. Create migration session8. Tracking Changes9. Trigger cmotion and do I/O test before actual cutover10. Verify data for cmotion11. Trigger revert cmotion and do I/O test before and during cmotion12. Verify data for revert cmotion13. Trigger cmotion again14. Finalize cutover15. Create migration report16. Delete migration session17. Verify local destination disk18. Remove enabled FC integration19. Remove host and volumes20. Uninstall CMC21. Clean up iSCSI targets22. Power off
cmc-systemOScurrently uses this flow:1. Verifying set up2. Power on and obtain ip address and host name3. Uninstall CMC if still exists4. Attach destination disk on the host5. Copy CMC install command from GUI6. Install CMC on the host7. Create migration session (Simple Migration)8. Tracking Changes (Simple Migration)9. Finalize cutover (Simple Migration)10. Create migration report (Simple Migration)11. Delete migration session (Simple Migration)12. Power off the host13. Detach original source OS disk14. Reassign destination OS disk15. Power on to verify destination disk16. Power off the host17. Detach destination OS disk18. Attach original source OS disk back19. Power on and obtain ip address and host name20. Uninstall CMC on the host21. Power off the host
cmc-rebootcurrently uses this flow:1. Verifying set up2. Power on and obtain ip address and host name3. Uninstall CMC if still exists4. Setting up disk on the host5. Copy CMC install command from GUI6. Install CMC on the host7. Create migration session8. Tracking Changes9. Create reboot validation file on the source disk10. Trigger cmotion11. Reboot the host12. Update disk info after power on13. Mount source disk14. Verify reboot validation file after reboot15. Create second reboot validation file on the source disk16. Revert cmotion17. Reboot the host18. Update disk info after power on19. Mount source disk20. Verify second reboot validation file after reboot21. Trigger cmotion and do I/O test during cmotion22. Revert cmotion23. Verify data with md5 checksum for the I/O test24. Trigger cmotion again25. Finalize cutover26. Create migration report27. Delete migration session28. Verify local destination disk29. Remove host and disks30. Remove enabled integration31. Uninstall CMC on the host32. Clean up iSCSI targets33. Power off the host
- See
/home/aw/code/cds/atvm/docs/automation/examples.mdforcmc-e2eexamples. - Resolve kernel values by cross-referencing hostnames against
/home/aw/code/cds/atvm/inventory/vm-inventory.md. - If no kernel value can be verified from
vm-inventory.md, useunknown. - Use the same template for Mattermost and local operator-visible status output.