Merge "Add documentation for IntelIPMI hardware"
This commit is contained in:
commit
bc8959765b
@ -20,6 +20,7 @@ Hardware Types
|
||||
drivers/ibmc
|
||||
drivers/idrac
|
||||
drivers/ilo
|
||||
drivers/intel-ipmi
|
||||
drivers/ipmitool
|
||||
drivers/irmc
|
||||
drivers/redfish
|
||||
|
159
doc/source/admin/drivers/intel-ipmi.rst
Normal file
159
doc/source/admin/drivers/intel-ipmi.rst
Normal file
@ -0,0 +1,159 @@
|
||||
=================
|
||||
Intel IPMI driver
|
||||
=================
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
The ``intel-ipmi`` hardware type is same as the :doc:`ipmitool` hardware
|
||||
type except for the support of Intel Speed Select Performance Profile
|
||||
(Intel SST-PP_) feature. Intel SST-PP allows a server to run different
|
||||
workloads by configuring the CPU to run at 3 distinct operating points
|
||||
or profiles.
|
||||
|
||||
Intel SST-PP supports three configuration levels:
|
||||
|
||||
* 0 - Intel SST-PP Base Config
|
||||
* 1 - Intel SST-PP Config 1
|
||||
* 2 - Intel SST-PP Config 2
|
||||
|
||||
The following table shows the list of active cores and their base frequency at
|
||||
different SST-PP config levels::
|
||||
|
||||
+-------------+---------+-------------------+
|
||||
| Config | Cores | Base Freq (GHz) |
|
||||
+=============+=========+===================+
|
||||
| Base | 24 | 2.4 |
|
||||
+-------------+---------+-------------------+
|
||||
| Config 1 | 20 | 2.5 |
|
||||
+-------------+---------+-------------------+
|
||||
| Config 2 | 16 | 2.7 |
|
||||
+-------------+---------+-------------------+
|
||||
|
||||
This configuration is managed by the management interface ``intel-ipmitool``
|
||||
for IntelIPMI hardware.
|
||||
|
||||
IntelIPMI manages nodes by using IPMI_ (Intelligent Platform
|
||||
Management Interface) protocol versions 2.0 or 1.5. It uses the IPMItool_
|
||||
utility which is an open-source command-line interface (CLI) for controlling
|
||||
IPMI-enabled devices.
|
||||
|
||||
Glossary
|
||||
========
|
||||
|
||||
* IPMI - Intelligent Platform Management Interface.
|
||||
* Intel SST-PP - Intel Speed Select Performance Profile.
|
||||
|
||||
Enabling the IntelIPMI hardware type
|
||||
====================================
|
||||
|
||||
Please see :doc:`/install/configure-ipmi` for the required dependencies.
|
||||
|
||||
#. To enable ``intel-ipmi`` hardware, add the following configuration to your
|
||||
``ironic.conf``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[DEFAULT]
|
||||
enabled_hardware_types = intel-ipmi
|
||||
enabled_management_interfaces = intel-ipmitool
|
||||
|
||||
#. Restart the Ironic conductor service::
|
||||
|
||||
sudo service ironic-conductor restart
|
||||
|
||||
# Or, for RDO:
|
||||
sudo systemctl restart openstack-ironic-conductor
|
||||
|
||||
Registering a node with the IntelIPMI driver
|
||||
============================================
|
||||
|
||||
Nodes configured to use the IntelIPMI drivers should have the
|
||||
``driver`` field set to ``intel-ipmi``.
|
||||
|
||||
All the configuration value required for IntelIPMI is the same as the IPMI
|
||||
hardware type except the management interface which is ``intel-ipmitool``.
|
||||
Refer :doc:`ipmitool` for details.
|
||||
|
||||
The ``openstack baremetal node create`` command can be used to enroll a node
|
||||
with an IntelIPMI driver. For example::
|
||||
|
||||
openstack baremetal node create --driver intel-ipmi \
|
||||
--driver-info ipmi_address=<address> \
|
||||
--driver-info ipmi_username=<username> \
|
||||
--driver-info ipmi_password=<password>
|
||||
|
||||
|
||||
Features of the ``intel-ipmi`` hardware type
|
||||
============================================
|
||||
|
||||
Intel SST-PP
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
A node with Intel SST-PP can be configured to use it via
|
||||
``configure_intel_speedselect`` deploy step. This deploy accepts:
|
||||
|
||||
* ``intel_speedselect_config``:
|
||||
Hexadecimal code of Intel SST-PP configuration. Accepted values are
|
||||
['0x00', '0x01', '0x02']. These values correspond to
|
||||
`Intel SST-PP Config Base`, `Intel SST-PP Config 1`,
|
||||
`Intel SST-PP Config 2` respectively. The input value must be a string.
|
||||
|
||||
* ``socket_count``:
|
||||
Number of sockets in the node. The input value must be a positive
|
||||
integer (1 by default).
|
||||
|
||||
The deploy step issues an IPMI command with the raw code for each socket in
|
||||
the node to set the requested configuration. A reboot is required to reflect
|
||||
the changes.
|
||||
|
||||
Each configuration profile is mapped to traits that Ironic understands.
|
||||
Please note that these names are used for example purpose only. Any name can
|
||||
be used. Only the parameter value should match the deploy step
|
||||
``configure_intel_speedselect``.
|
||||
|
||||
* 0 - ``CUSTOM_INTEL_SPEED_SELECT_CONFIG_BASE``
|
||||
* 1 - ``CUSTOM_INTEL_SPEED_SELECT_CONFIG_1``
|
||||
* 2 - ``CUSTOM_INTEL_SPEED_SELECT_CONFIG_2``
|
||||
|
||||
Now to configure a node with Intel SST-PP while provisioning, create deploy
|
||||
templates for each profiles in Ironic.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
openstack baremetal deploy template create \
|
||||
CUSTOM_INTEL_SPEED_SELECT_CONFIG_BASE \
|
||||
--steps '[{"interface": "management", "step": "configure_intel_speedselect", "args": {"intel_speedselect_config": "0x00", "socket_count": 2}, "priority": 150}]'
|
||||
|
||||
openstack baremetal deploy template create \
|
||||
CUSTOM_INTEL_SPEED_SELECT_CONFIG_1 \
|
||||
--steps '[{"interface": "management", "step": "configure_intel_speedselect", "args": {"intel_speedselect_config": "0x01", "socket_count": 2}, "priority": 150}]'
|
||||
|
||||
openstack baremetal deploy template create \
|
||||
CUSTOM_INTEL_SPEED_SELECT_CONFIG_2 \
|
||||
--steps '[{"interface": "management", "step": "configure_intel_speedselect", "args": {"intel_speedselect_config": "0x02", "socket_count": 2}, "priority": 150}]'
|
||||
|
||||
|
||||
All Intel SST-PP capable nodes should have these traits associated.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
openstack baremetal node add trait node-0 \
|
||||
CUSTOM_INTEL_SPEED_SELECT_CONFIG_BASE \
|
||||
CUSTOM_INTEL_SPEED_SELECT_CONFIG_1 \
|
||||
CUSTOM_INTEL_SPEED_SELECT_CONFIG_2
|
||||
|
||||
To trigger the Intel SST-PP configuration during node provisioning, one of the traits
|
||||
can be added to the flavor.
|
||||
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
openstack flavor set baremetal --property trait:CUSTOM_INTEL_SPEED_SELECT_CONFIG_1=required
|
||||
|
||||
Finally create a server with ``baremetal`` flavor to provision a baremetal node
|
||||
with Intel SST-PP profile *Config 1*.
|
||||
|
||||
.. _IPMI: https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface
|
||||
.. _IPMItool: https://sourceforge.net/projects/ipmitool/
|
||||
.. _SST-PP: https://www.intel.com/content/www/us/en/architecture-and-technology/speed-select-technology-article.html
|
Loading…
Reference in New Issue
Block a user