创建 ironic 数据源驱动

包含您的 Launchpad 蓝图的 URL

https://blueprints.launchpad.net/congress/+spec/ironic-datasource-driver

这个 ironic 驱动将允许 Congress 与 Openstack ironic API 交互以进行编排。第一版将提供来自 ironic 的只读 API 调用数据,直到 Congress 具备处理写入驱动程序的基础设施。后续版本可能能够发送请求并写入 ironic API。

问题描述

目前,Congress 既没有 ironic 的读取驱动程序,也没有写入驱动程序。这个驱动程序将赋予 Congress 观察 ironic 的能力,以便策略编写者可以检查裸机状态,例如有关已启用驱动程序、每个机箱、每个节点、每个端口以及节点支持的启动设备的详细信息。

提议的变更

这个驱动程序将类似于其他现有的驱动程序,例如 neutron_driver.py 和 nova_driver.py。 ironic 驱动程序将从以下 ironic API 调用读取数据,并将响应转换为 Congress 表

  • 列出已启用的驱动程序

  • 显示驱动程序详细信息

  • 列出驱动程序属性

  • 列出机箱

  • 显示机箱详细信息

  • 列出机箱中包含的节点

  • 列出已注册的节点

  • 显示节点详细信息

  • 列出节点支持的启动设备

  • 列出与节点关联的端口

  • 列出所有已注册的端口

  • 显示端口详细信息

备选方案

另一种选择是不为 ironic 提供驱动程序,但这对于在云中使用 ironic 来管理裸机服务器的管理员来说不是一个好的选择。

策略

N/A

策略动作

N/A

数据源

Openstack ironic

数据模型影响

N/A

REST API 影响

N/A

安全影响

ironic 驱动程序需要像所有其他数据源驱动程序一样向 ironic API 进行身份验证。

通知影响

N/A

其他最终用户影响

N/A

性能影响

API 调用可能会很昂贵。我们需要衡量 API 调用对 ironic 和 Congress 性能的影响。

其他部署者影响

N/A

开发者影响

N/A

实现

负责人

主要负责人

zhenzan-zhou

工作项

  • 编写单元测试

  • 编写 tempest 测试

  • 编写 API 客户端代码

  • 编写表转换器

依赖项

N/A

测试

这项工作必须包括单元测试和 tempest 测试。驱动程序转换器基础设施使大部分转换代码具有鲁棒性,但驱动程序仍然依赖于 ironic API,因此 tempest 测试作为集成测试尤其重要。

文档影响

N/A