578f01678c
This is a follow-up patch to the patch so that the power status
is not retried if a power action fails:
ee5d4942a1
It addresses the comments as well as adds more clarification
and updates the documentation to refer to the new
[ipmi]command_retry_timeout config option.
Change-Id: Ib21544da260565ae399e2d07b32af9bd8b810280
Related-Bug: #1692895
86 lines
3.2 KiB
ReStructuredText
86 lines
3.2 KiB
ReStructuredText
Configuring IPMI support
|
|
------------------------
|
|
|
|
Installing ipmitool command
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
To enable one of the drivers that use IPMI_ protocol for power and management
|
|
actions (for example, ``ipmi``, ``pxe_ipmitool`` and ``agent_ipmitool``), the
|
|
``ipmitool`` command must be present on the service node(s) where
|
|
``ironic-conductor`` is running. On most distros, it is provided as part
|
|
of the ``ipmitool`` package. Source code is available at
|
|
http://ipmitool.sourceforge.net/.
|
|
|
|
.. warning::
|
|
Certain distros, notably Mac OS X and SLES, install ``openipmi``
|
|
instead of ``ipmitool`` by default. This driver is not compatible with
|
|
``openipmi`` as it relies on error handling options not provided by
|
|
this tool.
|
|
|
|
Please refer to the `ipmitool driver page`_ for information on how to use
|
|
IPMItool-based drivers.
|
|
|
|
Validation and troubleshooting
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Check that you can connect to, and authenticate with, the IPMI
|
|
controller in your bare metal server by running ``ipmitool``::
|
|
|
|
ipmitool -I lanplus -H <ip-address> -U <username> -P <password> chassis power status
|
|
|
|
where ``<ip-address>`` is the IP of the IPMI controller you want to access.
|
|
This is not the bare metal node's main IP. The IPMI controller should have
|
|
its own unique IP.
|
|
|
|
If the above command doesn't return the power status of the
|
|
bare metal server, check that
|
|
|
|
- ``ipmitool`` is installed and is available via the ``$PATH`` environment
|
|
variable.
|
|
- The IPMI controller on your bare metal server is turned on.
|
|
- The IPMI controller credentials and IP address passed in the command
|
|
are correct.
|
|
- The conductor node has a route to the IPMI controller. This can be
|
|
checked by just pinging the IPMI controller IP from the conductor
|
|
node.
|
|
|
|
IPMI configuration
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
If there are slow or unresponsive BMCs in the environment, the
|
|
``command_retry_timeout`` configuration option in the ``[ipmi]`` section may
|
|
need to be lowered. The default is fairly conservative, as setting this timeout
|
|
too low can cause older BMCs to crash and require a hard-reset.
|
|
|
|
Collecting sensor data
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Bare Metal service supports sending IPMI sensor data to Telemetry with
|
|
certain drivers, such as drivers ending with ``ipmitool``, ``ilo`` and
|
|
``irmc``. By default, support for sending IPMI sensor data to Telemetry is
|
|
disabled. If you want to enable it, you should make the following two changes
|
|
in ``ironic.conf``:
|
|
|
|
.. code-block:: ini
|
|
|
|
[DEFAULT]
|
|
notification_driver = messaging
|
|
[conductor]
|
|
send_sensor_data = true
|
|
|
|
If you want to customize the sensor types which will be sent to Telemetry,
|
|
change the ``send_sensor_data_types`` option. For example, the below
|
|
settings will send information about temperature, fan, voltage from sensors
|
|
to the Telemetry service:
|
|
|
|
.. code-block:: ini
|
|
|
|
send_sensor_data_types=Temperature,Fan,Voltage
|
|
|
|
Supported sensor types are defined by the Telemetry service, currently
|
|
these are ``Temperature``, ``Fan``, ``Voltage``, ``Current``.
|
|
Special value ``All`` (the default) designates all supported sensor types.
|
|
|
|
.. _IPMI: https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface
|
|
.. _ipmitool driver page: https://docs.openstack.org/ironic/latest/admin/drivers/ipmitool.html
|