Both will be removed soon. The documentation change is separated to reduce the size of the final patch. Change-Id: If4b9b0d095500101ca71a453d71ad95252dd8c0c
22 KiB
iRMC driver
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 and a few hardware
interfaces specific for that hardware type.
Prerequisites
Install python-scciclient and pysnmp packages:
$ pip install "python-scciclient>=0.7.2" pysnmp
Hardware Type
The irmc hardware type is available for FUJITSU PRIMERGY
servers. For information on how to enable the irmc hardware
type, see enable-hardware-types.
Hardware interfaces
The irmc hardware type overrides the selection of the
following hardware interfaces:
- bios
-
Supports
irmcandno-bios. The default isirmc.
- boot
-
Supports
irmc-virtual-media,irmc-pxe, andpxe. The default isirmc-virtual-media. Theirmc-virtual-mediaboot interface enables the virtual media based deploy with IPA (Ironic Python Agent).Warning
We deprecated the
pxeboot interface when used withirmchardware type. Support for this interface will be removed in the future. Instead, useirmc-pxe.irmc-pxeboot interface was introduced in Pike.
- 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 useinspectoras the inspect interface.
- management
-
Supports only
irmc.
- power
-
Supports
irmc, which enables power control via ServerView Common Command Interface (SCCI), by default. Also supportsipmitool.
- raid
-
Supports
irmc,no-raidandagent. The default isno-raid.
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_bios_interfaces = irmc
enabled_boot_interfaces = irmc-virtual-media,irmc-pxe
enabled_console_interfaces = ipmitool-socat,ipmitool-shellinabox,no-console
enabled_deploy_interfaces = 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,irmc
enabled_storage_interfaces = noop,cinder
enabled_vendor_interfaces = no-vendor,ipmitoolHere is a command example to enroll a node with irmc
hardware type.
baremetal node create \
--bios-interface irmc \
--boot-interface irmc-pxe \
--deploy-interface direct \
--inspect-interface irmc \
--raid-interface irmc
Node configuration
Each node is configured for
irmchardware type by setting the following ironic node object's properties:driver_info/irmc_addressproperty to beIP addressorhostnameof the iRMC.driver_info/irmc_usernameproperty to beusernamefor the iRMC with administrator privileges.driver_info/irmc_passwordproperty to bepasswordfor irmc_username.properties/capabilitiesproperty to beboot_mode:uefiif UEFI boot is required.properties/capabilitiesproperty to besecure_boot:trueif UEFI Secure Boot is required. Please refer to UEFI Secure Boot Support for more information.
The following properties are also required if
irmc-virtual-mediaboot interface is used:driver_info/deploy_isoproperty to be either deploy iso file name, Glance UUID, or Image Service URL.instance info/boot_isoproperty to be either boot iso file name, Glance UUID, or Image Service URL. This is used with theramdiskdeploy interface.
Note
The
deploy_isoandboot_isoproperties used to be calledirmc_deploy_isoandirmc_boot_isoaccordingly before the Xena release.The following properties are also required if
irmcinspect interface is enabled and SNMPv3 inspection is desired.driver_info/irmc_snmp_userproperty to be the SNMPv3 username. SNMPv3 functionality should be enabled for this user on iRMC server side.driver_info/irmc_snmp_auth_passwordproperty to be the auth protocol pass phrase. The length of pass phrase should be at least 8 characters.driver_info/irmc_snmp_priv_passwordproperty to be the privacy protocol pass phrase. The length of pass phrase should be at least 8 characters.
All of the nodes are configured by setting the following configuration options in the
[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; eitherbasicordigest. 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; eitheripmitoolorscci. The default value isipmitool. Optional.
The following options are required if
irmc-virtual-mediaboot interface is enabled:remote_image_share_root: Ironic conductor node'sNFSorCIFSroot 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, eitherNFSorCIFS. 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 required if
irmcinspect interface is enabled:snmp_version: SNMP protocol version; eitherv1,v2corv3. The default value isv2c. Optional.snmp_port: SNMP port. The default value is161. Optional.snmp_community: SNMP community required for versionsv1andv2c. The default value ispublic. Optional.snmp_security: SNMP security name required for versionv3. Optional.snmp_auth_proto: The SNMPv3 auth protocol. The valid value and the default value are bothsha. We will add more supported valid values in the future. Optional.snmp_priv_proto: The SNMPv3 privacy protocol. The valid value and the default value are bothaes. We will add more supported valid values in the future. Optional.Warning
We deprecated the
snmp_securityoption when use SNMPv3 inspection. Support for this option will be removed in the future. Instead, setdriver_info/irmc_snmp_userparameter for each node if SNMPv3 inspection is needed.
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_portproperty overridesport.driver_info/irmc_auth_methodproperty overridesauth_method.driver_info/irmc_client_timeoutproperty overridesclient_timeout.driver_info/irmc_sensor_methodproperty overridessensor_method.driver_info/irmc_snmp_versionproperty overridessnmp_version.driver_info/irmc_snmp_portproperty overridessnmp_port.driver_info/irmc_snmp_communityproperty overridessnmp_community.driver_info/irmc_snmp_securityproperty overridessnmp_security.driver_info/irmc_snmp_auth_protoproperty overridessnmp_auth_proto.driver_info/irmc_snmp_priv_protoproperty overridessnmp_priv_proto.
Optional
functionalities for the irmc hardware type
UEFI Secure Boot Support
The hardware type irmc supports secure boot deploy, see
secure-boot for
details.
Warning
Secure boot feature is not supported with pxe boot
interface.
Node Cleaning Support
The irmc hardware type supports node cleaning. 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
pxeboot interface, when used withirmchardware type, does not support this clean step. If usesirmchardware type, it is required to selectirmc-pxeorirmc-virtual-mediaas 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 hardware type supports the generic PXE-based
remote volume booting when using the following boot interfaces:
irmc-pxepxe
In addition, the irmc hardware type supports remote
volume booting without PXE. This is available when using the
irmc-virtual-media boot interface. 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
driver requires 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,FCorCNA<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:
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-1For iSCSI boot, volume connectors with both types
iqnandipare 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:baremetal node set $NODE_UUID --driver-info irmc_storage_network_size=22
Supported hardware
The driver supports the PCI controllers, Fibrechannel Cards, Converged Network Adapters supported by Fujitsu ServerView Virtual-IO Manager.
Hardware Inspection Support
The irmc hardware type provides the iRMC-specific
hardware inspection with irmc inspect interface.
Note
SNMP requires being enabled in ServerView® iRMC S4 Web Server(Network SettingsSNMP section).
Configuration
The Hardware Inspection Support in the iRMC driver requires the following configuration:
It is necessary to set ironic configuration with
gpu_idsandfpga_idsoptions in[irmc]section.gpu_idsandfpga_idsare lists of<vendorID>/<deviceID>where:<vendorID>: 4 hexadecimal digits starts with '0x'.<deviceID>: 4 hexadecimal digits starts with '0x'.
Here are sample values for
gpu_idsandfpga_ids:gpu_ids = 0x1000/0x0079,0x2100/0x0080 fpga_ids = 0x1000/0x005b,0x1100/0x0180The python-scciclient package requires pyghmi version >= 1.0.22 and pysnmp version >= 4.2.3. They are used by the conductor service on the conductor. The latest version of pyghmi can be downloaded from here and pysnmp can be downloaded from here.
Supported properties
The inspection process will discover the following essential properties (properties required for scheduling deployment):
memory_mb: memory sizecpus: number of cpuscpu_arch: cpu architecturelocal_gb: disk size
Inspection can also discover the following extra capabilities for iRMC driver:
irmc_firmware_version: iRMC firmware versionrom_firmware_version: ROM firmware versionserver_model: server modelpci_gpu_devices: number of gpu devices connected to the bare metal.
Inspection can also set/unset node's traits with the following cpu type for iRMC driver:
CUSTOM_CPU_FPGA: The bare metal contains fpga cpu type.
Note
- The disk size is returned only when eLCM License for FUJITSU PRIMERGY servers is activated. If the license is not activated, then Hardware Inspection will fail to get this value.
- Before inspecting, if the server is power-off, it will be turned on automatically. System will wait for a few second before start inspecting. After inspection, power status will be restored to the previous state.
The operator can specify these capabilities in compute service flavor, for example:
openstack flavor set baremetal-flavor-name --property capabilities:irmc_firmware_version="iRMC S4-8.64F"
openstack flavor set baremetal-flavor-name --property capabilities:server_model="TX2540M1F5"
openstack flavor set baremetal-flavor-name --property capabilities:pci_gpu_devices="1"
See capabilities-discovery for more details and
examples.
The operator can add a trait in compute service flavor, for example:
baremetal node add trait $NODE_UUID CUSTOM_CPU_FPGA
A valid trait must be no longer than 255 characters. Standard traits
are defined in the os_traits library. A custom trait must start with the
prefix CUSTOM_ and use the following characters: A-Z, 0-9
and _.
RAID configuration Support
The irmc hardware type provides the iRMC RAID
configuration with irmc raid interface.
Note
- RAID implementation for
irmchardware type is based on eLCM license and SDCard. Otherwise, SP(Service Platform) in lifecycle management must be available. - RAID implementation only supported for RAIDAdapter 0 in Fujitsu Servers.
Configuration
The RAID configuration Support in the iRMC drivers requires the following configuration:
It is necessary to set ironic configuration into Node with JSON file option:
$ baremetal node set <node-uuid-or-name> \ --target-raid-config <JSON file containing target RAID configuration>Here is some sample values for JSON file:
{ "logical_disks": [ { "size_gb": 1000, "raid_level": "1" ] }or:
{ "logical_disks": [ { "size_gb": 1000, "raid_level": "1", "controller": "FTS RAID Ctrl SAS 6G 1GB (D3116C) (0)", "physical_disks": [ "0", "1" ] } ] }
Note
RAID 1+0 and 5+0 in iRMC driver does not support property
physical_disks in target_raid_config during
create raid configuration yet. See following example:
{
"logical_disks":
[
{
"size_gb": "MAX",
"raid_level": "1+0"
}
]
}
See raid for more
details and examples.
Supported properties
The RAID configuration using iRMC driver supports following parameters in JSON file:
size_gb: is mandatory properties in Ironic.raid_level: is mandatory properties in Ironic. Currently, iRMC Server supports following RAID levels: 0, 1, 5, 6, 1+0 and 5+0.controller: is name of the controller as read by the RAID interface.physical_disks: are specific values for each raid array in LogicalDrive which operator want to set them along withraid_level.
The RAID configuration is supported as a manual cleaning step.
Note
- iRMC server will power-on after create/delete raid configuration is applied, FGI (Foreground Initialize) will process raid configuration in iRMC server, thus the operation will completed upon power-on and power-off when created RAID on iRMC server.
See raid for more
details and examples.
BIOS configuration Support
The irmc hardware type provides the iRMC BIOS
configuration with irmc bios interface.
Warning
irmc bios interface does not support
factory_reset.
Starting from version 0.10.0 of
python-scciclient, the BIOS setting obtained may not be the
latest. If you want to get the latest BIOS setting, you need to delete
the existing BIOS profile in iRMC. For example:
curl -u user:pass -H "Content-type: application/json" -X DELETE -i http://192.168.0.1/rest/v1/Oem/eLCM/ProfileManagement/BiosConfig
Configuration
The BIOS configuration in the iRMC driver supports the following settings:
boot_option_filter: Specifies from which drives can be booted. This supports following options:UefiAndLegacy,LegacyOnly,UefiOnly.check_controllers_health_status_enabled: The UEFI FW checks the controller health status. This supports following options:true,false.cpu_active_processor_cores: The number of active processor cores 1...n. Option 0 indicates that all available processor cores are active.cpu_adjacent_cache_line_prefetch_enabled: The processor loads the requested cache line and the adjacent cache line. This supports following options:true,false.cpu_vt_enabled: Supports the virtualization of platform hardware and several software environments, based on Virtual Machine Extensions to support the use of several software environments using virtual computers. This supports following options:true,false.flash_write_enabled: The system BIOS can be written. Flash BIOS update is possible. This supports following options:true,false.hyper_threading_enabled: Hyper-threading technology allows a single physical processor core to appear as several logical processors. This supports following options:true,false.keep_void_boot_options_enabled: Boot Options will not be removed from "Boot Option Priority" list. This supports following options:true,false.launch_csm_enabled: Specifies whether the Compatibility Support Module (CSM) is executed. This supports following options:true,false.os_energy_performance_override_enabled: Prevents the OS from overruling any energy efficiency policy setting of the setup. This supports following options:true,false.pci_aspm_support: Active State Power Management (ASPM) is used to power-manage the PCI Express links, thus consuming less power. This supports following options:Disabled,Auto,L0Limited,L1only,L0Force.pci_above_4g_decoding_enabled: Specifies if memory resources above the 4GB address boundary can be assigned to PCI devices. This supports following options:true,false.power_on_source: Specifies whether the switch on sources for the system are managed by the BIOS or the ACPI operating system. This supports following options:BiosControlled,AcpiControlled.single_root_io_virtualization_support_enabled: Single Root IO Virtualization Support is active. This supports following options:true,false.
The BIOS configuration is supported as a manual cleaning step. See
bios for more details
and examples.
Supported platforms
This driver supports FUJITSU PRIMERGY RX M4 servers and above.
When irmc power interface is used, 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.
RAID configuration feature supports FUJITSU PRIMERGY servers with RAID-Ctrl-SAS-6G-1GB(D3116C) controller and above. For detail supported controller with OOB-RAID configuration, please see the whitepaper for iRMC RAID configuration.