Introduction

The infra.support_assist collection (v1.1.1, May 2026) automates the most tedious part of Red Hat support workflows — gathering diagnostic data. Instead of manually running sosreport, collecting logs, and uploading to the Support Portal, this collection handles the entire process: gather system reports, optionally create a support case, and upload diagnostics directly. It's maintained by the Red Hat Community of Practice (redhat-cop).

Installation

# Install from Ansible Galaxy
ansible-galaxy collection install infra.support_assist

# Pin version in requirements.yml
# collections:
#   - name: infra.support_assist
#     version: "1.1.1"

Quick Start

---
- name: Gather support diagnostics
  hosts: problematic_servers
  become: true

  tasks:
    - name: Collect system diagnostics
      ansible.builtin.include_role:
        name: infra.support_assist.collect_diagnostics

    - name: Generate sosreport
      ansible.builtin.include_role:
        name: infra.support_assist.sosreport

Common Use Cases

Gather All Diagnostics

- name: Full diagnostic collection
  hosts: all
  become: true
  vars:
    support_assist_output_dir: /tmp/support-diagnostics
    support_assist_compress: true

  tasks:
    - name: Collect system information
      ansible.builtin.include_role:
        name: infra.support_assist.collect_diagnostics
      vars:
        collect_system_info: true
        collect_network_info: true
        collect_storage_info: true
        collect_service_status: true

    - name: Fetch diagnostics to controller
      ansible.builtin.fetch:
        src: "{{ support_assist_output_dir }}/diagnostics.tar.gz"
        dest: "./diagnostics/{{ inventory_hostname }}/"
        flat: true

Create and Upload to Support Case

- name: Automated support case workflow
  hosts: problematic_server
  become: true
  vars:
    rh_portal_username: "{{ vault_rh_username }}"
    rh_portal_password: "{{ vault_rh_password }}"
    support_case_number: "03123456"

  tasks:
    - name: Collect diagnostics
      ansible.builtin.include_role:
        name: infra.support_assist.collect_diagnostics

    - name: Upload to Red Hat Support Portal
      ansible.builtin.include_role:
        name: infra.support_assist.upload_diagnostics
      vars:
        upload_case_number: "{{ support_case_number }}"
      no_log: true

Proactive Health Checks

- name: Weekly health check
  hosts: rhel_servers
  become: true

  tasks:
    - name: Run health assessment
      ansible.builtin.include_role:
        name: infra.support_assist.collect_diagnostics
      vars:
        collect_system_info: true
        collect_subscription_info: true

    - name: Check for known issues
      ansible.builtin.debug:
        msg: |
          Host: {{ inventory_hostname }}
          OS: {{ ansible_distribution }} {{ ansible_distribution_version }}
          Kernel: {{ ansible_kernel }}
          Subscription: {{ subscription_status | default('unknown') }}

What It Collects

CategoryData Gathered
SystemOS version, kernel, hardware, uptime
NetworkInterfaces, routes, firewall rules, DNS
StorageDisk usage, LVM, mount points, fstab
Servicessystemd unit status, failed services
PackagesInstalled RPMs, pending updates
SubscriptionRHSM status, repositories, entitlements
Logsjournalctl excerpts, /var/log key files
PerformanceCPU, memory, I/O statistics

Integration with AAP

# Use as a Job Template in Ansible Automation Platform
# Survey variables for case number and severity

- name: AAP Support Diagnostics
  hosts: "{{ target_hosts }}"
  become: true
  vars:
    case_number: "{{ survey_case_number }}"

  tasks:
    - name: Collect and upload
      ansible.builtin.include_role:
        name: infra.support_assist.collect_diagnostics

    - name: Upload to case
      ansible.builtin.include_role:
        name: infra.support_assist.upload_diagnostics
      vars:
        upload_case_number: "{{ case_number }}"
      when: case_number | length > 0

Comparison with Manual Process

StepManualWith infra.support_assist
SSH to each server✅ Required❌ Not needed
Run sosreport✅ Manual✅ Automated
Gather system info✅ Multiple commands✅ One role
Compress output✅ Manual tar✅ Automated
Upload to portal✅ Browser upload✅ API upload
Time (10 servers)~2 hours~5 minutes

Troubleshooting

IssueSolution
Permission deniedEnsure become: true is set
Upload failsVerify Red Hat Portal credentials and case number
Missing dataCheck collect_* variables are set to true
Large outputSet support_assist_compress: true
Subscription info emptyVerify subscription-manager is installed and registered

Best Practices

  1. Automate before you need it — set up the playbook before incidents happen
  2. Use Vault for credentials — never hardcode Red Hat Portal passwords
  3. Schedule weekly health checks — catch issues before they become cases
  4. Store diagnostics in version control — track system state over time
  5. Integrate with AAP — use Survey for case number input
  • GitHub: redhat-cop/infra.support_assist
  • Ansible Galaxy: infra.support_assist
  • Bullhorn #227 (May 2026): v1.1.1 release announcement

Conclusion

infra.support_assist turns a 2-hour manual process into a 5-minute playbook run. Gather diagnostics from multiple servers simultaneously, compress the output, and upload directly to Red Hat Support — all automated. For any team managing RHEL infrastructure, this collection should be in your requirements.yml and ready to run before the next incident.