2024.1 系列发布说明

2024.1-eom-6

错误修复

  • 修复了在 ipv4_gateway 未定义时生成 Bifrost 主机变量文件的问题。 LP#2133489

2024.1-eom

升级说明

  • 如果 os_distribution 设置为 centos,则默认引导用户已更改为 cloud-user。将 *_bootstrap_user 变量设置为 centos 以保留现有行为。

错误修复

  • 如果 os_distribution 设置为 centos,则默认引导用户已更改为 cloud-user,以匹配官方云镜像。

  • 修复了 Kayobe 错误生成 Bifrost hostvars 文件的问题。LP#2045927

  • 修复了在使用 no_ip 属性时网络连接检查中的回归问题。LP#2125560

16.8.0

新特性

  • kolla_enable_neutron_bgp_dragent 为 true 时,neutron-bgp-dragent 容器现在默认会构建。

升级说明

  • 使用 Juniper Junos OS 交换机的部署需要根据 Juniper Junos OS 文档 更新其配置。这是因为 junos_config 模块不再支持 provider 参数。

错误修复

  • 修复了在同时设置 admin 和 public cacert 变量时,public-openrc.sh 中的重复 OS_CACERT 行。LP#2116318

  • 修复了当网络节点与控制器分离时的后端 TLS 配置。LP#2117084

  • 修复了启用 dnf_use_local_mirror 时,用于 EPEL 仓库的 gpgkey 名称错误的问题。LP#2119921

  • 修复了当附加到 infrastructure 虚拟机的不带 IP 地址的接口时,会生成不正确的 network-data.json 的问题。LP#2118403

  • 通过将 stackhpc.linux 集合升级到 v1.3.4,修复了 GPU 设备上 SR-IOV 激活失败的问题。

  • 修复了在 dev-tools 包列表中使用空字符串的支持。这允许使用诸如 {{ 'foo' if os_distribution == 'rocky' else '' }} 之类的表达式。LP#2115000

  • 修复了当通过组或主机变量设置部分主机具有 no_ip 属性时,网络连接检查的问题。LP#2120918

16.7.0

新特性

  • 添加了一个新的 dev 脚本 dev/rabbitmq-migrate-queues.sh,它将启用 quorum 队列并将 RabbitMQ 迁移到使用这些队列。

  • 部署和销毁 infrastructure 虚拟机现在速度更快,因为只有必需的变量才会传递给相关的任务,而不是每个虚拟机的整个 hostvars 集合。

  • 添加对 Ubuntu Noble Numbat (24.04) LTS 作为 seed、seed hypervisor 和 overcloud 主机的宿主机和容器操作系统支持。

升级说明

  • 变量 openstacksdk_upper_constraints_file 现在默认设置为 pip_upper_constraints_file 的值。如果想要保留现有行为,请将 openstacksdk_upper_constraints_file 设置为 "https://releases.openstack.org/constraints/upper/{{ openstack_release }}"

  • 更新了 CentOS Stream 9 部署的默认云镜像,以使用 CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2

错误修复

  • 确保在 openstack_auth 中存在 OS_SYSTEM_SCOPE 环境变量,以防止在 baremetal-compute playbook 中发生身份验证问题。LP#2111103

  • 修复了在 admin-openrc.sh 中不存在时,public-openrc.sh 缺少 OS_CACERT 变量的问题。LP#2110549

  • 将 MichaelRigart.interfaces 角色升级到 v1.15.4,以修复由于 iproute 包更改导致 CentOS Stream 9 兼容性问题。

  • stackhpc.libvirt-vm 角色升级到 v1.16.3,以修复 Rocky Linux 9.6 上 seed 和 infra 虚拟机配置失败的问题。

  • 修复了在未设置镜像仓库时,使用正则表达式构建镜像的问题 LP#2112646

  • 修复了当 ipa_collect_lldp 设置为 false 时,ipa_kernel_options_default 的问题。LP#2110505

  • 将 MichaelRigart.interfaces 升级到修复一个问题,即在 Rocky 主机上,kayobe overcloud host configure 在网络任务期间无法模板化,并出现错误 Could not load "ipaddr"LP#2107335

  • 修复了启动时 vgpu 设备由于启动逻辑中的竞争条件而无法启动的问题。有关更多详细信息,请参阅 LP#2102153

  • apt_repositories 的元素添加了一个 name 字段,该字段指定仓库文件的名称(不带 .sources 后缀)。此字段的默认值为 kayobe,可以省略。用户可以通过提供不同的名称(例如 ubuntu)并提供新的仓库数据来覆盖默认值。这样,默认文件 /etc/apt/source.list.d/ubuntu.sources 将被提供的仓库配置覆盖。LP#2107280

16.6.0

新特性

  • 支持在配置 chrony 后强制时间同步,如果 ntp_force_sync 更改为 True

错误修复

  • 将 MichaelRigart.interfaces 角色升级到 v1.15.3,以修复一个问题,即在跳过网络接口之前,NetworkManager 未被重启。LP#2100792

