3f345c4a37
The help string for [ipmi]/command_retry_timeout is incorrect. From Sam Betts [1]: so looking at when this option was introduced ... it was originally introduced by the ipminative driver which used it as the timeout for waiting until the power state changed to the requested state. Reading between the lines in the commits that added this option and documentation, the "setting this too low might break things" comment originates from bugs in IPMInative. Later on the IPMItool driver then overloaded this configuration option and changed its meaning by introducing the min_command_interval config option. It continued to be used for the timeout for waiting for requested state, but it also now contributed to the the number of times a IPMItool command would retry retryable errors, which was/is worked out by dividing retry_timeout by min_command_interval. Now IPMInative no longer in tree I think we should clean up some of this information. [1] https://review.openstack.org/#/c/482631/ Change-Id: I8cd8e25a2fb224d477799a2e561573406f9427a9
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
|
|
``min_command_interval`` configuration option in the ``[ipmi]`` section may
|
|
need to be raised. 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
|