BaremetalOperationsSpec
Baremetal 操作规范
此页面概述了 Havana 周期的工作,以向 Nova 的 Baremetal 驱动 添加对常用操作任务的支持。
概述
我们(TripleO 团队)一直在与几支对使用它进行机队管理感兴趣的运维团队讨论 baremetal 驱动的当前功能。 广义上说,这些是他们的需求:
- 硬件自动发现
- 初始硬件配置(BIOS 和 RAID 设置等)
- 硬件老化测试
- 固件更新
- 对有问题硬件的控制台访问
计划
通过使用 diskimage-builder 创建特定任务的 ramdisk,我相信所有这些都可以通过对 baremetal 驱动程序之外的少量更改来解决。
- 调度器感知节点,并能够对特定节点执行操作,例如:
nova boot --force-node ${UUID} ... - API 调用,用于通过实例名称或 UUID 查找节点,以及通过节点 UUID 查找实例。
- 一种设置/更新给定实例的指定救援镜像的方法。
- 或者,如果决定按风味而不是按实例设置救援镜像,则可以通过 instance_type extra_specs 来完成此操作。
baremetal 驱动程序内部也将进行一些更改。
- 添加新的配置选项,用于发现内核和 ramdisk,这些选项将在收到来自未注册 MAC 地址的 DHCP 请求时提供。
- 发现 ramdisk 能够将信息发布回 baremetal 数据库的一种方式,例如通过 HTTP POST 到
nova-baremetal-deploy-helper,或者调用 Nova baremetal API 扩展,或者类似的方式。 此外,这需要- 已发现硬件和已注册硬件之间的逻辑分离(这可能只是
bm_nodes表上的一个标志), - 一个配置选项,用于确定是否自动注册已发现的硬件,
- 以及一个 API 调用,用于切换“已注册”标志。
- 已发现硬件和已注册硬件之间的逻辑分离(这可能只是
- 向
nova/virt/baremetal/driver.py和nova/virt/baremetal/pxe.py添加支持,以将救援镜像应用于正在运行的实例。 这应该- 更新该节点的 PXE 配置,以引用救援镜像,
- 将节点重新启动到救援镜像,
- 将 PXE 配置重置为其先前状态,
- 最后,在救援操作完成后,将 nova 状态重置为 RUNNING。