2024.2 系列发布说明¶
17.7.0-7¶
错误修复¶
修复了在
ipv4_gateway未定义时生成 Bifrost 主机变量文件的问题。 LP#2133489
将
nvidia.nvueAnsible 集合的版本从1.2.6升级到1.2.9。 这修复了一个问题,即无法将交换机配置应用于运行 Cumulus Linux 5.13 的交换机。有关更多详细信息,请参阅 LP#2131677。
17.7.0¶
升级说明¶
如果
os_distribution设置为centos,则默认引导用户已更改为cloud-user。将*_bootstrap_user变量设置为centos以保留现有行为。
错误修复¶
如果
os_distribution设置为centos,则默认引导用户已更改为cloud-user,以匹配官方云镜像。
修复了 Kayobe 错误生成 Bifrost hostvars 文件的问题。LP#2045927
修复了在使用
no_ip属性时网络连接检查中的回归问题。LP#2125560
修复了
--check和--diffCLI 参数未传递到 Kolla Ansible 命令的问题。LP#2123834
17.6.0¶
新特性¶
当
kolla_enable_neutron_bgp_dragent为 true 时,neutron-bgp-dragent容器现在默认会构建。
升级说明¶
使用 Juniper Junos OS 交换机的部署需要根据 Juniper Junos OS 文档 更新其配置。这是因为
junos_config模块不再支持provider参数。
错误修复¶
修复了 Juniper Junos OS 交换机的物理网络配置。请注意,用户需要根据 Juniper Junos OS 文档 更新其配置。LP#2111341
修复了在同时设置 admin 和 public cacert 变量时,
public-openrc.sh中的重复OS_CACERT行。LP#2116318
修复了当网络节点与控制器分离时的后端 TLS 配置。LP#2117084
修复了启用
dnf_use_local_mirror时,用于 EPEL 仓库的gpgkey名称错误的问题。LP#2119921
修复了 CentOS Stream 9 seed 和 infra 虚拟机无法启动的问题,通过切换到兼容 EFI 的镜像。LP#2121588
修复了当附加到 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
17.5.0¶
新特性¶
添加了一个新的 dev 脚本
dev/rabbitmq-migrate-queues.sh,它将启用 quorum 队列并将 RabbitMQ 迁移到使用这些队列。
部署和销毁 infrastructure 虚拟机现在速度更快,因为只有必需的变量才会传递给相关的任务,而不是每个虚拟机的整个 hostvars 集合。
升级说明¶
变量
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
修复了一个错误,在使用
host configure命令时,由于 netplan 包未完全删除,导致生成的网络配置无法应用。‘LP#2103794 https://bugs.launchpad.net/kayobe/+bug/2103794’__
将 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
17.4.0¶
新特性¶
支持在配置
chrony后强制时间同步,如果ntp_force_sync更改为True。
错误修复¶
将 MichaelRigart.interfaces 角色升级到 v1.15.3,以修复一个问题,即在跳过网络接口之前,NetworkManager 未被重启。LP#2100792
17.3.0¶
新特性¶
错误修复¶
修复了一个问题,即 slave 接口在跳过 master 接口后无法重新启动。LP#2072340。
17.2.0¶
错误修复¶
修复了一个错误,即非 overcloud 主机出现在
kayobe overcloud deprovision的确认提示中 LP#2091703
17.1.0¶
错误修复¶
固定 IPA 镜像构建的要求,以确保
ironic-lib版本与ironic-python-agent匹配。LP#2089263
17.0.0¶
新特性¶
添加了对 systemd-networkd 链路配置的初始支持,现在您可以配置和重命名接口名称,如果您知道接口的 MAC 地址。
将内部 VIP 添加到 NOPROXY/noproxy 环境变量。
Ironic Inspector 配置现在可以通过将配置覆盖放在
$KAYOBE_CONFIG_PATH/kolla/config/ironic-inspector或$KAYOBE_CONFIG_PATH/environments/<environment>/kolla/config/ironic-inspector目录中进行自定义。这可用于定义known_devices.yaml文件,该文件用于配置 Ironic Inspector 中的accelerators插件。
添加了支持设置 Apt 仓库是否受信任的功能。
引入了变量
kolla_base_arch,允许用户指定基础容器镜像的架构。这支持跨架构构建,可以构建与主机机器不同的架构的镜像(例如,在x86_64机器上构建aarch64镜像)。默认情况下,
kolla_base_arch设置为检测到的架构({{ ansible_facts.architecture }})。但是,当kolla_base_arch与主机架构不同时,将使用multiarch/qemu-user-static镜像来促进跨架构构建。
添加了对使用 NVIDIA User Experience 命令行实用程序 (NVUE) 配置 Cumulus 交换机的支持。这集成到
kayobe physical network configure命令中。
添加了对使用 Cumulus 交换机(NCLU 和 NVUE)与 Networking Generic Switch 的支持。
添加了一个新的
redfish_address变量,并扩展了kayobe overcloud inventory discover命令,以从 Bifrost 节点库存中发现地址。
默认启用 ProxySQL。可以通过将
kolla_enable_proxysql变量设置为false来禁用 ProxySQL。
添加了支持在
overcloud provision期间使用不同的接口而不是 Bifrost PXE 接口作为 admin 接口。可以通过将kolla_bifrost_use_introspection_mac设置为true或在各自的 hosthost_vars中设置kolla_bifrost_ipv4_interface_mac来启用此功能。
添加了支持使用物理网络属性中的
physical_network网络属性自定义 Neutron 物理网络名称。
增加了对在 seed 和 infra VM 中指定
boot_firmware和machine变量的支持。这可用于使用 Q35 机器类型以 UEFI 启动模式启动 VM。
将 stackhpc.libvirt-vm Ansible 角色升级到
v1.16.1。
增加了对在
/etc/apt/preferences.d下配置 Apt 首选项的支持。
增加了在使用
kayobe physical network configure配置交换机时,通过switch_skip_keyscan变量跳过 SSH keyscan 的支持。
增加了对 Ubuntu Noble Numbat (24.04) LTS 作为 seed、seed hypervisor 和 overcloud 主机的宿主机和容器操作系统支持。默认 Ubuntu 版本已更改为 Ubuntu Noble (24.04) LTS。
增加了验证,以防止从与环境变量(例如
KAYOBE_CONFIG_PATH)或 CLI 参数(例如--config-path)引用的 Kayobe 配置仓库不同的位置执行 Kayobe。
升级说明¶
控制主机不再支持 Python 3.9.x。在 Rocky Linux 9 上,请使用
python3.12重新创建您的 virtualenv。
将 Ansible 的最大支持版本从 9.x (ansible-core 2.16) 升级到 10.x (ansible-core 2.17)。最低支持版本从 8.x 升级到 9.x。在 Rocky Linux 9 上,您需要使用
python3.12重新创建 Kayobe virtualenv,因为已停止对python3.9的支持。
将
stackhpc.linux集合升级到 1.3.0。请注意,此版本 使用 systemd 激活虚拟功能。此更改仅限于stackhpc.linux.sriov角色,该角色未被 Kayobe 使用。如果自定义 playbook 使用此角色,则可以通过将sriov_numvfs_driver设置为udev来保留现有行为。
安装在 Kayobe 配置中的 Ansible 插件、角色和集合(统称为扩展)不再优先于 Kayobe 内部相同扩展的变体。可以通过手动导出相关的 Ansible 变量(例如
ANSIBLE_COLLECTIONS_PATH)来恢复到以前的行为。预计这不会影响许多用户,因为仍然可以使用其他插件来补充 Kayobe。
在查找 Ansible 扩展时,系统文件夹和主目录不再被搜索。建议使用
$KAYOBE_CONFIG_PATH/ansible/requirements.yml安装您的集合。
Kayobe 不再覆盖 Ironic 硬件类型和接口的启用和默认设置。这可确保 Ironic 中默认值的更改自动采用。这些仍然可以通过 Kayobe 变量在
${KAYOBE_CONFIG_PATH}/ironic.yml中进行自定义,例如kolla_ironic_enabled_hardware_types。Caracal 中 Kayobe 生成的默认配置是
enabled_hardware_types = ipmi enabled_bios_interfaces = no-bios enabled_boot_interfaces = ipxe,pxe enabled_console_interfaces = ipmitool-socat,no-console enabled_inspect_interfaces = inspector,no-inspect enabled_management_interfaces = ipmitool enabled_network_interfaces = noop,flat,neutron enabled_power_interfaces = ipmitool enabled_raid_interfaces = agent,no-raid enabled_rescue_interfaces = agent,no-rescue enabled_vendor_interfaces = no-vendor
在 Dalmatian 中,Ironic 默认值是
enabled_hardware_types = ipmi,redfish enabled_bios_interfaces = no-bios,redfish enabled_boot_interfaces = ipxe,pxe,redfish-virtual-media enabled_console_interfaces = no-console enabled_inspect_interfaces = no-inspect,redfish enabled_management_interfaces = <determined by enabled hardware types> enabled_network_interfaces = flat,noop enabled_power_interfaces = <determined by enabled hardware types> enabled_raid_interfaces = agent,no-raid,redfish enabled_rescue_interfaces = no-rescue enabled_vendor_interfaces = ipmitool,redfish,no-vendor
特别是,请注意
neutron网络接口不再默认启用。
将 Kolla Ansible virtualenv 中 Ansible 的最小支持版本从 2.15 升级到 2.16,最大支持版本从 2.17 升级到 2.18。用于在 Rocky 9 上安装 Kolla Ansible 的 Python 版本升级到 3.12。
physical_network属性现在必须一致地应用于 Kayobe 配置中的所有外部网络。如果任何外部网络具有该属性,则所有其他网络也必须具有。
在启用 OVN 时,将默认的 Neutron ML2 类型驱动程序和租户网络类型更新为使用
geneve代替vxlan。这会影响kolla_neutron_ml2_type_drivers和kolla_neutron_ml2_tenant_network_types变量。
将
nvidia.nvue集合升级到 1.2.6。
如果您已自定义
inspector_keep_ports,请确保将其设置为以下值之一:all、present或added。在此版本之前,将inspector_keep_ports设置为任何真值都会导致 Ironic Inspector 配置选项keep_ports设置为present。由于inspector_keep_ports的默认值为added,因此我们实际上是将keep_ports的默认值从present更改为added。如果您依赖于以前的行为,则应将ironic_keep_ports设置为present。
将 seed 和 infra VM 的默认启动固件更改为
efi。将infra_vm_boot_firmware和seed_vm_boot_firmware设置为bios以保留现有行为。
安全问题¶
当从配置了 kayobe 的主机运行 API 请求时,发往内部 VIP 的流量通过默认代理发送。如果未使用 TLS,这可能是一个安全问题,因为代理将能够拦截流量。如果使用不受信任的代理,并且内部 VIP 上禁用了 TLS,建议运行
kayobe overcloud host configure -t proxy、kayobe seed hypervisor host configure -t proxy、kayobe seed host configure -t proxy和kayobe infra vm host configure -t proxy,以将内部 VIP 添加到免代理配置。这被认为是一个小问题,因为容器之间的流量默认情况下不会使用代理。LP#2087556
通过添加循环控制来仅打印仓库密钥,避免在 Kayobe 输出中泄露 DNF 仓库用户名/密码凭据。LP#2087938
错误修复¶
eos_config自 Ansible 7 以来不支持provider参数。用户需要根据 Arista EOS 文档 更新其配置。
修复了 Git 未安装在构建主机时 IPA 和主机镜像构建失败的问题。LP#2058922
修复了任务“确保 ironic 节点使用新的 Ironic Python Agent (IPA) 镜像”在“dict object”没有“deploy_kernel”属性时失败的问题。LP#2083014
现在,当
kolla_enable_proxysql设置为true时,将构建proxysql镜像。
通过添加循环控制来仅打印仓库密钥,避免在 Kayobe 输出中泄露 DNF 仓库用户名/密码凭据。LP#2087938
修复了在 kayobe
overcloud host provision之后网络无法启动的问题,因为 cloud-init 未安装。将cloud-init元素添加到overcloud_dib_elements_default,因此不再缺失。预期行为是cloud-init-datasource将其作为依赖项。
修复了一个问题,即当单元已经处于
runtime-enabled状态时,systemd-networkd 未被永久启用。LP#2073100
更新了
/var/log/journal目录上的组和模式设置,以匹配systemd-journald使用的默认所有权和权限。LP#2083494
修复了在
/etc/default/grub中缺少 GRUB_CMDLINE_LINUX_DEFAULT 变量时生成内核参数的问题。LP#2083874。
在运行 Kayobe 内部 playbook 时,Ansible 搜索路径已被修改,以便内部 Kayobe 安装的集合、角色和插件优先于安装在 Kayobe 配置中的那些。这提高了可用性,因为现在可以安装更新版本的扩展,而不会影响内部 Kayobe playbook。LP#2056473
修复了在使用共享 Ansible 控制主机的 overcloud Ironic 时的问题。使用共享缓存目录可能导致无法下载 Ironic Python Agent (IPA) 镜像。LP#2069845
inspector_keep_ports可以设置为以下值之一:all、present、added。以前的行为是将此设置为present,如果变量更改为任何真值。这尊重了评论中指示的行为。
修复了与 Rocky Linux 9.4 GenericCloud 镜像的兼容性,切换到
efi启动固件。
切换到使用基于
ansible-core的 kolla-ansible 安装。这是 LP#2072979 的解决方法,但同时也实现了更轻量级的安装。
切换到使用较新版本的 docker 社区集合,以解决在某些 Python 库组合中使用 docker ansible 模块时出现的问题。请参阅 LP#2072979。