Ironic Inspector 工作原理¶
工作流程¶
通常的硬件内省流程如下
操作员通过 Ironic(例如通过 baremetal CLI 命令)注册节点。此时应向 Ironic 提供电源管理凭据。
节点被置于适合内省的状态,如 节点状态 中所述。
操作员使用 ironic-inspector API 或 CLI 发送节点进行内省(参见 用法)。
收到节点 UUID 后,ironic-inspector
验证节点电源凭据、当前电源和配置状态,
允许访问节点的 PXE 启动服务,
向节点发送重启命令,使其启动 ramdisk。
ramdisk 收集所需信息并将其发布回 ironic-inspector。
收到 ramdisk 数据后,ironic-inspector
验证接收到的数据,
使用其 BMC 地址(对于 SSH 驱动程序,使用 MAC 地址)在 Ironic 数据库中找到节点,
使用接收到的数据填充缺失的节点属性并创建缺失的端口。
注意
ironic-inspector 负责为节点上找到的某些或全部 NIC 创建 Ironic 端口。ironic-inspector 还可以删除不应存在的端口。有两个重要的配置选项会影响此行为:
add_ports和keep_ports(请参阅 示例配置文件 以获取详细说明)。截至 ironic-inspector 1.1.0 的默认值是
add_ports=pxe,keep_ports=all,这意味着将只添加一个端口,该端口与 ramdisk PXE 启动的 NIC 相关联。不会删除任何端口。此设置可确保在 Ironic bug 1405131 的情况下,在内省节点上部署仍然会成功。Ironic 检查功能默认需要不同的设置:
add_ports=all,keep_ports=present,这意味着将为所有检测到的 NIC 创建端口,并且将删除所有其他端口。有关详细信息,请参阅 Ironic 检查文档。还可以配置 Ironic inspector 不创建任何端口。通过设置
add_ports=disabled来实现。如果将add_ports设置为 disabled,则应将keep_ports选项也设置为all。这将确保不会删除任何手动添加的端口。节点被置于适合部署的状态,如 节点状态 中所述。
启动 DHCP 服务器和配置 PXE 启动环境不属于此软件包的范围,应单独完成。
状态机图¶
下图显示了 ironic-inspector FSM 在节点内省、发现和重新处理期间经历的内省状态。该图还显示了触发状态转换的事件。