Documentation for irmc hardware type

Added documentation for irmc hardware type. Also added
some anchors into enabling-drivers.rst due to the current
doc needs to refer to some parts of that one.

Change-Id: Ie5bb4bb06120a8dd42eb900c8c3a18e7e97ee6f0
Closes-Bug: #1659209
This commit is contained in:
Dao Cong Tien 2017-08-03 20:50:44 +07:00
parent 6efe371280
commit d68834ab1b
3 changed files with 120 additions and 14 deletions

View File

@ -10,9 +10,13 @@ Overview
The iRMC driver enables control FUJITSU PRIMERGY via ServerView The iRMC driver enables control FUJITSU PRIMERGY via ServerView
Common Command Interface (SCCI). Common Command Interface (SCCI).
There are 3 iRMC drivers: Support for FUJITSU PRIMERGY servers consists of the ``irmc`` hardware
type, along with three classic drivers that were instituted before the
implementation of the functionality enabling the hardware type.
* ``pxe_irmc``. The classic drivers are:
* ``pxe_irmc``
* ``iscsi_irmc`` * ``iscsi_irmc``
* ``agent_irmc`` * ``agent_irmc``
@ -24,8 +28,95 @@ Prerequisites
$ pip install "python-scciclient>=0.5.0" pysnmp $ pip install "python-scciclient>=0.5.0" pysnmp
Drivers Hardware Type
======= =============
The ``irmc`` hardware type is introduced to support the new Ironic driver
model. It is recommended to use ``irmc`` hardware type for FUJITSU PRIMERGY
hardware instead of the classic drivers.
For how to enable ``irmc`` hardware type, see :ref:`enable-hardware-types`.
Hardware interfaces
^^^^^^^^^^^^^^^^^^^
The ``irmc`` hardware type overrides the selection of the following
hardware interfaces:
* boot
Supports ``irmc-virtual-media``, ``irmc-pxe``, and ``pxe``.
The default is ``irmc-virtual-media``.
.. warning::
We deprecated the ``pxe`` boot interface when used with ``irmc``
hardware type. Support for this interface will be removed in the
future. Instead, use ``irmc-pxe``. ``irmc-pxe`` boot interface
was introduced in Pike and is used in the ``pxe_irmc`` classic
driver.
* console
Supports ``ipmitool-socat``, ``ipmitool-shellinabox``, and ``no-console``.
The default is ``ipmitool-socat``.
* inspect
Supports ``irmc``, ``inspector``, and ``no-inspect``.
The default is ``irmc``.
.. note::
`Ironic Inspector <https://docs.openstack.org/ironic-inspector/latest/>`_
needs to be present and configured to use ``inspector`` as the
inspect interface.
* management
Supports only ``irmc``.
* power
Supports only ``irmc``.
For other hardware interfaces, ``irmc`` hardware type supports the
Bare Metal reference interfaces. For more details about the hardware
interfaces and how to enable the desired ones, see
:ref:`enable-hardware-interfaces`.
Here is a complete configuration example with most of the supported hardware
interfaces enabled for ``irmc`` hardware type.
.. code-block:: ini
[DEFAULT]
enabled_hardware_types = irmc
enabled_boot_interfaces = irmc-virtual-media,irmc-pxe
enabled_console_interfaces = ipmitool-socat,ipmitool-shellinabox,no-console
enabled_deploy_interfaces = iscsi,direct
enabled_inspect_interfaces = irmc,inspector,no-inspect
enabled_management_interfaces = irmc
enabled_network_interfaces = flat,neutron
enabled_power_interfaces = irmc
enabled_raid_interfaces = no-raid
enabled_storage_interfaces = noop,cinder
enabled_vendor_interfaces = no-vendor,ipmitool
Here is a command example to enroll a node with ``irmc`` hardware type.
.. code-block:: console
openstack baremetal node create --os-baremetal-api-version=1.31 \
--driver irmc \
--boot-interface irmc-pxe \
--deploy-interface direct \
--inspect-interface irmc
Upgrading to ``irmc`` hardware type
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When upgrading from a classic driver to the ``irmc`` hardware type,
make sure you specify the hardware interfaces that are used by the
classic driver. :doc:`/admin/upgrade-to-hardware-types` has more
information, including the hardware interfaces corresponding to
the classic drivers.
Classic Drivers
===============
pxe_irmc driver pxe_irmc driver
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
@ -70,7 +161,7 @@ Node configuration
- ``sensor_method``: Sensor data retrieval method; either - ``sensor_method``: Sensor data retrieval method; either
``ipmitool`` or ``scci``. The default value is ``ipmitool``. Optional. ``ipmitool`` or ``scci``. The default value is ``ipmitool``. Optional.
* The following options are only required for inspection: * The following options are only required for inspection:
- ``snmp_version``: SNMP protocol version; either ``v1``, ``v2c`` or - ``snmp_version``: SNMP protocol version; either ``v1``, ``v2c`` or
``v3``. The default value is ``v2c``. Optional. ``v3``. The default value is ``v2c``. Optional.
@ -152,7 +243,7 @@ Node configuration
- ``remote_image_user_password``: Password of ``remote_image_user_name``. - ``remote_image_user_password``: Password of ``remote_image_user_name``.
- ``remote_image_user_domain``: Domain name of ``remote_image_user_name``. - ``remote_image_user_domain``: Domain name of ``remote_image_user_name``.
* The following options are only required for inspection: * The following options are only required for inspection:
- ``snmp_version``: SNMP protocol version; either ``v1``, ``v2c`` or - ``snmp_version``: SNMP protocol version; either ``v1``, ``v2c`` or
``v3``. The default value is ``v2c``. Optional. ``v3``. The default value is ``v2c``. Optional.
@ -231,7 +322,7 @@ Node configuration
- ``remote_image_user_password``: Password of ``remote_image_user_name``. - ``remote_image_user_password``: Password of ``remote_image_user_name``.
- ``remote_image_user_domain``: Domain name of ``remote_image_user_name``. - ``remote_image_user_domain``: Domain name of ``remote_image_user_name``.
* The following options are only required for inspection: * The following options are only required for inspection:
- ``snmp_version``: SNMP protocol version; either ``v1``, ``v2c`` or - ``snmp_version``: SNMP protocol version; either ``v1``, ``v2c`` or
``v3``. The default value is ``v2c``. Optional. ``v3``. The default value is ``v2c``. Optional.
@ -261,7 +352,8 @@ Functionalities across drivers
Node Cleaning Support Node Cleaning Support
^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^
The following iRMC drivers support node cleaning: The ``irmc`` hardware type and the following iRMC classic drivers support
node cleaning:
* ``pxe_irmc`` * ``pxe_irmc``
* ``iscsi_irmc`` * ``iscsi_irmc``
@ -281,6 +373,13 @@ The automated cleaning operations supported are:
step is disabled with priority ``0``. Set its priority to a positive step is disabled with priority ``0``. Set its priority to a positive
integer to enable it. The recommended value is ``10``. integer to enable it. The recommended value is ``10``.
.. warning::
``pxe`` boot interface, when used with ``irmc`` hardware type, does
not support this clean step. If uses ``irmc`` hardware type, it is
required to select ``irmc-pxe`` or ``irmc-virtual-media`` as the
boot interface in order to make this clean step work.
Configuration options for the automated cleaning steps are listed under Configuration options for the automated cleaning steps are listed under
``[irmc]`` section in ironic.conf :: ``[irmc]`` section in ironic.conf ::

