RHOSO Support Triage
You orchestrate RHOSO must-gather triage. You validate the environment, locate the must-gather, and dispatch the support-triage agent for diagnostics.
Setup
Check for OMC. Run which omc. If not found, tell the user:
OMC is required but not found in PATH. Install it with:
go install github.com/gmeghnag/omc@latest
Or download a binary from https://github.com/gmeghnag/omc/releases
Then stop.
Locate the must-gather. The argument is a path to either:
- An extracted directory
- A
.tar.xz archive (extract it first with tar xf)
If no argument was provided, ask the user for the path.
Load into OMC. Run omc use <path>. The path should be the innermost must-gather directory (the one that contains cluster-scoped-resources/, namespaces/, etc.). If omc use is given a parent directory, it may not work. Look inside the provided path for the actual must-gather root:
find <path> -maxdepth 3 -name "cluster-scoped-resources" -type d
Use the parent of whichever directory is found.
Sanity check. Run omc get nodes. If it returns data, OMC is loaded. If it errors, report the problem and stop.
Detect namespaces. The default OpenStack namespaces are openstack (services) and openstack-operators (operators). Confirm they exist:
omc get ns openstack
omc get ns openstack-operators
If they have different names, ask the user or attempt to detect them from the must-gather directory structure (look under namespaces/).
Area Selection
Present these diagnostic categories to the user and ask which to run. The user may select one, several, or "all":
- Cluster Health - OCP cluster stability, node status
- RHOSO Installation - Subscription, OpenStack resource, operator pods
- Networking - NNCPs, NADs, MetalLB, DNS
- Storage - StorageClass alignment, PVCs, LVM
- Control Plane - OpenStackControlPlane status, operators, webhooks, events
- Data Plane - Metal3 provisioning, compute connectivity, provision server
Dispatch
After setup and area selection, dispatch the support-triage agent:
Agent(
subagent_type="openstack-k8s-agent-tools:support-triage:support-triage",
description="Triage RHOSO must-gather",
prompt="Must-gather path: <path>
Namespaces: openstack=<detected-ns>, openstack-operators=<detected-ns-ops>
Selected categories: <user's selections>
Run diagnostics for the selected categories and produce a structured triage report."
)
If prior generic analysis findings were provided (when dispatched from /analyze-must-gather), include them in the prompt:
prompt="Must-gather path: <path>
Namespaces: openstack=<ns>, openstack-operators=<ns-ops>
Selected categories: <selections>
## Prior Generic Analysis Findings
<the generic analysis output>
RHOSO-specific resources detected. The generic analysis above identified surface-level
issues. Focus on RHOSO-specific diagnostics: correlate generic findings with RHOSO root
causes, check configurations the generic scan cannot evaluate (OperatorGroup
targetNamespace, NAD/NNCP alignment, StorageClass alignment, webhook namespace selectors),
and avoid duplicating already-reported issues unless adding RHOSO-specific context."
Present the agent's triage report to the user.
1---2name: support-triage3description: Triage RHOSO must-gather reports using OMC and the Core Operators Support Enablement guide4---56# RHOSO Support Triage78You orchestrate RHOSO must-gather triage. You validate the environment, locate the must-gather, and dispatch the support-triage agent for diagnostics.910## Setup11121. **Check for OMC.** Run `which omc`. If not found, tell the user:1314 > OMC is required but not found in PATH. Install it with:15 >16 > ```17 > go install github.com/gmeghnag/omc@latest18 > ```19 >20 > Or download a binary from <https://github.com/gmeghnag/omc/releases>2122 Then stop.23242. **Locate the must-gather.** The argument is a path to either:25 - An extracted directory26 - A `.tar.xz` archive (extract it first with `tar xf`)2728 If no argument was provided, ask the user for the path.29303. **Load into OMC.** Run `omc use <path>`. The path should be the innermost must-gather directory (the one that contains `cluster-scoped-resources/`, `namespaces/`, etc.). If `omc use` is given a parent directory, it may not work. Look inside the provided path for the actual must-gather root:3132 ```33 find <path> -maxdepth 3 -name "cluster-scoped-resources" -type d34 ```3536 Use the parent of whichever directory is found.37384. **Sanity check.** Run `omc get nodes`. If it returns data, OMC is loaded. If it errors, report the problem and stop.39405. **Detect namespaces.** The default OpenStack namespaces are `openstack` (services) and `openstack-operators` (operators). Confirm they exist:4142 ```43 omc get ns openstack44 omc get ns openstack-operators45 ```4647 If they have different names, ask the user or attempt to detect them from the must-gather directory structure (look under `namespaces/`).4849## Area Selection5051Present these diagnostic categories to the user and ask which to run. The user may select one, several, or "all":52531. **Cluster Health** - OCP cluster stability, node status542. **RHOSO Installation** - Subscription, OpenStack resource, operator pods553. **Networking** - NNCPs, NADs, MetalLB, DNS564. **Storage** - StorageClass alignment, PVCs, LVM575. **Control Plane** - OpenStackControlPlane status, operators, webhooks, events586. **Data Plane** - Metal3 provisioning, compute connectivity, provision server5960## Dispatch6162After setup and area selection, dispatch the support-triage agent:6364```65Agent(66 subagent_type="openstack-k8s-agent-tools:support-triage:support-triage",67 description="Triage RHOSO must-gather",68 prompt="Must-gather path: <path>69Namespaces: openstack=<detected-ns>, openstack-operators=<detected-ns-ops>70Selected categories: <user's selections>7172Run diagnostics for the selected categories and produce a structured triage report."73)74```7576If prior generic analysis findings were provided (when dispatched from `/analyze-must-gather`), include them in the prompt:7778```79prompt="Must-gather path: <path>80Namespaces: openstack=<ns>, openstack-operators=<ns-ops>81Selected categories: <selections>8283## Prior Generic Analysis Findings84<the generic analysis output>8586RHOSO-specific resources detected. The generic analysis above identified surface-level87issues. Focus on RHOSO-specific diagnostics: correlate generic findings with RHOSO root88causes, check configurations the generic scan cannot evaluate (OperatorGroup89targetNamespace, NAD/NNCP alignment, StorageClass alignment, webhook namespace selectors),90and avoid duplicating already-reported issues unless adding RHOSO-specific context."91```9293Present the agent's triage report to the user.