Ruby Loo 3aad5d8128 [docs] update irmc boot-from-volume
This updates the boot-from-volume documentation for the iRMC
driver.

Change-Id: I06eac109807e8e05b92fb976c335ef4b2f3851ad
Partial-Bug: #1677436
2017-08-16 17:40:23 -04:00

374 lines
15 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. _irmc:
============
iRMC drivers
============
Overview
========
The iRMC driver enables control FUJITSU PRIMERGY via ServerView
Common Command Interface (SCCI).
There are 3 iRMC drivers:
* ``pxe_irmc``.
* ``iscsi_irmc``
* ``agent_irmc``
Prerequisites
=============
* Install `python-scciclient <https://pypi.python.org/pypi/python-scciclient>`_
and `pysnmp <https://pypi.python.org/pypi/pysnmp>`_ packages::
$ pip install "python-scciclient>=0.5.0" pysnmp
Drivers
=======
pxe_irmc driver
^^^^^^^^^^^^^^^
This driver enables PXE deploy and power control via ServerView Common
Command Interface (SCCI).
Enabling the driver
~~~~~~~~~~~~~~~~~~~
- Add ``pxe_irmc`` to the list of ``enabled_drivers`` in ``[DEFAULT]``
section of ``/etc/ironic/ironic.conf``.
- Ironic Conductor must be restarted for the new driver to be loaded.
Node configuration
~~~~~~~~~~~~~~~~~~
* Each node is configured for iRMC with PXE deploy by setting the
following ironic node objects properties:
- ``driver`` property to be ``pxe_irmc``
- ``driver_info/irmc_address`` property to be ``IP address`` or
``hostname`` of the iRMC.
- ``driver_info/irmc_username`` property to be ``username`` for
the iRMC with administrator privileges.
- ``driver_info/irmc_password`` property to be ``password`` for
irmc_username.
- ``properties/capabilities`` property to be ``boot_mode:uefi`` if
UEFI boot is required.
- ``properties/capabilities`` property to be ``boot_mode:uefi,secure_boot:true`` if
UEFI Secure Boot is required.
* All of nodes are configured by setting the following configuration
options in ``[irmc]`` section of ``/etc/ironic/ironic.conf``:
- ``port``: Port to be used for iRMC operations; either 80
or 443. The default value is 443. Optional.
- ``auth_method``: Authentication method for iRMC operations;
either ``basic`` or ``digest``. The default value is ``basic``. Optional.
- ``client_timeout``: Timeout (in seconds) for iRMC
operations. The default value is 60. Optional.
- ``sensor_method``: Sensor data retrieval method; either
``ipmitool`` or ``scci``. The default value is ``ipmitool``. Optional.
* The following options are only required for inspection:
- ``snmp_version``: SNMP protocol version; either ``v1``, ``v2c`` or
``v3``. The default value is ``v2c``. Optional.
- ``snmp_port``: SNMP port. The default value is ``161``. Optional.
- ``snmp_community``: SNMP community required for versions ``v1``
and ``v2c``. The default value is ``public``. Optional.
- ``snmp_security``: SNMP security name required for version ``v3``.
Optional.
* Each node can be further configured by setting the following ironic
node objects properties which override the parameter values in
``[irmc]`` section of ``/etc/ironic/ironic.conf``:
- ``driver_info/irmc_port`` property overrides ``port``.
- ``driver_info/irmc_auth_method`` property overrides ``auth_method``.
- ``driver_info/irmc_client_timeout`` property overrides ``client_timeout``.
- ``driver_info/irmc_sensor_method`` property overrides ``sensor_method``.
- ``driver_info/irmc_snmp_version`` property overrides ``snmp_version``.
- ``driver_info/irmc_snmp_port`` property overrides ``snmp_port``.
- ``driver_info/irmc_snmp_community`` property overrides ``snmp_community``.
- ``driver_info/irmc_snmp_security`` property overrides ``snmp_security``.
iscsi_irmc driver
^^^^^^^^^^^^^^^^^
This driver enables Virtual Media deploy with image build from
Diskimage Builder and power control via ServerView Common Command
Interface (SCCI).
Enabling the driver
~~~~~~~~~~~~~~~~~~~
- Add ``iscsi_irmc`` to the list of ``enabled_drivers`` in
``[DEFAULT]`` section of ``/etc/ironic/ironic.conf``.
- Ironic Conductor must be restarted for the new driver to be loaded.
Node configuration
~~~~~~~~~~~~~~~~~~
* Each node is configured for iRMC with PXE deploy by setting the
followings ironic node objects properties:
- ``driver`` property to be ``iscsi_irmc``
- ``driver_info/irmc_address`` property to be ``IP address`` or
``hostname`` of the iRMC.
- ``driver_info/irmc_username`` property to be ``username`` for
the iRMC with administrator privileges.
- ``driver_info/irmc_password`` property to be ``password`` for
irmc_username.
- ``properties/capabilities`` property to be ``boot_mode:uefi`` if
UEFI boot is required.
- ``driver_info/irmc_deploy_iso`` property to be either ``deploy iso
file name``, ``Glance UUID``, ``Glance URL`` or ``Image Service
URL``.
- ``instance info/irmc_boot_iso`` property to be either ``boot iso
file name``, ``Glance UUID``, ``Glance URL`` or ``Image Service
URL``. This is optional property for ``netboot``.
* All of nodes are configured by setting the following configuration
options in ``[irmc]`` section of ``/etc/ironic/ironic.conf``:
- ``port``: Port to be used for iRMC operations; either ``80``
or ``443``. The default value is ``443``. Optional.
- ``auth_method``: Authentication method for iRMC operations;
either ``basic`` or ``digest``. The default value is ``basic``. Optional.
- ``client_timeout``: Timeout (in seconds) for iRMC
operations. The default value is 60. Optional.
- ``sensor_method``: Sensor data retrieval method; either
``ipmitool`` or ``scci``. The default value is ``ipmitool``. Optional.
- ``remote_image_share_root``: Ironic conductor node's ``NFS`` or
``CIFS`` root path. The default value is ``/remote_image_share_root``.
- ``remote_image_server``: IP of remote image server.
- ``remote_image_share_type``: Share type of virtual media, either
``NFS`` or ``CIFS``. The default is ``CIFS``.
- ``remote_image_share_name``: share name of ``remote_image_server``.
The default value is ``share``.
- ``remote_image_user_name``: User name of ``remote_image_server``.
- ``remote_image_user_password``: Password of ``remote_image_user_name``.
- ``remote_image_user_domain``: Domain name of ``remote_image_user_name``.
* The following options are only required for inspection:
- ``snmp_version``: SNMP protocol version; either ``v1``, ``v2c`` or
``v3``. The default value is ``v2c``. Optional.
- ``snmp_port``: SNMP port. The default value is ``161``. Optional.
- ``snmp_community``: SNMP community required for versions ``v1``
and ``v2c``. The default value is ``public``. Optional.
- ``snmp_security``: SNMP security name required for version ``v3``.
Optional.
* Each node can be further configured by setting the following ironic
node objects properties which override the parameter values in
``[irmc]`` section of ``/etc/ironic/ironic.conf``:
- ``driver_info/irmc_port`` property overrides ``port``.
- ``driver_info/irmc_auth_method`` property overrides ``auth_method``.
- ``driver_info/irmc_client_timeout`` property overrides ``client_timeout``.
- ``driver_info/irmc_sensor_method`` property overrides ``sensor_method``.
- ``driver_info/irmc_snmp_version`` property overrides ``snmp_version``.
- ``driver_info/irmc_snmp_port`` property overrides ``snmp_port``.
- ``driver_info/irmc_snmp_community`` property overrides ``snmp_community``.
- ``driver_info/irmc_snmp_security`` property overrides ``snmp_security``.
agent_irmc driver
^^^^^^^^^^^^^^^^^
This driver enables Virtual Media deploy with IPA (Ironic Python
Agent) and power control via ServerView Common Command Interface
(SCCI).
Enabling the driver
~~~~~~~~~~~~~~~~~~~
- Add ``agent_irmc`` to the list of ``enabled_drivers`` in
``[DEFAULT]`` section of ``/etc/ironic/ironic.conf``.
- Ironic Conductor must be restarted for the new driver to be loaded.
Node configuration
~~~~~~~~~~~~~~~~~~
* Each node is configured for iRMC with PXE deploy by setting the
followings ironic node objects properties:
- ``driver`` property to be ``agent_irmc``
- ``driver_info/irmc_address`` property to be ``IP address`` or
``hostname`` of the iRMC.
- ``driver_info/irmc_username`` property to be ``username`` for
the iRMC with administrator privileges.
- ``driver_info/irmc_password`` property to be ``password`` for
irmc_username.
- ``properties/capabilities`` property to be ``boot_mode:uefi`` if
UEFI boot is required.
- ``driver_info/irmc_deploy_iso`` property to be either ``deploy iso
file name``, ``Glance UUID``, ``Glance URL`` or ``Image Service
URL``.
* All of nodes are configured by setting the following configuration
options in ``[irmc]`` section of ``/etc/ironic/ironic.conf``:
- ``port``: Port to be used for iRMC operations; either 80
or 443. The default value is 443. Optional.
- ``auth_method``: Authentication method for iRMC operations;
either ``basic`` or ``digest``. The default value is ``basic``. Optional.
- ``client_timeout``: Timeout (in seconds) for iRMC
operations. The default value is 60. Optional.
- ``sensor_method``: Sensor data retrieval method; either
``ipmitool`` or ``scci``. The default value is ``ipmitool``. Optional.
- ``remote_image_share_root``: Ironic conductor node's ``NFS`` or
``CIFS`` root path. The default value is ``/remote_image_share_root``.
- ``remote_image_server``: IP of remote image server.
- ``remote_image_share_type``: Share type of virtual media, either
``NFS`` or ``CIFS``. The default is ``CIFS``.
- ``remote_image_share_name``: share name of ``remote_image_server``.
The default value is ``share``.
- ``remote_image_user_name``: User name of ``remote_image_server``.
- ``remote_image_user_password``: Password of ``remote_image_user_name``.
- ``remote_image_user_domain``: Domain name of ``remote_image_user_name``.
* The following options are only required for inspection:
- ``snmp_version``: SNMP protocol version; either ``v1``, ``v2c`` or
``v3``. The default value is ``v2c``. Optional.
- ``snmp_port``: SNMP port. The default value is ``161``. Optional.
- ``snmp_community``: SNMP community required for versions ``v1``
and ``v2c``. The default value is ``public``. Optional.
- ``snmp_security``: SNMP security name required for version ``v3``.
Optional.
* Each node can be further configured by setting the following ironic
node objects properties which override the parameter values in
``[irmc]`` section of ``/etc/ironic/ironic.conf``:
- ``driver_info/irmc_port`` property overrides ``port``.
- ``driver_info/irmc_auth_method`` property overrides ``auth_method``.
- ``driver_info/irmc_client_timeout`` property overrides ``client_timeout``.
- ``driver_info/irmc_sensor_method`` property overrides ``sensor_method``.
- ``driver_info/irmc_snmp_version`` property overrides ``snmp_version``.
- ``driver_info/irmc_snmp_port`` property overrides ``snmp_port``.
- ``driver_info/irmc_snmp_community`` property overrides ``snmp_community``.
- ``driver_info/irmc_snmp_security`` property overrides ``snmp_security``.
Functionalities across drivers
==============================
.. _irmc_node_cleaning:
Node Cleaning Support
^^^^^^^^^^^^^^^^^^^^^
The following iRMC drivers support node cleaning:
* ``pxe_irmc``
* ``iscsi_irmc``
* ``agent_irmc``
For more information on node cleaning, see :ref:`cleaning`
Supported **Automated** Cleaning Operations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The automated cleaning operations supported are:
* ``restore_irmc_bios_config``:
Restores BIOS settings on a baremetal node from backup data. If this
clean step is enabled, the BIOS settings of a baremetal node will be
backed up automatically before the deployment. By default, this clean
step is disabled with priority ``0``. Set its priority to a positive
integer to enable it. The recommended value is ``10``.
Configuration options for the automated cleaning steps are listed under
``[irmc]`` section in ironic.conf ::
clean_priority_restore_irmc_bios_config = 0
For more information on node automated cleaning, see :ref:`automated_cleaning`
Boot from Remote Volume
^^^^^^^^^^^^^^^^^^^^^^^
The iRMC driver supports the generic iPXE-based remote volume booting when
using the ``pxe_irmc`` classic driver or the following boot interfaces with
the ``irmc`` hardware type:
* ``irmc-pxe``
* ``pxe``
In addition, the iRMC driver also supports remote volume booting without iPXE.
This is available when using the ``irmc-virtual-media`` boot interface with the
``irmc`` hardware type. It is also supported with the following classic
drivers:
* ``iscsi_irmc``
* ``agent_irmc``
This feature configures a node to boot from a remote volume by using the API of
iRMC. It supports iSCSI and FibreChannel.
Configuration
~~~~~~~~~~~~~
In addition to the configuration for generic drivers to
:ref:`remote volume boot <boot-from-volume>`,
the iRMC drivers require the following configuration:
* It is necessary to set physical port IDs to network ports and volume
connectors. All cards including those not used for volume boot should be
registered.
The format of a physical port ID is: ``<Card Type><Slot No>-<Port No>`` where:
- ``<Card Type>``: could be ``LAN``, ``FC`` or ``CNA``
- ``<Slot No>``: 0 indicates onboard slot. Use 1 to 9 for add-on slots.
- ``<Port No>``: A port number starting from 1.
These IDs are specified in a node's ``driver_info[irmc_pci_physical_ids]``.
This value is a dictionary. The key is the UUID of a resource (Port or Volume
Connector) and its value is the physical port ID. For example::
{
"1ecd14ee-c191-4007-8413-16bb5d5a73a2":"LAN0-1",
"87f6c778-e60e-4df2-bdad-2605d53e6fc0":"CNA1-1"
}
It can be set with the following command::
openstack baremetal node set $NODE_UUID \
--driver-info irmc_pci_physical_ids={} \
--driver-info irmc_pci_physical_ids/$PORT_UUID=LAN0-1 \
--driver-info irmc_pci_physical_ids/$VOLUME_CONNECTOR_UUID=CNA1-1
* For iSCSI boot, volume connectors with both types ``iqn`` and ``ip`` are
required. The configuration with DHCP is not supported yet.
* For iSCSI, the size of the storage network is needed. This value should be
specified in a node's ``driver_info[irmc_storage_network_size]``. It must be
a positive integer < 32.
For example, if the storage network is 10.2.0.0/22, use the following
command::
openstack baremetal node set $NODE_UUID --driver-info irmc_storage_network_size=22
Supported hardware
~~~~~~~~~~~~~~~~~~
The drivers support the PCI controllers, Fibrechannel Cards, Converged Network
Adapters supported by
`Fujitsu ServerView Virtual-IO Manager <http://www.fujitsu.com/fts/products/computing/servers/primergy/management/primergy-blade-server-io-virtualization.html>`_.
Supported platforms
===================
This driver supports FUJITSU PRIMERGY BX S4 or RX S8 servers and above.
- PRIMERGY BX920 S4
- PRIMERGY BX924 S4
- PRIMERGY RX300 S8
Soft Reboot (Graceful Reset) and Soft Power Off (Graceful Power Off)
are only available if `ServerView agents <http://manuals.ts.fujitsu.com/index.php?id=5406-5873-5925-5945-16159>`_
are installed. See `iRMC S4 Manual <http://manuals.ts.fujitsu.com/index.php?id=5406-5873-5925-5988>`_
for more details.