Yoga 系列 (8.3.0 - 8.5.x) 发布说明

8.5.3-2

安全问题

  • Ironic-Python-Agent 2023.1 版本之前的版本容易受到 CVE-2024-44082 的影响,该漏洞在 bug 2071740 <https://bugs.launchpad.net/bugs/2071740>_ 中跟踪。使用 Ironic Zed 版本或更早版本的部署者必须将 CVE-2024-44082 的修复程序应用于其 Ironic 环境,并保持 (所有 Zed 版本及更早版本的默认设置) [conductor]/conductor_always_validates_images 设置为 True。 这可确保 conductor 将进行安全检查,因为 Ironic-Python-Agent 不会进行检查。

8.5.3

错误修复

  • 修复了或至少减轻了运行中的 Ironic agent 在节点被锁定时,对 Ironic 部署进行大量查找请求的情况。特别是,这是因为查找还会驱动 agent token 的生成,这需要 conductor 分配一个 worker,生成 token,并将结果返回给 API 客户端。Ironic 的重试逻辑现在将等待最多 60 秒,如果收到 HTTP Conflict (409) 消息,agent 将自动暂停查找操作 30 秒,而不是继续尝试查找,这可能会不必要地给 Ironic 部署增加更多工作。

8.5.2

错误修复

  • 修复了使用 efibootmgr 处理 UEFI NVRAM 记录的问题,以便我们可以接受并处理 UTF-16 编码的数据,这是 UEFI NVRAM 中记录的预期编码方式。

  • 修复了 UEFI NVRAM 记录的处理,以允许响应中出现意外字符,从而使 Ironic 不会发生致命错误。

8.5.1

已知问题

  • 在 devicemapper 设备(例如多路径存储设备)上使用 MBR 分区创建 configdrive 分区可能会出现以下错误

    Command execution failed: Failed to create config drive on disk /dev/dm-0
    for node 168af30d-0fad-4d67-af99-b28b3238e977. Error: Unexpected error
    while running command.
    

    请改用 GPT 分区。

错误修复

  • 修复了在 devicemapper 设备(例如多路径存储设备)上使用 GPT 分区创建 configdrive 分区的问题。新创建的分区现在通过预生成的 UUID 检测,而不是通过比较分区号来检测。

  • 修复了在 EFI 分区位于 devicemapper 设备上时配置 UEFI boot 的问题。

  • 修复了 GenericHardwareManager,以便在存在绑定接口时查找网络信息。

  • 修复了软件 RAID 设备发现的处理,以防止 RAID 设备的 NamesEvents 字段值无意中导致命令返回意外输出。 之前这可能会导致在处理 UEFI 分区时出现部署问题。

  • 修复了使用 Active/Passive 存储阵列时处理 Multipath IO 设备的故障。 之前,“待机”路径可能会导致 IO 错误导致清理终止。 agent 现在显式尝试处理和考虑基于 MPIO 可用数据的多路径。 这需要 multipathmultipathd 工具存在于 ramdisk 中。 这些由 device-mapper-multipathmultipath-tools 包提供,并且 agent 的使用不需要它们。

  • 修复了执行清理时 Active/Active MPIO 设备的非理想行为,最终将每个 IO 路径清理一次,而不是每个后端设备清理一次。

  • 修复了发现 devicemapper 设备的 WWN/序列号的问题。

其他说明

  • ramdisk 日志现在包含一个 lsblk 输出,其中所有对都在新的 lsblk-full 文件中。

  • 如果存在工具,agent 现在将尝试收集任何多路径路径信息并将其上传到 agent ramdisk。

8.5.0

新特性

  • 添加了对快速清理模式的支持,该模式在支持它的 NVMe 设备上执行硬件辅助、快速且安全的数据擦除,而其他设备则回退到 erase_devices_metadata。此功能的目标是在具有混合存储配置(例如 NVMe + HDD)的环境中启用快速节点清理。

错误修复

  • 如果用于 bootloader hint 的 CSV 文件没有 BOM,我们将无法将其内容作为 utf-16 编解码器读取,因为该编解码器过于通用。回退到 utf-16-le,因为小端模式通常使用。

  • 修复了处理分区 UUID 而不是分区返回的分区 UUID 的问题,当操作系统可能无法及时返回分区 UUID 时会出现此问题。 这两个字段通常分别称为 PARTUUID 和 UUID。 这种问题通常在重 IO 负载下出现。 现在我们扫描并识别我们识别的“UUID”,并相应地更新 Linux fstab 条目。 有关更多信息,请参阅 story #2009881

  • 在分区根设备后添加了设备重新扫描操作,以确保正确反映更新的 UUID