View File

@ -13,12 +13,15 @@ It is necessary to figure out which hardware types and hardware interfaces
correspond to which classic drivers used in your deployment. correspond to which classic drivers used in your deployment.
Use the following table: Use the following table:
================ ============= ======== ====== ========== ========= ================ ============= ==================== ====== ========== =========
Classic Driver Hardware Type Boot Deploy Management Power Classic Driver Hardware Type Boot Deploy Management Power
================ ============= ======== ====== ========== ========= ================ ============= ==================== ====== ========== =========
pxe_ipmitool ipmi pxe iscsi ipmitool ipmitool pxe_ipmitool ipmi pxe iscsi ipmitool ipmitool
agent_ipmitool ipmi pxe direct ipmitool ipmitool agent_ipmitool ipmi pxe direct ipmitool ipmitool
================ ============= ======== ====== ========== ========= pxe_irmc irmc irmc-pxe iscsi irmc irmc
iscsi_irmc irmc irmc-virtual-media iscsi irmc irmc
agent_irmc irmc irmc-virtual-media direct irmc irmc
================ ============= ==================== ====== ========== =========
.. TODO(dtantsur): finish this table .. TODO(dtantsur): finish this table

View File

@ -25,6 +25,8 @@ From API user's point of view, both *classic drivers* and *hardware types* can
be assigned to the ``driver`` field of a node. However, they are configured be assigned to the ``driver`` field of a node. However, they are configured
differently. differently.
.. _enable-hardware-types:
Enabling hardware types Enabling hardware types
----------------------- -----------------------
@ -44,6 +46,8 @@ hardware interfaces.
All available hardware types and interfaces are listed in setup.cfg_ file All available hardware types and interfaces are listed in setup.cfg_ file
in the source code tree. in the source code tree.
.. _enable-hardware-interfaces:
Enabling hardware interfaces Enabling hardware interfaces
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~