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
18 KiB
iRMC drivers
Overview
The iRMC driver enables control FUJITSU PRIMERGY via ServerView Common Command Interface (SCCI).
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.
The classic drivers are:
pxe_irmc
iscsi_irmc
agent_irmc
Prerequisites
Install python-scciclient and pysnmp packages:
$ pip install "python-scciclient>=0.5.0" pysnmp
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 enable-hardware-types
.
Hardware interfaces
The irmc
hardware type overrides the selection of the
following hardware interfaces:
- boot
-
Supports
irmc-virtual-media
,irmc-pxe
, andpxe
. The default isirmc-virtual-media
.Warning
We deprecated the
pxe
boot interface when used withirmc
hardware type. Support for this interface will be removed in the future. Instead, useirmc-pxe
.irmc-pxe
boot interface was introduced in Pike and is used in thepxe_irmc
classic driver.
- console
-
Supports
ipmitool-socat
,ipmitool-shellinabox
, andno-console
. The default isipmitool-socat
.
- inspect
-
Supports
irmc
,inspector
, andno-inspect
. The default isirmc
.Note
Ironic Inspector 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 enable-hardware-interfaces
.
Here is a complete configuration example with most of the supported
hardware interfaces enabled for irmc
hardware type.
[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.
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. /admin/upgrade-to-hardware-types
has more information,
including the hardware interfaces corresponding to the classic
drivers.
Classic 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 ofenabled_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 object’s properties:
driver
property to bepxe_irmc
driver_info/irmc_address
property to beIP address
orhostname
of the iRMC.driver_info/irmc_username
property to beusername
for the iRMC with administrator privileges.driver_info/irmc_password
property to bepassword
for irmc_username.properties/capabilities
property to beboot_mode:uefi
if UEFI boot is required.properties/capabilities
property to beboot_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; eitherbasic
ordigest
. The default value isbasic
. Optional.client_timeout
: Timeout (in seconds) for iRMC operations. The default value is 60. Optional.sensor_method
: Sensor data retrieval method; eitheripmitool
orscci
. The default value isipmitool
. Optional.
- The following options are only required for inspection:
snmp_version
: SNMP protocol version; eitherv1
,v2c
orv3
. The default value isv2c
. Optional.snmp_port
: SNMP port. The default value is161
. Optional.snmp_community
: SNMP community required for versionsv1
andv2c
. The default value ispublic
. Optional.snmp_security
: SNMP security name required for versionv3
. Optional.
- Each node can be further configured by setting the following ironic
node object’s properties which override the parameter values in
[irmc]
section of/etc/ironic/ironic.conf
:driver_info/irmc_port
property overridesport
.driver_info/irmc_auth_method
property overridesauth_method
.driver_info/irmc_client_timeout
property overridesclient_timeout
.driver_info/irmc_sensor_method
property overridessensor_method
.driver_info/irmc_snmp_version
property overridessnmp_version
.driver_info/irmc_snmp_port
property overridessnmp_port
.driver_info/irmc_snmp_community
property overridessnmp_community
.driver_info/irmc_snmp_security
property overridessnmp_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 ofenabled_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 object’s properties:
driver
property to beiscsi_irmc
driver_info/irmc_address
property to beIP address
orhostname
of the iRMC.driver_info/irmc_username
property to beusername
for the iRMC with administrator privileges.driver_info/irmc_password
property to bepassword
for irmc_username.properties/capabilities
property to beboot_mode:uefi
if UEFI boot is required.driver_info/irmc_deploy_iso
property to be eitherdeploy iso file name
,Glance UUID
,Glance URL
orImage Service URL
.instance info/irmc_boot_iso
property to be eitherboot iso file name
,Glance UUID
,Glance URL
orImage Service URL
. This is optional property fornetboot
.
- 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; either80
or443
. The default value is443
. Optional.auth_method
: Authentication method for iRMC operations; eitherbasic
ordigest
. The default value isbasic
. Optional.client_timeout
: Timeout (in seconds) for iRMC operations. The default value is 60. Optional.sensor_method
: Sensor data retrieval method; eitheripmitool
orscci
. The default value isipmitool
. Optional.remote_image_share_root
: Ironic conductor node'sNFS
orCIFS
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, eitherNFS
orCIFS
. The default isCIFS
.remote_image_share_name
: share name ofremote_image_server
. The default value isshare
.remote_image_user_name
: User name ofremote_image_server
.remote_image_user_password
: Password ofremote_image_user_name
.remote_image_user_domain
: Domain name ofremote_image_user_name
.
- The following options are only required for inspection:
snmp_version
: SNMP protocol version; eitherv1
,v2c
orv3
. The default value isv2c
. Optional.snmp_port
: SNMP port. The default value is161
. Optional.snmp_community
: SNMP community required for versionsv1
andv2c
. The default value ispublic
. Optional.snmp_security
: SNMP security name required for versionv3
. Optional.
- Each node can be further configured by setting the following ironic
node object’s properties which override the parameter values in
[irmc]
section of/etc/ironic/ironic.conf
:driver_info/irmc_port
property overridesport
.driver_info/irmc_auth_method
property overridesauth_method
.driver_info/irmc_client_timeout
property overridesclient_timeout
.driver_info/irmc_sensor_method
property overridessensor_method
.driver_info/irmc_snmp_version
property overridessnmp_version
.driver_info/irmc_snmp_port
property overridessnmp_port
.driver_info/irmc_snmp_community
property overridessnmp_community
.driver_info/irmc_snmp_security
property overridessnmp_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 ofenabled_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 object’s properties:
driver
property to beagent_irmc
driver_info/irmc_address
property to beIP address
orhostname
of the iRMC.driver_info/irmc_username
property to beusername
for the iRMC with administrator privileges.driver_info/irmc_password
property to bepassword
for irmc_username.properties/capabilities
property to beboot_mode:uefi
if UEFI boot is required.driver_info/irmc_deploy_iso
property to be eitherdeploy iso file name
,Glance UUID
,Glance URL
orImage 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; eitherbasic
ordigest
. The default value isbasic
. Optional.client_timeout
: Timeout (in seconds) for iRMC operations. The default value is 60. Optional.sensor_method
: Sensor data retrieval method; eitheripmitool
orscci
. The default value isipmitool
. Optional.remote_image_share_root
: Ironic conductor node'sNFS
orCIFS
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, eitherNFS
orCIFS
. The default isCIFS
.remote_image_share_name
: share name ofremote_image_server
. The default value isshare
.remote_image_user_name
: User name ofremote_image_server
.remote_image_user_password
: Password ofremote_image_user_name
.remote_image_user_domain
: Domain name ofremote_image_user_name
.
- The following options are only required for inspection:
snmp_version
: SNMP protocol version; eitherv1
,v2c
orv3
. The default value isv2c
. Optional.snmp_port
: SNMP port. The default value is161
. Optional.snmp_community
: SNMP community required for versionsv1
andv2c
. The default value ispublic
. Optional.snmp_security
: SNMP security name required for versionv3
. Optional.
- Each node can be further configured by setting the following ironic
node object’s properties which override the parameter values in
[irmc]
section of/etc/ironic/ironic.conf
:driver_info/irmc_port
property overridesport
.driver_info/irmc_auth_method
property overridesauth_method
.driver_info/irmc_client_timeout
property overridesclient_timeout
.driver_info/irmc_sensor_method
property overridessensor_method
.driver_info/irmc_snmp_version
property overridessnmp_version
.driver_info/irmc_snmp_port
property overridessnmp_port
.driver_info/irmc_snmp_community
property overridessnmp_community
.driver_info/irmc_snmp_security
property overridessnmp_security
.
Functionalities across drivers
Node Cleaning Support
The irmc
hardware type and the following iRMC classic
drivers support node cleaning:
pxe_irmc
iscsi_irmc
agent_irmc
For more information on node cleaning, see 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 priority0
. Set its priority to a positive integer to enable it. The recommended value is10
.Warning
pxe
boot interface, when used withirmc
hardware type, does not support this clean step. If usesirmc
hardware type, it is required to selectirmc-pxe
orirmc-virtual-media
as the boot interface in order to make this clean step work.
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 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 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 beLAN
,FC
orCNA
<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
andip
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.
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 are installed. See iRMC S4 Manual for more details.