使用 Cisco UCS 驱动程序的带外 RAID 配置¶
https://bugs.launchpad.net/ironic/+bug/1526362
该蓝图建议为 Cisco UCS 驱动程序实现带外 RAID 配置接口。此实现支持配置 Cisco UCS Manager (UCSM) 管理的 B/C/M 系列服务器。
注意
由于供应商特定的 UCS 驱动程序不再在 Ironic 中可用,因此该规范已退役。这是因为开源 UcsSdk 库不再维护所致。用户可能希望探索使用 redfish 驱动程序,但社区尚不清楚 UCS Redfish 支持是否已扩展到 RAID 支持。
问题描述¶
目前 pxe_ucs 和 agent_ucs 驱动程序不支持在 UCSM 管理的服务器上配置 RAID。
提议的变更¶
它建议为 UCS 驱动程序实现父规范 [1] 中描述的 RAID 接口。
所需更改列表
ucs.raid.RAIDInterface 用于 RAID 配置操作
将实现以下方法
validate
create_configuration
delete_configuration
validate() 方法验证 OOB RAID 配置所需的 UCS 参数。同时调用超类的 validate() 方法以验证 json 模式。create_configuration 和 delete_configuration 操作由 UCS 驱动程序实现为异步 RAID 配置部署操作。UcsSdk/UCS-API 异步地在目标节点上部署 RAID 配置。UCS 驱动程序在调用操作时同时将 RAID 配置发送到目标节点,但 UCS Manager 不会同时在目标节点上部署配置。UCS Manager 接受 RAID 配置并将其作为 UCS Manager FSM 部署状态的一部分进行部署。因此,在调用操作和部署 RAID 配置之间会有延迟。要了解部署状态,我们需要使用 UcsSdk API 查询 FSM 状态。这些方法返回 states.CLEANWAIT。将添加新的驱动程序周期性任务以获取这些操作的 UCSM FSM 状态。仅当在 conductor 中启用了 pxe_ucs、agent_ucs 驱动程序时,才会启用此周期性任务。
RAID 管理更改
控制 RAID 配置是在 UCS Manager 2.4 中创建 storage-profile ManagedObject 并将其与 Server 对象关联。UCSM 的早期版本需要配置 LocalDiskConfigPolicy 并将其与相应的 service-profile ManagedObject 关联。service-profile 信息作为节点 driver_info 属性的一部分捕获。UcsSdk 提供了 RAIDHelper 接口,它实际上创建了上述所需的策略。UCS 驱动程序使用此接口并进行适当的调用以创建配置和删除配置操作。
备选方案¶
操作员可以在将节点置于 MANAGEABLE 状态后,随时手动更改 RAID 配置。但这必须为每个节点完成。
数据模型影响¶
无
状态机影响¶
无
REST API 影响¶
无
客户端 (CLI) 影响¶
无
RPC API 影响¶
无
驱动程序 API 影响¶
无
Nova 驱动程序影响¶
无
Ramdisk 影响¶
N/A
安全影响¶
无
其他最终用户影响¶
无
可扩展性影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
主要负责人:saripurigopi
工作项¶
为 ucs 驱动程序添加继承自 base.RAIDInterface 的 UcsRAIDManagement。
编写 ucs 驱动程序的 RAID 接口的单元测试用例。
编写配置文档。
依赖项¶
UcsSdk 支持 RAID 配置实用程序
测试¶
将为 ucs 驱动程序的 RAID 接口实现单元测试。
升级和向后兼容性¶
为 ucs 驱动程序添加 RAID 接口支持不会破坏与 REST API 或 RPC API 的任何兼容性。
文档影响¶
编写配置文档。