Xena 系列 (8.0.0 - 8.2.x) 发布说明

8.2.3-4

安全问题

  • 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 不会进行检查。

错误修复

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

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

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

8.2.2

已知问题

  • 在 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 检测,而不是通过比较分区号来检测。

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

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

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

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

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

  • 对于软件 RAID,使用 efibootmgr 代替 grub2-install。这修复了包含较新版本 grub2-install 的镜像的问题,因为它们由于缺乏安全启动支持而拒绝在 UEFI 启动模式下安装引导加载程序。

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

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

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

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

其他说明

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

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

8.2.1

错误修复

  • 下载 configdrive 时,不再忽略全局 TLS 配置选项(ipa-insecure 等)。

  • 下载 configdrive 时,不再忽略服务器返回的错误状态码。

  • configdrive 下载代码现在尊重 ipa-image-download-connection-timeout 选项,如果服务器没有响应,将不再长时间挂起。

  • 修复了 UEFI 重复条目清理中正则表达式的一个小问题,该问题是在先前更改中引入的,目的是重构清理操作,以避免 UEFI 固件将删除条目后的操作视为无效操作。

  • 修复了 UEFI 固件 NVRAM 启动条目表中可能找不到重复条目的情况,方法是显式查找并删除匹配的标签,然后再创建 EFI 启动加载程序条目。

  • 修复了软件 RAID 创建中的竞争条件:由于分区创建是异步的,我们需要等待所有 udev 事件处理完毕,然后才能使用分区来创建 md 设备。

  • 修复了一个分区不可见的问题,原因是分区表重读调用的不正确。

  • 修复了一个分区不可见的问题,原因是 RAID 配置创建期间分区表重读调用的不正确。

  • 修复了当未设置 EFI 分区 UUID 并且尝试编辑 /etc/fstab 时的问题。

  • 配置的日志文件和/或日志目录现在始终显式包含在 ramdisk 日志中。

8.2.0

新特性

  • 内省现在包含 IPMI LAN 通道的 MAC 地址,该通道在硬件清单数据中分配了有效的 IP 地址和 MAC 地址,作为 bmc_mac