Victoria 系列 (8.2.0 - 9.0.x) 发布说明

9.1.0-4

弃用说明

  • 不再在 CI 中测试 Fedora 的支持,并且将在不久的将来从代码中移除。

9.1.0

升级说明

  • 公告 由 CentOS 项目发布后,Bifrost 已切换到 CentOS Stream 进行测试。常规 CentOS 不再在 CI 中进行测试,这意味着它和 RHEL 仅会间接进行测试,并以尽力支持的方式提供支持。

  • 将 Diskimage Builder (DIB) 的软件包依赖项安装从 bifrost-create-dib-image 角色移动到 bifrost-install-ironic 角色。这提供了安装和镜像创建之间更清晰的分离。

错误修复

  • 修复了在使用 BIFROST_INVENTORY_SOURCE=ironic 时 Bifrost 库存插件的问题。现在所有节点字段都将作为事实返回,就像在 Ussuri 及更早版本中一样。有关详细信息,请参阅 故事 2008394

  • 修复了检查后的快速跟踪:fast_trackpower_off_after_inspection 选项现在得到正确处理。

  • 修复了将带有空格的参数传递给 bifrost-cli 的问题。

  • 修复了由于缺少 squashfs-tools 软件包而导致构建 Ubuntu 镜像时发生的故障。

9.0.1

弃用说明

  • Fedora 30 已达到生命周期结束,不再明确测试。其支持将在未来的某个版本中移除。

  • openSUSE Leap 15.1 即将达到生命周期结束,不再明确测试。其支持将在未来的某个版本中移除。

错误修复

  • 在生成的 openrc 中取消设置 OS_CLOUD 变量。

  • OS_AUTH_TYPE 现在始终在生成的 openrc 中设置。

  • 在 Fedora 32 及更高版本上现在使用 FirewallD 来修复防火墙问题。

  • 将 ironic-lib rootwrap.d 过滤器复制到正确的位置。

  • 正确复制升级时的 rootwrap.d 过滤器。

  • 在不使用 firewalld 的系统(例如 Ubuntu)上显式打开端口 68 和 69。

  • 修复 PATH,以便在运行验证时始终包含虚拟环境。

其他说明

  • 已将 Fedora 32 和 openSUSE Leap 15.2 添加到受支持的操作系统列表中。

9.0.0

新特性

  • 添加了支持安装 Ironic Prometheus Exporter。可以通过 bifrost-cli 使用 --enable-prometheus-exporter 选项来完成,或者在部署时设置 enable_prometheus_expoter=True

  • 现在,network_interface 的第一个 IPv4 地址用于在 clouds.yaml 中以及在 openrc 中的 ironic 和 ironic-inspector API URL,而不是 localhost。使用 ironic_api_urlironic_inspector_api_url 来覆盖。

  • 现在 bifrost-keystone-client-config 角色会验证使用生成的配置的 CLI 访问是否实际有效,使用 skip_validation=false 来禁用。

  • 支持通过设置 enable_tls=true 并且可选地 generate_tls=true 来配置 TLS。相应的 bifrost-cli 参数是 --enable-tls(仅自动生成证书)。

  • 现在 bifrost-ironic-install 角色会验证服务是否已成功启动,使用 skip_validation 来禁用。

已知问题

  • 由于 Ansible 依赖关系,Bifrost 仅适用于使用 --system-site-packages 创建的虚拟环境。

  • 在使用 Keystone 进行身份验证时,如果证书位于非标准位置,则可能无法在启用后禁用 TLS。

  • 由于升级限制,可能无法在从以前的版本升级时启用 TLS。先进行升级,然后在单独的安装步骤中启用 TLS。

升级说明

  • 不再支持 use_public_urls 参数,只需提供 public_ip 即可。

  • Bifrost 不再将 ironic 和 ironic-inspector 端点添加到公共 firewalld 区域,操作员必须显式地执行此操作,如果需要外部访问。

  • 已移除对旧版 CSV 库存格式的支持,现在仅支持 JSON 和 YAML。

  • 已移除对安装和使用 RabbitMQ 的支持。

  • 已移除将内省数据存储在 nginx 中的支持。在 ironic-inspector 开始支持将数据存储在数据库中之前,这很有用,而现在数据库是默认设置。

  • 已从 bifrost-configdrives-dynamic 角色中移除对 OpenStack MetaData 版本 2012-08-10 的支持。现在支持的最新元数据版本是 2015-10-15。

  • 已移除已弃用的参数 node_network_info,请使用 node_network_data 代替。

  • 为确保无论使用哪个 Ansible 版本,都能使“/httpboot”的内容可供世界读取,已添加对 bifrost ansible playbook 中 get_url 调用设置文件访问权限的显式设置。

  • 默认情况下,现在使用打包的 iPXE ROM 在 openSUSE 上使用,设置 download_ipxe=true 以覆盖。

  • Bifrost 不会再为您杀死所有正在运行的 dnsmasq 进程。如果您有未由 systemd 管理的 dnsmasq 进程,则必须自行停止它们。

  • 不再支持在虚拟环境之外进行安装。已移除参数 enable_venv

错误修复

  • 修复了 bifrost-create-dib-image 角色覆盖任何现有 ELEMENTS_PATH 环境变量值的问题。此修复会将任何现有的 ELEMENTS_PATH 值附加到角色中设置的路径。

  • 对 keystone 端点配置的更改现在会自动反映在现有端点上。

  • 使用 copy_from_local_path 复制的存储库现在得到正确更新。

  • 在使用 copy_from_local_path 复制存储库时,请确保它们始终由调用用户拥有。 之前,某些存储库可能最终由 root 拥有。

  • 正确更新了重大升级时的 IPA 镜像校验和。

  • 自动在 CentOS/RHEL 上启用 firewalld 中的 DHCP 和 TFTP 服务。

  • 不再修改 public firewalld 区域,而是创建一个新的区域 bifrost 并将 network_interface 放入其中。设置 firewalld_internal_zone=public 以恢复到以前的行为。

  • 使 /var/lib/ironic 及其镜像子目录可被 nginx 读取。这对于使用镜像缓存是必需的。

  • 修复了 PXE 和 iPXE 启动文件的 ACL,以确保它们可供世界读取。

  • 解决了 ansible 版本 2.9.12 和 2.8.14 中,使用 get_url 调用下载的文件上隐式设置文件权限导致权限过于严格的问题。这导致在尝试读取“/httpboot”的内容时出现访问被拒绝的情况,并导致部署失败。

  • 确保存储库始终由调用用户拥有。

  • 移除了 test_vm_network_enable_dhcp 选项,并禁用了 libvirt 网络上的 DHCP,而不是无条件杀死机器上的所有 dnsmasq 进程。

  • /tftpboot 添加了正确的 SELinux 上下文。

其他说明

  • 已移除文件 env-vars。它包含仅适用于无身份验证模式且仅适用于 ironic 本身的变量(不适用于 inspector)。使用生成的 clouds.yaml 或主目录中的 openrc

  • Ubuntu 的主要受支持版本现在是 20.04 (Focal)。Ubuntu 18.04 (Bionic) 仍然受支持,但将来可能会移除。

  • Ironic JSON RPC 现在始终进行身份验证,即使在无身份验证模式下也是如此。

  • 移除了不再使用的变量 transform_boot_image