Ce contenu n'est pas disponible dans la langue sélectionnée.

Chapter 5. The Redfish modules in RHEL


The Redfish modules for remote management of devices are now part of the redhat.rhel_mgmt Ansible collection. With the Redfish modules, you can easily use management automation on bare-metal servers and platform hardware by getting information about the servers or control them through an Out-Of-Band (OOB) controller, using the standard HTTPS transport and JSON format.

5.1. The Redfish modules

The redhat.rhel_mgmt Ansible collection provides the Redfish modules to support hardware management in Ansible over Redfish. The redhat.rhel_mgmt collection is available in the ansible-collection-redhat-rhel_mgmt package. To install it, see Installing the redhat.rhel_mgmt Collection using the CLI.

The following Redfish modules are available in the redhat.rhel_mgmt collection:

  1. redfish_info: The redfish_info module retrieves information about the remote Out-Of-Band (OOB) controller such as systems inventory.
  2. redfish_command: The redfish_command module performs Out-Of-Band (OOB) controller operations like log management and user management, and power operations such as system restart, power on and off.
  3. redfish_config: The redfish_config module performs OOB controller operations such as changing OOB configuration, or setting the BIOS configuration.

5.2. Redfish modules parameters

The parameters used for the Redfish modules are:

Expand
redfish_info parameters:Description

baseuri

(Mandatory) - Base URI of OOB controller.

category

(Mandatory) - List of categories to execute on OOB controller. The default value is ["Systems"].

command

(Mandatory) - List of commands to execute on OOB controller.

username

Username for authentication to OOB controller.

password

Password for authentication to OOB controller.

Expand
redfish_command parameters:Description

baseuri

(Mandatory) - Base URI of OOB controller.

category

(Mandatory) - List of categories to execute on OOB controller. The default value is ["Systems"].

command

(Mandatory) - List of commands to execute on OOB controller.

username

Username for authentication to OOB controller.

password

Password for authentication to OOB controller.

Expand
redfish_config parameters:Description

baseuri

(Mandatory) - Base URI of OOB controller.

category

(Mandatory) - List of categories to execute on OOB controller. The default value is ["Systems"].

command

(Mandatory) - List of commands to execute on OOB controller.

username

Username for authentication to OOB controller.

password

Password for authentication to OOB controller.

bios_attributes

BIOS attributes to update.

5.3. Using the redfish_info module

The following example shows how to use the redfish_info module in a playbook to get information about the CPU inventory. For simplicity, the example uses the same host as the Ansible control host and managed host, thus executing the modules on the same host where the playbook is executed.

Prerequisites

  • The redhat.rhel_mgmt collection is installed.
  • The pyghmi library in the python3-pyghmi package is installed on the managed host. If you use localhost as the managed host, install the python3-pyghmi package on the host where you execute the playbook.
  • OOB controller access details.

Procedure

  1. Create a new playbook.yml file with the following content:

    ---
    - name: Get CPU inventory
      hosts: localhost
      tasks:
        - redhat.rhel_mgmt.redfish_info:
            baseuri: "{{ baseuri }}"
            username: "{{ username }}"
            password: "{{ password }}"
            category: Systems
            command: GetCpuInventory
          register: result
    Copy to Clipboard Toggle word wrap
  2. Execute the playbook against localhost:

    # ansible-playbook playbook.yml
    Copy to Clipboard Toggle word wrap

As a result, the output returns the CPU inventory details.

5.4. Using the redfish_command module

The following example shows how to use the redfish_command module in a playbook to turn on a system. For simplicity, the example uses the same host as the Ansible control host and managed host, thus executing the modules on the same host where the playbook is executed.

Prerequisites

  • The redhat.rhel_mgmt collection is installed.
  • The pyghmi library in the python3-pyghmi package is installed on the managed host. If you use localhost as the managed host, install the python3-pyghmi package on the host where you execute the playbook.
  • OOB controller access details.

Procedure

  1. Create a new playbook.yml file with the following content:

    ---
    - name: Power on system
      hosts: localhost
      tasks:
        - redhat.rhel_mgmt.redfish_command:
            baseuri: "{{ baseuri }}"
            username: "{{ username }}"
            password: "{{ password }}"
            category: Systems
            command: PowerOn
    Copy to Clipboard Toggle word wrap
  2. Execute the playbook against localhost:

    # ansible-playbook playbook.yml
    Copy to Clipboard Toggle word wrap

As a result, the system powers on.

5.5. Using the redfish_config module

The following example shows how to use the redfish_config module in a playbook to configure a system to boot with UEFI. For simplicity, the example uses the same host as the Ansible control host and managed host, thus executing the modules on the same host where the playbook is executed.

Prerequisites

  • The redhat.rhel_mgmt collection is installed.
  • The pyghmi library in the python3-pyghmi package is installed on the managed host. If you use localhost as the managed host, install the python3-pyghmi package on the host where you execute the playbook.
  • OOB controller access details.

Procedure

  1. Create a new playbook.yml file with the following content:

    ---
    - name: "Set BootMode to UEFI"
      hosts: localhost
      tasks:
        - redhat.rhel_mgmt.redfish_config:
            baseuri: "{{ baseuri }}"
            username: "{{ username }}"
            password: "{{ password }}"
            category: Systems
            command: SetBiosAttributes
            bios_attributes:
              BootMode: Uefi
    Copy to Clipboard Toggle word wrap
  2. Execute the playbook against localhost:

    # ansible-playbook playbook.yml
    Copy to Clipboard Toggle word wrap

As a result, the system boot mode is set to UEFI.

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2026 Red Hat