Este conteúdo não está disponível no idioma selecionado.
Chapter 4. Ansible IPMI modules in RHEL
4.1. The rhel_mgmt collection Copiar o linkLink copiado para a área de transferência!
The Intelligent Platform Management Interface (IPMI) is a specification for a set of standard protocols to communicate with baseboard management controller (BMC) devices. The IPMI modules allow you to enable and support hardware management automation. The IPMI modules are available in:
-
The
rhel_mgmtCollection. The package name isansible-collection-redhat-rhel_mgmt. -
The RHEL 7.9 AppStream, as part of the new
ansible-collection-redhat-rhel_mgmtpackage.
The following IPMI modules are available in the rhel_mgmt collection:
-
ipmi_boot: Management of boot device order -
ipmi_power: Power management for machine
The mandatory parameters used for the IPMI Modules are:
-
ipmi_bootparameters:
| Module name | Description |
|---|---|
| name | Hostname or ip address of the BMC |
| password | Password to connect to the BMC |
| bootdev | Device to be used on next boot * network * floppy * hd * safe * optical * setup * default |
| User | Username to connect to the BMC |
-
ipmi_powerparameters:
| Module name | Description |
|---|---|
| name | BMC Hostname or IP address |
| password | Password to connect to the BMC |
| user | Username to connect to the BMC |
| State | Check if the machine is on the desired status * on * off * shutdown * reset * boot |
4.2. Installing the rhel mgmt Collection using the CLI Copiar o linkLink copiado para a área de transferência!
You can install the rhel_mgmt Collection using the command line.
Prerequisites
-
The
ansible-corepackage is installed.
Procedure
Install the collection via RPM package:
yum install ansible-collection-redhat-rhel_mgmt
# yum install ansible-collection-redhat-rhel_mgmtCopy to Clipboard Copied! Toggle word wrap Toggle overflow After the installation is finished, the IPMI modules are available in the
redhat.rhel_mgmtAnsible collection.
4.3. Example using the ipmi_boot module Copiar o linkLink copiado para a área de transferência!
The following example shows how to use the ipmi_boot module in a playbook to set a boot device for the next boot. For simplicity, the examples use 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 rhel_mgmt collection is installed.
The
pyghmilibrary in thepython3-pyghmipackage is installed in one of the following locations:- The host where you execute the playbook.
-
The managed host. If you use localhost as the managed host, install the
python3-pyghmipackage on the host where you execute the playbook instead.
- The IPMI BMC that you want to control is accessible via network from the host where you execute the playbook, or the managed host (if not using localhost as the managed host). Note that the host whose BMC is being configured by the module is generally different from the host where the module is executing (the Ansible managed host), as the module contacts the BMC over the network using the IPMI protocol.
- You have credentials to access BMC with an appropriate level of access.
Procedure
Create a new playbook.yml file with the following content:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Execute the playbook against localhost:
ansible-playbook playbook.yml
# ansible-playbook playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
As a result, the output returns the value “success”.
4.4. Example using the ipmi_power module Copiar o linkLink copiado para a área de transferência!
This example shows how to use the ipmi_boot module in a playbook to check if the system is turned on. For simplicity, the examples use 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 rhel_mgmt collection is installed.
The
pyghmilibrary in thepython3-pyghmipackage is installed in one of the following locations:- The host where you execute the playbook.
-
The managed host. If you use localhost as the managed host, install the
python3-pyghmipackage on the host where you execute the playbook instead.
- The IPMI BMC that you want to control is accessible via network from the host where you execute the playbook, or the managed host (if not using localhost as the managed host). Note that the host whose BMC is being configured by the module is generally different from the host where the module is executing (the Ansible managed host), as the module contacts the BMC over the network using the IPMI protocol.
- You have credentials to access BMC with an appropriate level of access.
Procedure
Create a new playbook.yml file with the following content:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Execute the playbook:
ansible-playbook playbook.yml
# ansible-playbook playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
The output returns the value “true”.