支持富士通 PRIMEQUEST MMB 的新型硬件类型

https://storyboard.openstack.org/#!/story/1726271

本文档提出添加一种新的硬件类型,以支持部署由富士通 PRIMEQUEST 3000 系列的 ManageMent Board (MMB) 管理的服务器。MMB 是一个系统控制单元,执行管理任务,包括机箱内的控制和监控、分区管理以及系统初始化。

问题描述

由于 PRIMEQUEST 与 iRMC 接口明显不同,Ironic 目前无法使用 irmc 硬件类型来处理富士通 PRIMEQUEST 服务器。因此,本文档提出为 MMB 提出一种新的硬件类型,以便通过 ironic 处理 PRIMEQUEST。PRIMEQUEST 具有多个分区。每个分区作为一个物理服务器工作。也就是说,一个分区对应一个 ironic 节点。此外,多个分区可以由一个 MMB 管理。为了控制特定的分区,ironic 节点必须知道其分区号。

提议的变更

本文档提出 fujitsu-mmb 硬件类型,实现电源、管理和控制台功能。该硬件类型使用 ssh 库来连接并执行 MMB 上的命令。

基于以上前提,要注册,节点必须具有以下参数

driver_info

  • (必需) mmb_address
    • 用于 ssh 连接的 MMB 的 IP 地址。

  • (必需) mmb_username
    • 用于身份验证的用户名。

  • (必需) mmb_partition
    • 要管理的分区号。

  • mmb_ssh_key_filename:
    • 用于身份验证的可选私钥文件名。如果同时指定了 mmb_ssh_password,则将用于解锁私钥。建议将其存储在共享卷(如 NFS 或 CIFS)中。

  • mmb_ssh_password
    • 用于身份验证或解锁私钥的密码。必须指定此项或 mmb_ssh_key_filename 中的至少一项。

  • mmb_ssh_port
    • 连接到的节点上的端口。默认值为 22。

我们将定义一个新的类

  • fujitsu_mmb.MMBHardware

将实现以下接口

  • MMBPower

  • MMBManagement

  • MMBConsole

MMBPower

Ironic 设置/同步这些接口。同步后,此接口将使用 MMB 的命令控制节点的电源状态。

MMBManagement

此接口允许用户通过在 MMB 上执行命令来获取和设置服务器硬件的启动顺序。

MMBConsole

此接口通过在 MMB 上执行命令提供串行控制台视图。

此硬件类型将支持 PXEBoot 用于启动,以及 ISCSIDeployAgentDeploy 用于部署。

备选方案

数据模型影响

状态机影响

REST API 影响

客户端 (CLI) 影响

“ironic” CLI

“openstack baremetal” CLI

RPC API 影响

驱动程序 API 影响

Nova 驱动程序影响

Ramdisk 影响

安全影响

此硬件类型检索以下信息:

  • SSH 私钥文件名

  • MMB 的 SSH 密码

但是,ironic 仅将 SSH 私钥的文件名存储在 driver_info 中,作为 mmb_ssh_key_filename。SSH 密钥信息不包含在 REST API 主体中。对于 SSH 密码,它将在 REST API 主体中被隐藏,例如 ‘*******’。

其他最终用户影响

可扩展性影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

y-furukawa-2

其他贡献者

shiina-hironori

工作项

  • 实现新的 fujitsu-mmb 硬件类型和接口。

  • fujitsu-mmb 硬件类型和以下接口实现单元测试用例。

    • MMBPower

    • MMBManagement

    • MMBConsole

  • 编写关于 fujitsu-mmb 硬件类型的文档。

依赖项

python-pqclient:为了连接到 MMB 并为其执行命令。

测试

在明年,我们将为 fujitsu-mmb 硬件类型添加第三方 CI。

升级和向后兼容性

文档影响

Fujitsu MMB driver 部分将包含在管理员指南中。

参考资料