Correlate job failures with host system facts to determine platform drift and resource issues. Use when: - After job failure analysis identifies affected hosts - "Check the system facts for failed hosts" - "Is the host healthy?", "Check disk space on server-01" - "Why is the service failing on this host?" NOT for: analyzing job events (use job-failure-analyzer first) or resolution guidance (use resolution-advisor after).
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Required MCP Servers:
aap-mcp-inventory-management - Host details and variable dataVerification: Run the aap-mcp-validator skill with aap-mcp-inventory-management before proceeding.
Use this skill when:
job-failure-analyzer has identified which hosts and errors are involvedDo NOT use when:
job-failure-analyzer first)resolution-advisor after this skill)execution-risk-analyzer + governed-job-launcher)CRITICAL: Document consultation MUST happen BEFORE any MCP tool invocations.
Document Consultation (REQUIRED - Execute FIRST):
From the job-failure-analyzer output, identify the hostnames that experienced failures.
MCP Tool: hosts_list (from aap-mcp-inventory-management)
Parameters:
search: "<hostname_from_failure_analysis>"page_size: 10Extract the host id from the results.
MCP Tool: hosts_variable_data_retrieve (from aap-mcp-inventory-management)
Parameters:
id: "<host_id>"format: "json"This returns host variables which may include cached Ansible facts from the last gather_facts run.
Using the correlation table from job-troubleshooting.md, check the relevant facts based on the error pattern identified by job-failure-analyzer:
| Error Pattern | Host Fact to Check | What to Look For |
|---|---|---|
| "No space left on device" | ansible_mounts[].size_available | Disk utilization > 90% |
| "Unable to start service" | ansible_service_mgr | systemd vs sysvinit mismatch |
| Package not found | ansible_distribution, ansible_distribution_version | Wrong OS version for package |
| "Permission denied" | ansible_user_id, ansible_become | Privilege escalation not configured |
| "Connection timed out" | ansible_default_ipv4 | Network misconfiguration |
| "Module not found" | ansible_python_version | Missing Python dependency |
| Out of memory | ansible_memtotal_mb, ansible_memfree_mb | Insufficient memory |
Output format:
## Host Fact Correlation: [hostname]
**Host ID**: [id]
**Last Facts Gathered**: [timestamp if available]
### System Profile
| Fact | Value |
|---|---|
| OS | [ansible_distribution] [ansible_distribution_version] |
| Kernel | [ansible_kernel] |
| Python | [ansible_python_version] |
| Service Manager | [ansible_service_mgr] |
| Total Memory | [ansible_memtotal_mb] MB |
| Available Memory | [ansible_memfree_mb] MB |
### Correlation with Failure
**Error**: "[error_message from failure analysis]"
**Relevant fact**: [fact_name] = [value]
**Correlation**: [Does this fact explain the failure?]
### Assessment
[Platform drift / Resource issue / Configuration gap / No correlation found]
Per Red Hat's *Troubleshooting Guide*: "[relevant guidance from job-troubleshooting.md]"Per job-troubleshooting.md: "Cached facts may be stale. If facts were gathered during a previous job run, they reflect the state at that time, not necessarily now."
If facts appear stale or missing, report this: "Host facts may not be current. For authoritative system state, consider running a fact-gathering job on this host."
aap-mcp-inventory-management - Host data and factshosts_list (from inventory-management) - Look up host by namehosts_variable_data_retrieve (from inventory-management) - Retrieve host variables/factsjob-failure-analyzer - MUST run before this skill to identify affected hostsresolution-advisor - Next step: resolution recommendations based on correlationexecution-summary - Audit trailUser: "Check the system facts for the host that failed in Job #4451"
Agent:
hosts_listhosts_variable_data_retrieveansible_distribution: "CentOS", ansible_distribution_version: "9" -- package name is valid for CentOS 9ansible_mounts[0].size_available: 52428800 -- sufficientRHEcosystemAppEng/agentic-plugins
df1d156
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.