AWX
Role in the Platform
AWX provides a UI, API, scheduler, inventory integration, and execution environment for approved Ansible automation. The legacy documentation describes an established WxCCE deployment and automation-generated metrics forwarded through Telegraf. Confirm current WxCDI ownership and deployment status before treating AWX as a WxCDI production dependency.
Automation Flow
graph LR
Git["Ansible Project"] --> AWX["AWX Job Template"]
Inventory["Managed Inventory"] --> AWX
Keeper["Managed Credentials"] --> AWX
Art["Execution Environment / Bundle"] --> AWX
AWX --> Devices["Approved Device Targets"]
AWX --> Telegraf["Automation Metrics"]
Telegraf --> Mimir["Mimir"]
Job Requirements
Every production job template should identify:
- project repository and pinned revision/branch;
- managed inventory source and target limit;
- execution environment version;
- credential object without embedded secret values;
- survey/default variables and which can be overridden;
- timeout, concurrency, and failure behavior;
- owner, runbook, and expected output/artifacts.
Safe Operation
- Sync the project and inventory, then review the diff in targets.
- Run syntax/check mode where the playbook supports it.
- Limit the first execution to a non-customer or approved canary target.
- Review changed/failed/unreachable counts and task output.
- Expand scope only after canary validation.
- Confirm automation-generated metrics or artifacts reached their destination.
Never pass passwords or tokens through extra variables unless the field is credential-backed and protected. Do not use broad inventory groups when a precise limit is available.
Troubleshooting
| Symptom | Check |
|---|---|
| Project sync fails | Repository credential, branch, and network path |
| Inventory is stale | Inventory source sync result and generated inventory revision |
| Job is pending | Instance-group capacity and execution-environment pull |
| Hosts unreachable | Credential, DNS, network path, and target limit |
| Job succeeds but metrics are absent | Telegraf listener, payload format, labels, and Mimir output |
| Behavior changed after update | Execution environment and collection dependency versions |