驱动程序内部信息¶
https://blueprints.launchpad.net/ironic/+spec/driver-internal-info
问题描述¶
驱动程序应该拥有其自身的信息,这些信息不能被用户/管理员操作。这些信息不是由管理员输入的,例如 driver_info,并且可能在部署过程中发生变化。它们只能由驱动程序自身使用。
一个例子是 ipmitool。并非所有 IPMI 固件都支持设置启动设备持久化,因此我们需要在本地保存此信息。
提议的变更¶
在节点表中添加一个新的内部属性
driver_internal_info,该属性不能通过调用 node.update API 被管理员/用户修改修改 node.update 以在通过 node.update API 更新驱动程序时清除
driver_internal_info。
备选方案¶
将这些信息保存在一个名为 driver_interal_info 的新表中。
数据模型影响¶
在 node 表中添加一个新的内部属性 driver_internal_info。该字段是一个 json 字典。
REST API 影响¶
将 driver_internal_info 字段添加到节点详情 API 中。
RPC API 影响¶
无
驱动程序 API 影响¶
无
Nova 驱动程序影响¶
无
安全影响¶
无
其他最终用户影响¶
无
可扩展性影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
其他驱动程序应将其自身的信息保存到新的属性中。
实现¶
负责人¶
- 主要负责人
tan-lin-good
工作项¶
使用迁移在节点表中添加
driver_internal_info。更新对象 Node。
支持在节点更改其驱动程序时清除其 driver_internal_infos。
使用此功能更新一些驱动程序。
依赖项¶
无
测试¶
添加单元测试。
升级和向后兼容性¶
添加数据库迁移脚本。
文档影响¶
更新开发者文档。
参考资料¶
无