16.5.0

新特性

  • 添加了变量以配置用于下载 IPA 镜像的 image-download 角色中的身份验证参数。新的变量是 image_download_url_usernameimage_download_url_passwordimage_download_force_basic_authimage_download_unredirected_headers。有关如何使用这些变量的更多详细信息,请参阅 get_urluri Ansible 模块的文档。

错误修复

  • 修复一个任务 ‘ensure ironic nodes use the new Ironic Python Agent (IPA) images` 在构建主机未安装 Git 时失败的问题,错误信息为 ‘dict object’ has no attribute ‘deploy_kernel’。 <https://bugs.launchpad.net/kayobe/+bug/2083014>`__。

  • 修复了一个错误,即非 overcloud 主机出现在 kayobe overcloud deprovision 的确认提示中 LP#2091703

  • 修复了一个问题,即 slave 接口在跳过 master 接口后无法重新启动。LP#2072340

16.3.0

新特性

  • 将内部 VIP 添加到 NOPROXY/noproxy 环境变量。

  • 添加了对使用 Cumulus 交换机(NCLU 和 NVUE)与 Networking Generic Switch 的支持。

升级说明

  • stackhpc.linux 集合升级到 1.3.0。请注意,此版本 使用 systemd 激活虚拟功能。此更改仅限于 stackhpc.linux.sriov 角色,该角色不被 Kayobe 使用。如果自定义 playbook 使用此角色,可以通过将 sriov_numvfs_driver 设置为 udev 来保留现有行为。

安全问题

  • 当从配置了 kayobe 的主机运行 API 请求时,发往内部 VIP 的流量将通过默认代理发送。如果未使用 TLS,这可能是一个安全问题,因为代理将能够拦截流量。如果使用不受信任的代理,并且内部 VIP 上禁用了 TLS,建议运行 kayobe overcloud host configure -t proxykayobe seed hypervisor host configure -t proxykayobe seed host configure -t proxykayobe infra vm host configure -t proxy,以将内部 VIP 添加到免代理配置。这被认为是一个小问题,因为容器之间的流量默认情况下不会使用代理。 LP#2087556

错误修复

  • 修复了在构建主机未安装 Git 时 IPA 和主机镜像构建失败的问题。 LP#2058922

  • 现在,当 kolla_enable_proxysql 设置为 true 时,将构建 proxysql 镜像。

  • 更新了 /var/log/journal 目录的组和模式设置,以匹配 systemd-journald 使用的默认所有权和权限。 LP#2083494

  • 修复了当 /etc/default/grub 中缺少 GRUB_CMDLINE_LINUX_DEFAULT 变量时,内核参数生成的问题。 LP#2083874

  • 固定 IPA 镜像构建的要求,以确保 ironic-lib 版本与 ironic-python-agent 匹配。LP#2089263

  • 将 seed 和 infra VM 的默认云镜像更改为使用 Rocky Linux 9.3,当使用 bios 启动模式时,以修复较新的云镜像导致的启动失败。在部署新 VM 时,建议将 infra_vm_boot_firmwareseed_vm_boot_firmware 设置为 efi

  • 修复了在使用共享 Ansible 控制主机的 overcloud Ironic 时的问题。使用共享缓存目录可能导致无法下载 Ironic Python Agent (IPA) 镜像。 LP#2069845

16.2.0

新特性

  • 增加了对在 seed 和 infra VM 中指定 boot_firmwaremachine 变量的支持。这可用于使用 Q35 机器类型以 UEFI 启动模式启动 VM。

  • 将 stackhpc.libvirt-vm Ansible 角色升级到 v1.16.1

错误修复

  • eos_config 自 Ansible 7 以来不支持 provider 参数。用户需要根据 Arista EOS 文档 更新其配置。

  • 修复了一个问题,即当单元已经处于 runtime-enabled 状态时,systemd-networkd 未被永久启用。LP#2073100

16.0.0

