2023.1 系列 (9.2.0 - 9.4.x) 发行说明¶
9.4.3¶
错误修复¶
修复了一个问题,即操作系统挂载的配置驱动器卷可能保持挂载状态并导致锁定,这可能会与
rebuild等操作冲突。 代理现在始终确保 Glean 和 Cloud-init 使用的文件夹未挂载。
修复了 bug 2066308,即 Ironic Python Agent 会在硬件管理器插件上多次调用 evaluate_hardware_support。 扫描硬件和磁盘非常耗时,并导致性能不佳的节点超时。
9.4.2¶
升级说明¶
实现自定义
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]conductor_always_validates_images以缓解该问题。
Ironic-Python-Agent 现在明确执行允许的镜像类型列表,默认值为“raw”和“qcow2”。 其他镜像类型可能有效,但未明确支持,必须启用。 可以通过为所有 Ironic 服务设置
[conductor]permitted_image_formats来修改此设置。
错误修复¶
修复了与执行
qemu-img工具相关的镜像处理中的多个问题。 当使用此工具转换不安全的镜像时,恶意用户可以在 Ironic-Python-Agent 部署或转换镜像时提取节点信息。 Ironic-Python-Agent 现在检查所有非原始镜像的安全性,并且绝不会在原始镜像上运行基于 qemu 的工具。 此修复被跟踪为 CVE-2024-44082 和 bug 2071740。
元数据指示“raw”磁盘格式的镜像可能从另一种格式透明地转换。 现在,这些镜像将精确地镜像到磁盘,而不会进行任何修改。
9.4.1¶
错误修复¶
修复了一个部署实例可能无法访问配置驱动的故障情况,该情况可能在部署后发生。当块设备仅支持 4KB IO 交互时,可能会出现此问题。在使用 4KB 块 IO 大小时,Linux 中的 ISO9660 文件系统驱动程序将无法使用,因为它基于 2KB 块建模。现在,当无法挂载提供的配置驱动时,我们将尝试验证并使用 FAT 文件系统重建配置驱动。操作员可以使用
[DEFAULT]config_drive_rebuild选项强制代理使用 FAT 文件系统写入配置驱动。
修复了一个下载失败的情况,即校验和验证失败时下载不会重试。 代理现在将校验和活动包含在文件下载操作中,并且当校验和验证失败时,将根据现有的下载重试逻辑自动重试下载。 这主要是响应了底层间歇性传输故障,而我们无法通过其他方式检测到这些故障。
修复了使用 efibootmgr 处理 UEFI NVRAM 记录的问题,以便我们可以接受并处理 UTF-16 编码的数据,这是 UEFI NVRAM 中记录的预期编码方式。
修复了 UEFI NVRAM 记录的处理,以允许响应中出现意外字符,从而使 Ironic 不会发生致命错误。
修复了在软件 RAID 上使用 RAIDed ESP 分区重建实例时的问题。
修复了或至少减轻了运行中的 Ironic agent 在节点被锁定时,对 Ironic 部署进行大量查找请求的情况。特别是,这是因为查找还会驱动 agent token 的生成,这需要 conductor 分配一个 worker,生成 token,并将结果返回给 API 客户端。Ironic 的重试逻辑现在将等待最多
60秒,如果收到 HTTP Conflict (409) 消息,agent 将自动暂停查找操作 30 秒,而不是继续尝试查找,这可能会不必要地给 Ironic 部署增加更多工作。
其他说明¶
代理现在记录下载镜像时传输的数据大小,这在排查镜像下载问题时可能有所帮助。
9.4.0¶
新特性¶
添加了两个清理步骤 MellanoxDeviceHardwareManager,用于更新 NVIDIA 网卡固件镜像和设置:* update_nvidia_nic_firmware_image * update_nvidia_nic_firmware_settings