Ocata 系列 (5.0.0 - 5.0.x) 发行说明

5.0.2-8

安全问题

  • 修复了在根据内省数据查找节点时输入过滤不足的问题。 这可能会通过 /v1/continue API 端点允许 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> 返回的内省状态,以包含 uuidstarted_atfinished_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”已被弃用。

  • 配置选项“introspection_delay_drivers”已被弃用。

错误修复

  • 将数据库列 started_atfinished_at 从类型 Float 更改为类型 DateTime,以便时间戳正确地适合这些列。

  • 修复了内省超时时定期清理因 DBDeadlock 失败的错误。

  • 确保配置选项 firewall.firewall_update_periodclean_up_period 应用于在读取配置文件后 periodic_clean_upperiodic_update 任务。

  • LLC 钩子现在将底盘 ID 和端口 ID MAC 地址格式化为 ironic 期望的 Unix 格式。

  • LLC 钩子确保将正确的信息传递给 patch_port 函数

  • LLC 钩子不再假定所有检查到的端口都已添加到 ironic

  • 不再使用环回 BMC 地址进行查找(例如,在使用 virtualbmc 时)。

  • 内省在具有相同 IPMI 地址但不同 IPMI 端口的节点上失败。

其他说明

  • 默认 API 版本暂时固定为 1.8(在弃用设置 IPMI 凭据之前)。在删除设置 IPMI 凭据的支持后,它将重置为最新版本。