新特性

  • 添加了 kayobe baremetal introspection data save 命令,用于保存由 kayobe baremetal compute inspect 收集的硬件内省数据。

  • 添加了一个新的变量 kolla_build_neutron_ovs,它允许用户在系统使用 OVN 时构建 Neutron OVS 容器镜像。当用户想要同时构建所有 Neutron 容器镜像时,此功能很有用。

  • 默认情况下配置 journald 使用持久化存储。这允许您在重启之间保留 journald 日志,并由 journald_storage 变量控制。有关更多详细信息,请参阅 Kayobe 文档

  • 添加了 kayobe seed service destroy 命令。这可用于清理 seed 主机上的所有服务。在使用此命令时请务必小心,因为它将删除 seed 上的所有数据。

  • 添加了使用 auth.conf 文件为 Apt 仓库和代理配置身份验证(用户名和密码)的支持。

  • 此补丁添加了通过新的 playbook baremetal-compute-register.yml 通过 Kayobe 将裸机节点注册到 Ironic 的实验性功能,并向 Kayobe CLI 添加了 kayobe baremetal compute register

  • kayobe overcloud deprovision 现在在取消配置任何主机之前需要确认。可以通过将 confirm_deprovision 设置为 yes 来实现自动确认。

  • 添加了指定自定义 DNF 仓库的凭据(用户名和密码)的支持。

  • 添加了在 Kayobe 环境中定义自定义 playbook 钩子的支持。

  • kayobe kolla ansible run 现在将在运行命令之前生成 Kolla-Ansible 配置。可以使用 --skip-tags kolla-openstack 跳过此操作,用于不需要 kolla 配置的命令。

  • 添加了通过 kayobe_max_fail_percentage 指定 Ansible play 的最大失败百分比的支持。它也可以按 playbook 基础设置,例如 time_max_fail_percentage

  • 添加了对在 CentOS Stream 和 Rocky Linux 系统上使用基于字典格式的 IP 策略路由规则的支持。这些系统仍然支持基于字符串的格式。

  • 为 Ironic 和 Bifrost 内省添加了新的 Redfish 规则。添加了以下变量

    • inspector_rules_redfish_enabled

    • inspector_redfish_username

    • inspector_redfish_password

    • inspector_rule_var_redfish_verify_ca

    • inspector_rules_ipmi_enabled

    • kolla_bifrost_inspector_redfish_username

    • kolla_bifrost_inspector_redfish_password

  • 现在支持自定义 telegraf 配置。有关配置 kolla-ansible 服务的更多信息,请参阅 Kayobe 文档

升级说明

  • 将 Ansible 的最大支持版本从 8.x(ansible-core 2.15)升级到 9.x(ansible-core 2.16)。最低支持版本从 7.x 升级到 8.x。这适用于 Kayobe 和 Kolla Ansible。

  • stackhpc.linux 集合升级到 1.2.0,以包含新的角色。添加了 stackhpc.networkstackhpc.openstack 集合到 requirements。重构了对上述集合中移动角色的调用,并更新了文档 - 角色名称和过时的 Ansible Galaxy 文档链接。

  • kayobe overcloud deprovision 现在在取消配置任何主机之前需要确认。可以通过将 confirm_deprovision 设置为 yes 来实现自动确认。

  • 已停止对部署 Murano 的支持。

  • 已停止对部署 Sahara 的支持。

  • 已停止对部署 Senlin 的支持。

  • 已停止对部署 Solum 的支持。

  • 已停止对部署 Vitrage 的支持。

  • kayobe kolla ansible run 现在将在运行命令之前生成 Kolla-Ansible 配置。可以使用 --skip-tags kolla-openstack 跳过此操作,用于不需要 kolla 配置的命令。

  • 删除了对 Docker 存储驱动程序 devicemapper 的支持,因为 Docker Engine 25.0 已经删除了它。使用 devicemapper 的用户应在更新 Docker 到 25.0 或更高版本之前迁移到受支持的存储驱动程序。

  • 已停止对部署 Freezer 的支持。

错误修复

  • 添加了对自定义 RabbitMQ 配置的修复。修复了不正确的路径和 glob,现在可以模板化所有其他配置文件,例如 advanced.configdefinitions.jsonenabled_pluginserl_inetrc 以及 rabbitmq.confrabbitmq-env.conf

  • 修复了一个 Dell OS6 和 Dell OS9 交换机配置没有正确应用的问题。 LP#2061102

  • letsencrypthaproxy-ssh 镜像现在在 kolla_enable_letsencrypt 设置为 true 时构建。

  • 修复了节点取消配置后 ironic 文件残留的问题,这阻止了再次注册和配置。

  • 修复了默认 Ubuntu Apt 密钥环位置,使其指向推荐的 /etc/apt/keyrings

  • 修复了在禁用 seed SNAT 时的网关分配问题。在这种情况下,Bifrost 会生成 ConfigDrive 数据,即使管理网络上可用网关,也不会设置默认网关。

  • 修复了在使用主机限制运行 Kayobe 时 /etc/hosts 没有正确填充的 bug。 LP#2051714

  • 修复了在 docker 仓库包含端口时构建容器镜像的问题。有关更多详细信息,请参阅 LP#2054715

  • 修复了 overcloud 服务销毁时未能移除 inspection store docker 卷的问题。请参阅 LP#2050092

  • 修复了与 kolla_enable_letsencrypt 变量相关的问题,这些问题导致 overcloud 容器镜像构建失败,或者在禁用时包含 letsencrypt 镜像。

  • 修复了一个错误,当 resolv_is_managed 设置为 True 时,NetworkManager 会覆盖 resolv.conf。

  • 修复了 wipe-disks 角色在受支持的主机操作系统上由于 util-linux 版本 2.37lsblk -J 的输出格式更改而失败的问题。 LP#2051859

其他说明

  • Kayobe 网络文档中关于 CentOS Stream/Rocky Linux 系统上 IP 规则的说明已更新,以反映路由表必须通过 ID 而不是名称指定。