2024.1 系列 (9.8.0 - 9.11.x) 发行说明

9.11.2

错误修复

  • 防止在 erase_devices_express 中出现 UnboundLocalError,例如,在磁盘故障时。

9.11.1

升级说明

  • 实现自定义 HardwareManagers 的部署者必须审核他们的代码,查找 qemu-img 和相关方法的非安全用法。

安全问题

  • Ironic-Python-Agent 现在会检查提供的任何镜像格式值与镜像文件的检测格式是否匹配,如果值不匹配,将阻止部署。

  • 之前配置错误的镜像,尽管处于另一种格式,但在某些非默认配置中,如果需要,可能被错误地转换。 Ironic-Python-Agent 现在绝不会对元数据指示为原始格式的镜像执行任何转换。

  • Ironic-Python-Agent 始终 在运行任何基于 qemu 的工具处理镜像之前,检查任何非原始用户镜像内容是否安全。 这用于识别镜像的格式并验证镜像的整体安全性。 任何具有未知或不安全功能使用的镜像都会被明确拒绝。 可以在 IPA 和 Ironic 中通过将 [conductor]disable_deep_image_inspection 设置为 True 来禁用此功能,以用于 Ironic 部署。 镜像检查是跟踪在 bug 2071740 中记录的 CVE-2024-44082 的主要缓解措施。 操作员可能希望在升级他们的 Ironic-Python-Agent 之前,在 Ironic 调度器上设置 [conductor]conductor_always_validates_images 以缓解该问题。

  • Ironic-Python-Agent 现在明确执行允许的镜像类型列表,默认值为“raw”和“qcow2”。 其他镜像类型可能有效,但未明确支持,必须启用。 可以通过为所有 Ironic 服务设置 [conductor]permitted_image_formats 来修改此设置。

错误修复

  • 修复了一个问题,即操作系统挂载的配置驱动器卷可能保持挂载状态并导致锁定,这可能会与 rebuild 等操作冲突。 代理现在始终确保 Glean 和 Cloud-init 使用的文件夹未挂载。

  • 修复了与执行 qemu-img 工具相关的镜像处理中的多个问题。 当使用此工具转换不安全的镜像时,恶意用户可以在 Ironic-Python-Agent 部署或转换镜像时提取节点信息。 Ironic-Python-Agent 现在检查所有非原始镜像的安全性,并且绝不会在原始镜像上运行基于 qemu 的工具。 此修复被跟踪为 CVE-2024-44082 和 bug 2071740

  • 元数据指示“raw”磁盘格式的镜像可能从另一种格式透明地转换。 现在,这些镜像将精确地镜像到磁盘,而不会进行任何修改。

  • 修复了 bug 2066308,即 Ironic Python Agent 会在硬件管理器插件上多次调用 evaluate_hardware_support。 扫描硬件和磁盘非常耗时,并导致性能不佳的节点超时。

9.10.0

新特性

  • 当使用新的 Ironic 内置检查时,ipa-inspection-callback-url 现在可以从 ipa-api-url 自动派生。 在这种情况下,如果设置了 ipa-inspection-collectors 选项,则将启用检查。

升级说明

  • 如果您当前设置了 ipa-inspection-collectors 选项而未设置 ipa-inspection-callback-url,现在将导致检查运行。 更新您的启动配置,仅在需要检查时提供 collectors。