Compare commits
3 Commits
c73f18dc73
...
a3a89e5a9c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3a89e5a9c | ||
|
|
5f7824619d | ||
|
|
887d9cc5dd |
@@ -20,6 +20,14 @@ This document provides workspace-level instructions for AI agents working anywhe
|
||||
- For VM power or maintenance requests, act only on the exact VM names provided by the operator.
|
||||
- If any requested VM name is not found, stop and report it; do not infer, substitute, or search for replacement VMs unless the operator explicitly asks for that discovery step.
|
||||
|
||||
## ATVM vCenter Inventory Deletion Guardrail
|
||||
|
||||
- Never delete or destroy any ATVM VM from vCenter. Removing from inventory or unregistering is allowed only for VMs whose names start with `atvm`.
|
||||
- Treat a vCenter VM as protected ATVM inventory if its name starts with `atvm`, if it resides on an `AutomatedTest-*` ATVM datastore, or if it is an ATVM platform/controller VM, even when it is not listed in `inventory/vm-inventory.md`.
|
||||
- ATVM VM inventory entries in vCenter are permanent test inventory and must be preserved even when power, maintenance, datastore, or cleanup work is requested.
|
||||
- This guardrail applies regardless of operator wording unless the operator explicitly updates this AGENTS.md rule first.
|
||||
- For cleanup workflows, only power off, detach/unmount supporting resources, unregister/remove from inventory for VMs whose names start with `atvm`, or report the needed manual action; do not delete or destroy ATVM VMs.
|
||||
|
||||
## Red Hat Manual Task Subscription Guardrail
|
||||
|
||||
- For manually requested tasks on Red Hat machines (non-ATVM-automation tasks), run the Red Hat subscription reset/register sequence before the requested task.
|
||||
|
||||
@@ -104,6 +104,11 @@ This file defines how to operate and maintain the ATVM workspace in `/home/aw/co
|
||||
- For vCenter VM snapshot requests, default the snapshot name to `VM Snapshot [mm/dd/yyyy:hh:mm:ss AM/PM]` in the local `America/New_York` timezone unless the operator explicitly requests a different name.
|
||||
- For VM power, shutdown, startup, snapshot, or maintenance requests, operate only on the exact VM names provided by the operator.
|
||||
- If any requested VM name is missing or not found, stop immediately and report the missing names; do not infer, substitute, or search for replacement VMs unless the operator explicitly requests a discovery/mapping step.
|
||||
- Never delete or destroy any ATVM VM from vCenter. Removing from inventory or unregistering is allowed only for VMs whose names start with `atvm`.
|
||||
- Treat a vCenter VM as protected ATVM inventory if its name starts with `atvm`, if it resides on an `AutomatedTest-*` ATVM datastore, or if it is an ATVM platform/controller VM, even when it is not listed in `inventory/vm-inventory.md`.
|
||||
- ATVM VM inventory entries in vCenter are permanent test inventory and must be preserved even when power, maintenance, datastore, or cleanup work is requested.
|
||||
- This vCenter inventory deletion guardrail applies regardless of operator wording unless the operator explicitly updates this AGENTS.md rule first.
|
||||
- For cleanup workflows, only power off, detach/unmount supporting resources, unregister/remove from inventory for VMs whose names start with `atvm`, or report the needed manual action; do not delete or destroy ATVM VMs.
|
||||
- For `atvm_prep` requests, infer common option values from operator shorthand when intent is clear.
|
||||
- For any `atvm_prep` execution request, always present the exact planned `atvm_prep.py` command first and wait for explicit operator approval before running it.
|
||||
- Always execute `atvm_prep.py` on the ATVM Cypress controller host `192.168.3.190` (`atvm-cypres-vm-1`).
|
||||
|
||||
@@ -5,7 +5,7 @@ Use `/home/aw/code/cds/.env.credentials.local` for the local-only values referen
|
||||
|
||||
# Summary
|
||||
|
||||
This document outlines the equipement, hardware, vm inventory and any tips to configure the vms for the cmc cypress automation. The vms were initially configured manually but as of 2026, are now being configured via AI tools to make configuration more automated and efficient. The
|
||||
This document outlines the equipement, hardware, vm inventory and any tips to configure the vms for the cmc cypress automation. The vms were initially configured manually but as of 2026, are now being configured via AI tools to make configuration more automated and efficient.
|
||||
|
||||
# Equipment/Hardware
|
||||
|
||||
@@ -22,9 +22,9 @@ This document outlines the equipement, hardware, vm inventory and any tips to co
|
||||
* AutomatedTest-Install-ISO-2 (1TB) - contains the OS ISOs used for the ATVM environment
|
||||
* AutomatedTest-VMBootImg-Gold (3 TB) - contains the VMs created for the ATVM environment
|
||||
* AutomatedTest-VMBootImg-Gold-2 (3 TB) - contains the VMs created for the ATVM environment
|
||||
* AutomatedTest-Cypress (512 GB) - contains the cypress machine to run the automated scripts for the ATVM environment
|
||||
* AutomatedTest-VMBootImgComputeMigration-Gold (512GB) - contains the vmware, ovirt, openshift compute migrate destinations
|
||||
* Internal-DVD-Offline-Linux-Repository (1TB) - This is a DVD offline repository for the QA Test Lab. It is not mirrored and packages are not updated or maintained. Created and provided are AS IS.
|
||||
* AutomatedTest-Cypress (1 TB) - contains the cypress machine to run the automated scripts for the ATVM environment
|
||||
* AutomatedTest-VMBootImgComputeMigration-Gold (3TB) - contains the vmware, ovirt, openshift compute migrate destinations
|
||||
* Internal-DVD-Offline-Linux-Repository (1TB) - This is a DVD offline repository for the QA Test Lab. It is not mirrored and packages are not updated or maintained. Created and provided AS IS.
|
||||
2. Replica DGS Phoenix Server: 192.168.1.89 (Web GUI login: \[Wayne Lam's DGS Server - Anthony Wen has access at this time\])
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ This document outlines the equipement, hardware, vm inventory and any tips to co
|
||||
|
||||
***==Note:==*** ==For SSH login, use the matching legacy vCenter credential from `.env.credentials.local`==
|
||||
|
||||
==\[VM name: **CDS1-VSCA6.7-200**. Location: ESXi 6.0.0, 192.168.0.43, root/CDSi101\]==
|
||||
==\[VM name: **CDS1-VSCA6.7-200**. Location: ESXi 6.0.0, 192.168.0.43, legacy ESXi credential from `.env.credentials.local`\]==
|
||||
|
||||
\
|
||||
2. ==ESXi Server **CDS1-H011**: 192.168.1.11 (SSH login: **LEGACY_ESXI_H011_USER** / **LEGACY_ESXI_H011_PASSWORD** from `.env.credentials.local`)==
|
||||
@@ -233,33 +233,22 @@ Reserved static ip address for atvm environment:
|
||||
2. atvm-linux-h2h - redhat 9.4 5.14.0-427.13.1.el9_4.x86_64
|
||||
3. atvm-win-h2h - Microsoft Windows Server 2022 Standard Evaluation Version: 10.0.20438 Build 20348
|
||||
6. 192.168.3.195: cmc-helper for compute migration ops
|
||||
7. 192.168.3.196:
|
||||
8. 192.168.3.197:
|
||||
7. 192.168.3.196: atvm-openstack (ssh: **OPENSTACK_SSH_USER** / **OPENSTACK_SSH_PASSWORD** from `.env.credentials.local`)
|
||||
8. 192.168.3.197: atvm-openstack (ssh: **OPENSTACK_SSH_USER** / **OPENSTACK_SSH_PASSWORD** from `.env.credentials.local`) - needs a 2nd ip?
|
||||
9. 192.168.3.198:
|
||||
10. 192.168.3.199**:** linux-repo-vm:
|
||||
|
||||
**__192.168.3.180 - 189:__** used for unit testing atvm clones (may release some ips down the road if we determine we don't need this many)
|
||||
**__192.168.3.180 - 189:__** used for unit testing atvm clones (may release some ips down the road if we determine we don't need this many).
|
||||
|
||||
|
||||
1. 192.168.3.180: aw-redhat8.10-disks - testing 100 disks migration
|
||||
|
||||
|
||||
1. CDS1_ESX166_vmhba16_671538 21:00:00:24:ff:67:15:38 (0000:0e:00.0)
|
||||
2. CDS1_ESX166_vmhba17_671539 21:00:00:24:ff:67:15:39 (0000:0e:00.1)
|
||||
3. (The following ports were used by aw-redhat8.10-disks but are now used by atvmxxx-w2k25 192.168.0.97)
|
||||
|
||||
|
||||
1. CDS1_ESX166_vmhba4_688d48 21:00:00:24:ff:68:8d:48 (0000:44:00.0)
|
||||
2. CDS1_ESX166_vmhba5_688d49 21:00:00:24:ff:68:8d:49 (0000:44:00.1)
|
||||
2. 192.168.3.181: aw999-redhat9.6 (cdssync - aw 01/20/2026)
|
||||
3. 192.168.3.182: aw-del-w2k16 (test ovirt controller issue - aw 01/30/2026)
|
||||
1. 192.168.3.180:
|
||||
2. 192.168.3.181: aw999-redhat9.6 (unstructured migration client - aw 0413/2026)
|
||||
3. 192.168.3.182:
|
||||
4. 192.168.3.183: atvmxxx-w2k22-uefi (anthony 01/02/2026)
|
||||
5. 192.168.3.184: atvm999-redhat9.6 (anthony 01/12/2026 - 5.14.0-570.39.1.el9_6.x86_64 nvm vmdks and pure fc 100 disks from 2.8)
|
||||
|
||||
|
||||
1. CDS1_ESX166_vmhba18_67153a 21:00:00:24:ff:67:15:3a (0000:0f:00.0)
|
||||
2. CDS1_ESX166_vmhba19_67153b 21:00:00:24:ff:67:15:3b (0000:0f:00.1)
|
||||
6. 192.168.3.185: atvm999-oracle8.10 (aw install test 03/03/2026)
|
||||
* CDS1_ESX166_vmhba4_688d48 21:00:00:24:ff:68:8d:48 (0000:44:00.0)
|
||||
* CDS1_ESX166_vmhba5_688d49 21:00:00:24:ff:68:8d:49 (0000:44:00.1)
|
||||
5. 192.168.3.184:
|
||||
6. 192.168.3.185: atvm999-oracle8.10 (unstructured migration migrator - aw 03/03/2026)
|
||||
7. 192.168.3.186:
|
||||
8. 192.168.3.187:
|
||||
9. 192.168.3.188:
|
||||
@@ -387,18 +376,18 @@ Brocade 192.168.2.240 (use the locally managed switch credential; do not store i
|
||||
* ==zone6: Pure1_TB1_deee11_To_CDS1_ESX166_vmhba5_688d49==
|
||||
* ==Pure1_TB1_deee11 52:4a:93:71:98:de:ee:11==
|
||||
* ==CDS1_ESX166_vmhba5_688d49 21:00:00:24:ff:68:8d:49 (0000:44:00.1)==
|
||||
* ==zone7: Pure1_TA1_deee01_To_CDS1_ESX166_vmhba16_671538==
|
||||
* ==Pure1_TA1_deee01 52:4a:93:71:98:de:ee:01==
|
||||
* ==CDS1_ESX166_vmhba16_671538 21:00:00:24:ff:67:15:38 (0000:0e:00.0)==
|
||||
* ==zone8: Pure1_TB1_deee11_To_CDS1_ESX166_vmhba16_671538==
|
||||
* ==Pure1_TB1_deee11 52:4a:93:71:98:de:ee:11==
|
||||
* ==CDS1_ESX166_vmhba16_671538 21:00:00:24:ff:67:15:38 (0000:0e:00.0)==
|
||||
* ==zone9: Pure1_TA1_deee01_To_CDS1_ESX166_vmhba17_671539==
|
||||
* ==Pure1_TA1_deee01 52:4a:93:71:98:de:ee:01==
|
||||
* ==CDS1_ESX166_vmhba17_671539 21:00:00:24:ff:67:15:39 (0000:0e:00.1)==
|
||||
* ==zone10: Pure1_TB1_deee11_To_CDS1_ESX166_vmhba17_671539==
|
||||
* ==Pure1_TB1_deee11 52:4a:93:71:98:de:ee:11==
|
||||
* ==CDS1_ESX166_vmhba17_671539 21:00:00:24:ff:67:15:39 (0000:0e:00.1)==
|
||||
* zone7: Pure1_TA1_deee01_To_CDS1_ESX166_vmhba16_671538
|
||||
* Pure1_TA1_deee01 52:4a:93:71:98:de:ee:01
|
||||
* CDS1_ESX166_vmhba16_671538 21:00:00:24:ff:67:15:38 (0000:0e:00.0)
|
||||
* zone8: Pure1_TB1_deee11_To_CDS1_ESX166_vmhba16_671538
|
||||
* Pure1_TB1_deee11 52:4a:93:71:98:de:ee:11
|
||||
* CDS1_ESX166_vmhba16_671538 21:00:00:24:ff:67:15:38 (0000:0e:00.0)
|
||||
* zone9: Pure1_TA1_deee01_To_CDS1_ESX166_vmhba17_671539
|
||||
* Pure1_TA1_deee01 52:4a:93:71:98:de:ee:01
|
||||
* CDS1_ESX166_vmhba17_671539 21:00:00:24:ff:67:15:39 (0000:0e:00.1)
|
||||
* zone10: Pure1_TB1_deee11_To_CDS1_ESX166_vmhba17_671539
|
||||
* Pure1_TB1_deee11 52:4a:93:71:98:de:ee:11
|
||||
* CDS1_ESX166_vmhba17_671539 21:00:00:24:ff:67:15:39 (0000:0e:00.1)
|
||||
* ==zone11: Pure1_TA1_deee01_To_CDS1_ESX166_vmhba18_67153a==
|
||||
* ==Pure1_TA1_deee01 52:4a:93:71:98:de:ee:01==
|
||||
* ==CDS1_ESX166_vmhba18_67153a 21:00:00:24:ff:67:15:3a (0000:0f:00.0)==
|
||||
@@ -519,8 +508,10 @@ Brocade 192.168.2.240 (use the locally managed switch credential; do not store i
|
||||
* ==RHEL 9.5==
|
||||
* ==RHEL 9.6==
|
||||
* ==RHEL 9.7==
|
||||
* RHEL 9.8
|
||||
* ==RHEL 10.0==
|
||||
* ==RHEL 10.1==
|
||||
* RHEL 10.2
|
||||
|
||||
### AMAZON
|
||||
|
||||
@@ -554,9 +545,9 @@ Brocade 192.168.2.240 (use the locally managed switch credential; do not store i
|
||||
* ==Rocky 9.4==
|
||||
* ==Rocky 9.5==
|
||||
* ==Rocky 9.6==
|
||||
* Rocky 9.7
|
||||
* ==Rocky 9.7==
|
||||
* ==Rocky 10.0==
|
||||
* Rocky 10.1
|
||||
* ==Rocky 10.1==
|
||||
|
||||
### UBUNTU
|
||||
|
||||
@@ -569,6 +560,7 @@ Brocade 192.168.2.240 (use the locally managed switch credential; do not store i
|
||||
* ==Ubuntu 20.04==
|
||||
* ==Ubuntu 22.04==
|
||||
* ==Ubuntu 24.04==
|
||||
* Ubuntu 26.04
|
||||
|
||||
### FEDORA
|
||||
|
||||
@@ -708,9 +700,9 @@ NOTES:
|
||||
* ==Oracle 9.4==
|
||||
* ==Oracle 9.5==
|
||||
* ==Oracle 9.6==
|
||||
* Oracle 9.7
|
||||
* ==Oracle 9.7==
|
||||
* ==Oracle 10.0==
|
||||
* Oracle 10.1
|
||||
* ==Oracle 10.1==
|
||||
|
||||
### CENTOS
|
||||
|
||||
@@ -1274,30 +1266,28 @@ Notes:
|
||||
```
|
||||
* Redhat 9.7 \[atvm160-redhat9.7\] - 5.14.0-611.16.1.el9_7.x86_64 \* used setup script \*
|
||||
* Redhat 10.1 \[atvm161-redhat10.1\] - 6.12.0-124.8.1.el10_1.x86_64 \* used setup script \*
|
||||
* Oracle 9.7 \[atvm162-oracle9.7\] - 5.14.0-611.5.1.el9_7.x86_64
|
||||
* Oracle 9.7 \[atvm162-oracle9.7\] - 5.14.0-611.5.1.el9_7.x86_64 \* used codex / script \*
|
||||
* Oracle 10.1 \[atvm163-oracle10.1\] - 6.12.0-124.8.1.el10_1.x86_64 \* used codex / script \*
|
||||
* Rocky 9.7 \[atvm164-rocky9.7\] - 5.14.0-611.5.1.el9_7.x86_64 \* used codex / script \*
|
||||
* Rocky 10.1 \[atvm165-rocky10.1\] - 6.12.0-124.8.1.el10_1.x86_64 \* used codex / script \*
|
||||
* Ubuntu 26.04 \[atvm166-ubuntu26.04\] - 7.0.0-15-generic \* used codex / script \*
|
||||
* Redhat 9.8 \[atvm167-redhat9.8\] -
|
||||
* **==rollback snapshot==**
|
||||
* **==move to gold disk==**
|
||||
* **==add data disks==**
|
||||
* **==add FC adapters==**
|
||||
* **==delete snapshot==**
|
||||
* Oracle 10.1 \[atvm163-oracle10.1\] - 6.12.0-124.8.1.el10_1.x86_64
|
||||
* **==test==**
|
||||
* **==move to gold disk==**
|
||||
* **==add data disks==**
|
||||
* **==add FC adapters==**
|
||||
* **==delete snapshot==**
|
||||
* Rocky 9.7 \[atvm164-rocky9.7\] - 5.14.0-611.5.1.el9_7.x86_64
|
||||
* **==test==**
|
||||
* **==move to gold disk==**
|
||||
* **==add data disks==**
|
||||
* **==add FC adapters==**
|
||||
* **==delete snapshot==**
|
||||
* Rocky 10.1 \[atvm165-rocky10.1\] - 6.12.0-124.8.1.el10_1.x86_64
|
||||
* Redhat 10.2 \[atvm168-redhat10.2\] -
|
||||
* **==configure==**
|
||||
* **==snapshot==**
|
||||
* **==test==**
|
||||
* **==move to gold disk==**
|
||||
* **==change ip 3.191==**
|
||||
* **==add data disks==**
|
||||
* **==add FC adapters==**
|
||||
* **==delete snapshot==**
|
||||
|
||||
|
||||
==========
|
||||
|
||||
**==VM Creation Notes:==**
|
||||
@@ -1318,5 +1308,4 @@ Notes:
|
||||
These clients are created for other QA but on a temporary basis to help them unit test certain issues
|
||||
|
||||
|
||||
1. atvmxxx-w2k25 192.168.0.75 - 100 disk migration. (Tomasz - as of 06/02/2025)
|
||||
2. aw-ubuntu24.04 192.168.0.71 (cmc general - carolina 02/18/2026)
|
||||
1. atvmxxx-w2k25 192.168.0.75
|
||||
|
||||
@@ -315,6 +315,8 @@ Status-report expectations:
|
||||
- Do not include generic watcher bookkeeping messages in `NOTES:` such as artifact-detection confirmations.
|
||||
- Do not include internal watcher fallback notes in `NOTES:` such as `check-xml-files.ts` validation confirmations or reporter-artifact recovery details.
|
||||
- The `HOSTS:` table includes `Host`, `Kernel`, `Status`, and `Detail` columns in that order.
|
||||
- Do not show total test/failure counts in the `Detail` column. Keep those counts in watcher state and summary logic only.
|
||||
- For passed hosts, render `Detail` as `completed`.
|
||||
- For any failed host, keep the `Detail` column compact by showing the failing step plus a short error summary, not the full raw stack trace.
|
||||
- If richer failure text is available, put the longer trimmed excerpt in `FAILURE NOTES:` so the result stays readable in Mattermost and local status output.
|
||||
- In `COVERAGE:`, describe the important `cmc-templates.py` command inputs such as template, categorize mode, datastore/config family, config filename, migration style, any real plugin/integration path, and other operator-relevant run options, but do not list target hosts there or include verbose prose scope descriptions.
|
||||
|
||||
@@ -665,3 +665,12 @@ This file stores run-specific examples only when a run produced a new learning r
|
||||
- Action for future runs:
|
||||
- When a run is marked `FAILED` from hang-kill markers or non-zero runner exit and no host results are available, synthesize one failed host row from current host/spec inference.
|
||||
- Use a clear failure detail such as `hang timeout killed runner` so operator-facing status always includes a concrete host failure line.
|
||||
|
||||
## Run Learning: 2026-06-04 (Host detail should not show total test counts)
|
||||
- Observed failure mode:
|
||||
- A passing compute-migration run posted `29 tests, 0 failures` in the `HOSTS` detail column while `TEST FLOW:` listed 30 planned/generated spec steps.
|
||||
- The mismatch was confusing because host detail came from actual Cypress reporter counts, while `TEST FLOW:` came from static generated-spec extraction.
|
||||
- Action for future runs:
|
||||
- Keep raw test/failure counts in watcher state for classification and debugging, but do not render them in the `HOSTS` detail column.
|
||||
- For passing hosts, render detail as `completed`.
|
||||
- For failed hosts, render only the failing step plus compact error summary; put richer excerpts in `FAILURE NOTES:`.
|
||||
|
||||
@@ -53,6 +53,8 @@ Use the variable names below instead of storing raw credentials in tracked files
|
||||
- `ATVM_CONTROLLER_ALT_USER / ATVM_CONTROLLER_ALT_PASSWORD`
|
||||
- Linux repository VM:
|
||||
- `ATVM_REPO_USER / ATVM_REPO_PASSWORD`
|
||||
- ATVM OpenStack hosts:
|
||||
- `OPENSTACK_SSH_USER / OPENSTACK_SSH_PASSWORD`
|
||||
- vCenter `192.168.0.201`:
|
||||
- `VCENTER_USER / VCENTER_PASSWORD`
|
||||
- ESXi `192.168.1.165`:
|
||||
|
||||
@@ -19,8 +19,10 @@ Tracked docs should reference `/home/aw/code/cds/.env.credentials.local` for sec
|
||||
- `192.168.1.165`
|
||||
- `192.168.1.166`
|
||||
- Primary ATVM boot datastores:
|
||||
- `AutomatedTest-VMBootImg-Gold` -> `gold` -> `cypress.atvm-config-gold.ts`
|
||||
- `AutomatedTest-VMBootImg-Gold-2` -> `gold-2` -> `cypress.atvm-config-gold-2.ts`
|
||||
- `AutomatedTest-VMBootImg-Gold` (3 TB) -> `gold` -> `cypress.atvm-config-gold.ts`
|
||||
- `AutomatedTest-VMBootImg-Gold-2` (3 TB) -> `gold-2` -> `cypress.atvm-config-gold-2.ts`
|
||||
- `AutomatedTest-Cypress` (1 TB)
|
||||
- `AutomatedTest-VMBootImgComputeMigration-Gold` (3 TB)
|
||||
- Current VM membership for those datastores should be queried from live vCenter when needed, not stored as a maintained repo-side live reference list.
|
||||
- ATVM datastore placement rule for explicit VM-list test requests:
|
||||
- all requested VMs must resolve to one datastore family only
|
||||
|
||||
@@ -19,9 +19,29 @@ This file indexes the reserved IP ranges and role assignments used in the ATVM e
|
||||
- second source-machine static IP target set
|
||||
- `192.168.3.194`
|
||||
- second H2H destination host set
|
||||
- `192.168.3.195`
|
||||
- CMC helper for compute migration ops
|
||||
- `192.168.3.196`
|
||||
- ATVM OpenStack host
|
||||
- `192.168.3.197`
|
||||
- ATVM OpenStack secondary address / host note
|
||||
- `192.168.3.199`
|
||||
- Linux repository VM
|
||||
|
||||
## Unit Test Clone Notes
|
||||
- `192.168.3.180`
|
||||
- currently unassigned in the archived notes
|
||||
- `192.168.3.181`
|
||||
- `aw999-redhat9.6`, unstructured migration client
|
||||
- `192.168.3.182`
|
||||
- currently unassigned in the archived notes
|
||||
- `192.168.3.183`
|
||||
- `atvmxxx-w2k22-uefi`
|
||||
- `192.168.3.184`
|
||||
- currently unassigned in the archived notes
|
||||
- `192.168.3.185`
|
||||
- `atvm999-oracle8.10`, unstructured migration migrator
|
||||
|
||||
## Primary Source
|
||||
The full reserved IP listing and per-IP notes are preserved in:
|
||||
- `archive/imported-notes/cypress-automation-for-cmc.md`
|
||||
|
||||
@@ -21,4 +21,9 @@ The archived ATVM source file still contains several specialized detailed sectio
|
||||
- `## Temporary Unit Test Clients`
|
||||
- temporary client inventory
|
||||
|
||||
## Notable Current Archive Updates
|
||||
- Guest image references include newer placeholders for RHEL 9.8, RHEL 10.2, and Ubuntu 26.04.
|
||||
- Gold-image notes include recent codex/script preparation notes for Oracle 9.7, Oracle 10.1, Rocky 9.7, Rocky 10.1, and Ubuntu 26.04.
|
||||
- Temporary unit test client notes now list `atvmxxx-w2k25 192.168.0.75` without the older `aw-ubuntu24.04` entry.
|
||||
|
||||
Use this file as a map when you need those detailed sections in the preserved archived notes.
|
||||
|
||||
@@ -130,8 +130,10 @@ For current membership on `AutomatedTest-VMBootImg-Gold` and `AutomatedTest-VMBo
|
||||
| Redhat Linux 9.5 | atvm139-redhat9.5 | 5.14.0-503.14.1.el9_5.x86_64 | |
|
||||
| Redhat Linux 9.6 | atvm147-redhat9.6 | 5.14.0-570.12.1.el9_6.x86_64 | |
|
||||
| Redhat Linux 9.7 | atvm160-redhat9.7 | 5.14.0-611.16.1.el9_7.x86_64 | |
|
||||
| Redhat Linux 9.8 | atvm167-redhat9.8 | | |
|
||||
| Redhat Linux 10.0 | atvm148-redhat10.0 | 6.12.0-55.9.1.el10_0.x86_64 | |
|
||||
| Redhat Linux 10.1 | atvm161-redhat10.1 | 6.12.0-124.8.1.el10_1.x86_64 | |
|
||||
| Redhat Linux 10.2 | atvm168-redhat10.2 | | |
|
||||
| Rocky Linux 8.4 | atvm33-rocky8.4 | 4.18.0-305.3.1.el8_4.x86_64 | |
|
||||
| Rocky Linux 8.5 | atvm34-rocky8-5 | 4.18.0-348.el8.0.2.x86_64 | |
|
||||
| Rocky Linux 8.6 | atvm35-rocky8.6 | 4.18.0-372.9.1.el8.x86_64 | |
|
||||
|
||||
@@ -711,6 +711,28 @@ def summarize_host_detail_with_mochawesome(detail: str, testcase: str, message:
|
||||
return f"{prefix} - {testcase_summary} - {message_summary}"
|
||||
|
||||
|
||||
def display_host_detail(host: HostResult) -> str:
|
||||
detail = (host.detail or "").strip()
|
||||
if host.status == "PASS":
|
||||
return "completed"
|
||||
if host.status in {"RUN", "NOT STARTED"}:
|
||||
return "in progress"
|
||||
if host.status == "FAIL":
|
||||
detail = re.sub(
|
||||
r"^\d+\s+tests?,\s+\d+\s+failures?(?:,\s+\d+\s+pending)?\s*-\s*",
|
||||
"",
|
||||
detail,
|
||||
flags=re.I,
|
||||
)
|
||||
detail = re.sub(r"^\d+\s+failures?\s*-\s*", "", detail, flags=re.I)
|
||||
if re.fullmatch(r"\d+\s+tests?,\s+\d+\s+failures?(?:,\s+\d+\s+pending)?", detail, flags=re.I):
|
||||
return "failed"
|
||||
if re.fullmatch(r"\d+\s+failures?", detail, flags=re.I):
|
||||
return "failed"
|
||||
return detail or "failed"
|
||||
return detail
|
||||
|
||||
|
||||
def extract_host_results_from_run_finished_segment(segment_text: str, inventory: Dict[str, str]) -> Dict[str, HostResult]:
|
||||
host_results: Dict[str, HostResult] = {}
|
||||
# Currents can wrap the trailing "s" in long duration cells onto its own table row.
|
||||
@@ -1536,7 +1558,7 @@ def build_status_markdown(
|
||||
"SKIP": "⏭️ SKIP",
|
||||
"NOT STARTED": "⏳ RUN",
|
||||
}.get(host.status, host.status)
|
||||
host_lines.append(f"| {host.host} | {host.kernel} | {icon} | {host.detail} |")
|
||||
host_lines.append(f"| {host.host} | {host.kernel} | {icon} | {display_host_detail(host)} |")
|
||||
|
||||
if currents_url:
|
||||
notes = notes + [f"Currents recorded run: `{currents_url}`"]
|
||||
|
||||
Reference in New Issue
Block a user