This spec proposes a new hadware type 'irmc-mmb' and adds Power, Management and Console capabilities for Fujitsu PRIMEQUEST ManageMent Board(MMB). Change-Id: Ic308ab0b6ee57cd9895d9ff1a35085f55cad8e2b Partial-Bug: #1726271
4.9 KiB
Support a new hardware type for Fujitsu PRIMEQUEST MMB
https://bugs.launchpad.net/ironic/+bug/1726271
This spec proposes adding a new hardware type that supports deployment of servers managed by ManageMent Board(MMB) for Fujitsu PRIMEQUEST 3000 Series. MMB is a system control unit that performs management tasks, including control and monitoring in the cabinet, partition management, and system initialization.
Problem description
Since PRIMEQUEST definitely differs from iRMC interface, Ironic
cannot handle Fujitsu PRIMEQUEST servers by using irmc
hardware type at present. Therefore, this spec proposes a new hardware
type for MMB in order to handle PRIMEQUEST by ironic. PRIMEQUEST has
multiple partitions. Each partition works as a physical server. That is,
a partition relates an ironic node. In addition, several partitions can
be managed by one MMB. In order to control a specified partition, the
ironic node has to know its partition number.
Proposed change
This spec proposes the fujitsu-mmb
hardware type,
implementing the Power, Management and Console. The hardware type uses
ssh library in order to connect and execute commands into MMB.
Based on this premises, to be enrolled, the node MUST have the following parameters:
driver_info
- (Required) mmb_address
-
- IP address of the MMB to ssh into.
- (Required) mmb_username
-
- Username to authenticate as.
- (Required) mmb_partition
-
- Partition number to manage.
- mmb_ssh_key_filename:
-
- Filename of optional private key(s) for authentication. If mmb_ssh_password is also specified, it will be used for unlocking the private key. It recommends to store at shared volume like NFS or CIFS.
- mmb_ssh_password
-
- Password to use for authentication or for unlocking a private key. At least one of this or mmb_ssh_key_filename must be specified.
- mmb_ssh_port
-
- Port on the node to connect to. Default is 22.
We'll define a new class:
fujitsu_mmb.MMBHardware
Following interfaces will be implemented:
MMBPower
MMBManagement
MMBConsole
MMBPower
-
Ironic sets/synchronizes this interfaces. After synchronization, this interface controls the power state of the nodes using MMB's command.
MMBManagement
-
This interface allows the user to get and set the boot-order of a server hardware by executing the command on MMB.
MMBConsole
-
This interface provides serial console view by executing the command on MMB.
This hardware type will support PXEBoot
for boot and
ISCSIDeploy
, AgentDeploy
for deploy.
Alternatives
None
Data model impact
None
State Machine Impact
None
REST API impact
None
Client (CLI) impact
None
"ironic" CLI
None
"openstack baremetal" CLI
None
RPC API impact
None
Driver API impact
None
Nova driver impact
None
Ramdisk impact
None
Security impact
This hardware type retrieves following information.
- SSH private key filename
- SSH password for MMB
However, ironic only stores a filename of SSH private key into driver_info as mmb_ssh_key_filename. SSH Key information doesn't include in REST API body. Regarding SSH password, it will be hidden in REST API body like '***********'.
Other end user impact
None
Scalability impact
None
Performance Impact
None
Other deployer impact
None
Developer impact
None
Implementation
Assignee(s)
- Primary assignee:
-
y-furukawa-2
- Other contributors:
-
shiina-hironori
Work Items
Implement new
fujitsu-mmb
hardware type and interfaces.Implement unit-test cases for
fujitsu-mmb
hardware type and following interfaces.- MMBPower
- MMBManagement
- MMBConsole
Write documents about
fujitsu-mmb
hardware type.
Dependencies
python-pqclient: In order to connect to MMB and execute commands for them.
Testing
During next year, we'll add 3rd party CI for fujitsu-mmb
hardware type.
Upgrades and Backwards Compatibility
None
Documentation Impact
Fujitsu MMB driver
section will be included in
Administrator's Guide.