Ocata 系列 (5.0.0 - 5.0.x) 发行说明¶
5.0.2-8¶
安全问题¶
修复了在根据内省数据查找节点时输入过滤不足的问题。 这可能会通过
/v1/continueAPI 端点允许 SQL 注入。 详情请参阅 故事 2005678。
5.0.1¶
错误修复¶
在启动时运行 iptables 命令时,会引发 Exception CalledProcessError 异常。该问题是由 eventlet 错误引起的,请参阅:https://github.com/eventlet/eventlet/issues/357。如果 *ironic-inspector* 配置了防火墙管理(使用
manage_firewall = True配置选项),则该问题才会影响它。
内省规则回滚期间发生值格式错误时,不会使整个内省失败。有关示例和详细调查,请参阅 bug 1686942。
5.0.0¶
新特性¶
扩展从
GET@/v1/introspection/<Node Id>返回的内省状态,以包含uuid、started_at和finished_at字段。
添加一个插件来解析原始 LLDP 基本管理、802.1 和 802.3 TLV,并将数据存储在 Swift 中。
添加一个 API 端点来列出内省状态。操作员可以使用此端点获取所有正在运行或之前运行的内省处理的状态。
引入一个新的配置选项
api_max_limit,该选项定义了 API 结果分页时每页的最大项目数。
现在可以通过内省支持 InfiniBand 接口发现。ironic-inspector 将客户端 ID 添加到表示 InfiniBand 接口的 ironic 端口。ironic-inspector 应该配置一个接口列表
firewall.ethoib_interfaces,以指示用于 DHCP 的以太网 over InfiniBand 接口。
节点内省状态现在保存在一个专用的数据库列中。内省现在使用有限状态机。该状态尚未暴露给用户。
添加了对使用操作符与 root 设备提示机制的支持。支持的操作符是
=、==、!=、>=、<=、>、<、s==、s!=、s>=、s>、s<=、s<、<in>、<all-in>和<or>。
在内省或发现期间查找节点现在支持多个属性匹配。例如,两个节点可以使用相同的
bmc_address,并且仍然可以通过 MAC 地址来区分。
避免在无盘节点上内省失败。在这种情况下,节点属性
local_gb == 0已设置。
已知问题¶
由于 NodeInfo.state 属性的特性(独立于节点信息属性的其余部分进行更新),如果在 (DB) 连接丢失之前 Node.state 列未更新,Node.finished_at 和 Node.error 列可能与 Node.state 列不同步。
升级说明¶
添加一个新的依赖项,
pytz。
需要进行数据库迁移才能将某些列从 Float 类型更改为 DateTime 类型。这可能需要一些时间,具体取决于数据库中内省状态的数量。
移除了“ironic”、“swift”和“keystone_authtoken”部分中先前已弃用的身份验证选项。
移除了配置文件中长期弃用的“discoverd”部分的支持。
配置选项“introspection_delay_drivers”的默认值已更改为
.*,这意味着默认情况下,“introspection_delay”现在应用于所有驱动程序。将“introspection_delay”设置为 0 以禁用延迟。
引入了 Node.state 和 Node.version_id 数据库列。
内省状态列默认设置为状态
finished,除非节点行上的内省错误列值不为 null,则节点状态设置为error。
不再强制执行节点
bmc_address的唯一性。
放松了
attributes表的主键,从attributes.name, attributes.value列对更改为新的列attributes.uuid。
弃用说明¶
配置选项“log_bmc_address”已被弃用。
通过 ironic-inspector 设置 IPMI 凭据的支持已被弃用,并将完全在 Pike 中删除。引入了新的 API 版本 1.9,该功能已被停用。有关原因,请参阅 https://bugs.launchpad.net/ironic-python-agent/+bug/1654318。
配置选项“introspection_delay_drivers”已被弃用。
错误修复¶
将数据库列
started_at和finished_at从类型 Float 更改为类型 DateTime,以便时间戳正确地适合这些列。
修复了内省超时时定期清理因 DBDeadlock 失败的错误。
确保配置选项
firewall.firewall_update_period和clean_up_period应用于在读取配置文件后periodic_clean_up和periodic_update任务。
LLC 钩子现在将底盘 ID 和端口 ID MAC 地址格式化为 ironic 期望的 Unix 格式。
LLC 钩子确保将正确的信息传递给 patch_port 函数
LLC 钩子不再假定所有检查到的端口都已添加到 ironic
不再使用环回 BMC 地址进行查找(例如,在使用 virtualbmc 时)。
内省在具有相同 IPMI 地址但不同 IPMI 端口的节点上失败。
其他说明¶
默认 API 版本暂时固定为 1.8(在弃用设置 IPMI 凭据之前)。在删除设置 IPMI 凭据的支持后,它将重置为最新版本。