Lenovo XClarity Driver

https://bugs.launchpad.net/ironic/+bug/1702508

本文档规范提出添加新的接口,为 Lenovo XClarity 管理的服务器提供 Ironic 支持。本文档末尾的参考资料中列出了当前受 XClarity 支持的服务器。

问题描述

Lenovo 服务器使用 IMM GUI,这带来了一种独特的节点管理方式。节点需要通过 XClarity Administrator GUI 工具创建、管理和操作,并由唯一的 host id 标识。

除了使用 IPMI 协议管理节点外,本文档规范还提出添加硬件类型和接口,以使用 XClarity Administrator RESTful API 管理 Lenovo 服务器。XClarity 的 REST API 文档在本文档末尾的参考资料中提供。使用 XClarity 相对于纯 IPMI 的优势包括:更好的用户管理、硬件监控和硬件管理。

提议的变更

作为本次变更的一部分,将添加新的电源和管理接口。

这些接口使用 RESTful API 与 XClarity Administrator 通信。使用的接口包括:

  • XClarity.XClarityPower 用于电源操作

  • XClarity.XClarityManagement 用于管理操作

XClarity Administrator RESTful API 提供了各种操作,例如控制节点的电源、检索固件版本和 Feature on Demand(FoD) 启用信息等。

多个接口嵌入了客户端代码,通过 HTTP/HTTPS 协议与 XClarity API 通信,作为一个简单的包装类。对于所有接口,将导入一个“xclarity-client”。xclarity-client 可在 https://pypi.python.org/simple/xclarity-client/ 获取。

  • 电源

    此功能允许用户通过电源接口打开/关闭或重启节点,进而调用 XClarity 的 REST API。

  • 管理

    此功能允许用户获取和设置 Lenovo 服务器的主要启动设备,以及获取支持的启动设备。

备选方案

在混合配置中,使用通用的 IPMI 接口和预先存在的部署接口是一种替代方案。

数据模型影响

RPC API 影响

状态机影响

REST API 影响

客户端 (CLI) 影响

驱动程序 API 影响

Nova 驱动程序影响

安全影响

使用 HTTPS 进行此接口的通信,并验证证书比基于 IPMI 的接口更安全。

Lenovo XClarity Administrator 使用证书在 XClarity 及其管理的设备之间建立安全、可信的通信。默认情况下,受管理的设备使用 XClarity 生成的证书。用户可以选择让 Lenovo XClarity Administrator 管理证书,或者自定义和替换服务器证书。XClarity 提供了根据用户需求自定义证书的选项。

其他最终用户影响

可扩展性影响

在处理规模时,存在一些锁定注意事项。所有锁定都在一个主要作业/任务框架内,包括配置激活、固件更新和操作系统部署。客户端将在 XClarity API 端点上启动一个作业,此时该作业将被锁定,直到作业完成,其他作业或客户端操作都无法进行。

固件更新使用了一种额外的机制,以防止事件刷新库存,从而避免在更新期间向 IMM 发送命令。当客户端尝试电源操作时,第二个级别的锁定发生,并且在电源请求期间端点被锁定。不过,这通常非常快。

性能影响

Lenovo XClarity Administrator 支持管理最多 20 个带有计算节点的机箱和类似数量的机架服务器。使用 XClarity 管理大量系统的操作员应预计系统性能会降低。性能注意事项在本文档末尾的参考资料中提供。

Ramdisk 影响

其他部署者影响

在将节点注册到 Ironic 时,需要以下 driver_info 字段:

  • xclarity_address: XClarity Administrator IP 地址

  • xclarity_username: XClarity Administrator 用户名

  • xclarity_password: XClarity Administrator 密码

  • xclarity_hostid: XClarity Administrator 为每个受管理主机分配的主机 ID。

  • xclarity_port(可选): 建立 XClarity Administrator 连接所使用的端口。默认值为 443。

开发人员影响

实现

负责人

主要负责人

胡 编 (hubian1@lenovo.com)

其他贡献者

贾 沛 (jiapei2@lenovo.com) 茅海俊 (maohj2@lenovo.com) 雷飞尼克斯 (leilei4@lenovo.com) Rushil Chugh (crushil)

工作项

  • 添加新的 XClarity 硬件类型,并添加用于电源和管理的新的接口。

  • 编写适当的单元测试,为 XClarity 驱动程序提供测试覆盖率。

  • 编写配置文档。

  • 第三方 CI 设置。

依赖项

测试

  • 将为新的 XClarity 驱动程序实现单元测试。

  • 将为 Lenovo 服务器添加第三方持续集成 (CI) 支持。

升级和向后兼容性

文档影响

  • 更新 Ironic 文档的 启用 驱动程序 部分,添加与 XClarity 相关的说明。

参考资料