启用 IPMI 双桥接支持

https://blueprints.launchpad.net/ironic/+spec/enabling-ipmi-double-bridge-support

此蓝图建议在 ironic 中支持 ipmi 双桥接。

问题描述

目前,ironic IPMI 驱动程序 (ipmitool) 不支持桥接。

许多最新的服务器架构都基于分布式管理。对于一个拥有“n”个服务器的机箱,管理权限从核心控制器委派到许多卫星控制器,这要求必须使用桥接。

提议的变更

  • 在注册需要桥接的裸机节点时,应将适当的参数指定给 ironic IPMI 电源驱动程序,如下所示

    • -i ipmi_bridging=<single/dual/no>

    • -i ipmi_local_address=<VALUE>

    • -i ipmi_transit_local_address=<VALUE>

    • -i ipmi_transit_channel=<VALUE>

    • -i ipmi_transit_address=<VALUE>

    • -i ipmi_target_channel=<VALUE>

    • -i ipmi_target_address=<VALUE>

      可以根据正在注册的硬件指定参数。例如,为了执行双桥接,用户只需指定“transit_address”和“target_address”,其余由 ipmi 处理。但有些硬件可能会强制指定 transit_channel 和 target_channel,如果它们使用不同的通道的话。

      参数 ‘ipmi_bridging’ 应指定访问裸机节点所需的桥接类型(single/dual)。如果未指定该参数,则默认值将设置为“no”

      单桥接

      ironic node-create -d pxe_ipmitool [-i ipmi_local_address=VALUE] <-i ipmi_bridging=single> <-i ipmi_target_channel=VALUE> <-i ipmi_target_address=VALUE> …

      参数 ‘ipmi_local_address’ 是可选的。如果未指定该参数,ipmitool 将自动发现它

      双桥接

      ironic node-create -d pxe_ipmitool [-i ipmi_local_address=VALUE] [-i ipmi_transit_local_address=VALUE] <-i ipmi_bridging=dual> <-i ipmi_transit_channel=VALUE> <-i ipmi_transit_address=VALUE> <-i ipmi_target_channel=VALUE> <-i ipmi_target_address=VALUE> …

      参数 ‘ipmi_local_address’ 和 ‘ipmi_transit_local_address’ 是可选的。如果未指定这些参数,ipmitool 将自动发现它们

  • 应修改 Ironic IPMI 驱动程序以解析上述信息,并使用适当的参数执行 ipmi 操作。

备选方案

数据模型影响

REST API 影响

驱动程序 API 影响

Nova 驱动程序影响

安全影响

其他最终用户影响

可扩展性影响

取决于底层 BMC 可以支持的并行 IPMI 会话数。当会话用尽时,可以使用 IPMI 重试选项来获取会话句柄。

性能影响

如果底层 BMC 专为联合管理而设计,可能有一个主控制器和许多子控制器,则不会产生任何影响。但是,如果 BMC 中只有一个控制器管理所有节点,那么当达到其阈值时,会话可能会变慢。

其他部署者影响

在注册需要桥接的节点时,提供适当的参数

  • -i ipmi_bridging=<single/dual/no>

  • -i ipmi_local_address=<VALUE>

  • -i ipmi_transit_local_address=<VALUE>

  • -i ipmi_transit_channel=<VALUE>

  • -i ipmi_transit_address=<VALUE>

  • -i ipmi_target_channel=<VALUE>

  • -i ipmi_target_address=<VALUE>

开发人员影响

实现

负责人

主要负责人

rh-s

其他贡献者

bmahalakshmi

工作项

  • 在 IPMI 驱动程序 (ipmitool) 中包含检查底层 ipmitool 实用程序是否支持桥接的功能。

  • IPMI 驱动程序的更改以解析桥接参数。

  • 当要配置桥接的节点正在被配置时,使用适当的参数执行所有 ipmi 操作。

依赖项

IPMITOOL_1_8_12

测试

单元测试用例,用于测试启用和禁用桥接的 IPMI 驱动程序

文档影响

文档应反映在注册节点以启用桥接操作期间可以提供的参数。

参考资料