2025.1 系列发布说明¶
31.1.2¶
其他说明¶
RabbitMQ 的 Debian/Ubuntu 仓库已从 ppa1.rabbitmq.com 更改为 deb1.rabbitmq.com 和 deb2.rabbitmq.com。
31.1.1¶
升级说明¶
变量
networking_ovn_bgp_install_branch已重命名为networking_ovn_bgp_git_install_branch,以匹配现有的命名约定。
安全问题¶
包含 Keystone 和 Swift 的补丁版本,用于 OSSA-2025-002
错误修复¶
通过升级
setuptools版本到 75.8.2,修复了oslo.cache包的解析问题。
修复了仓库容器启动时的竞争条件,当 var-www-mount.repo 在 glusterd.service 完全启动之前启动时。
修复了 SHA pinning 和
ovn-bgp-agent的安装,因为 SHA pinning 和 role 使用了不同的变量名。
已修复基于 EL 的发行版中 Shibboleth 镜像的 URI。
31.1.0¶
序言¶
添加了对 CentOS 10 Stream 部署的支持
添加了对 RHEL 10 衍生版本(如 Rocky Linux)部署的支持。
新特性¶
为 CentOS 10 Stream 支持,对部署和目标主机进行了一系列回溯性更改。
为 Rocky 10 支持,对部署和目标主机进行了一系列回溯性更改。
错误修复¶
将 Masakari 用户添加到 libvirt 组,以确保正确访问 libvirt 资源的权限。这解决了可能阻止 Masakari 有效监控和管理虚拟机实例的权限问题。此修复确保 Masakari 服务可以成功与 libvirt 守护程序交互,以便在主机发生故障时进行实例撤离和恢复操作。
通过实施升级检查并在升级时禁用遗留策略,修复了旧部署中 RabbitMQ 升级问题,这些部署先前使用了 RabbitMQ Classic Queue 镜像(HA 队列)。
Skyline 现在适用于具有内部 TLS 覆盖的场景。
31.0.1¶
升级说明¶
在使用独立的 RabbitMQ 集群进行 Trove 部署时,请确保使用
trove_guest_rpc_host_group作为指向主机组的指针,而不是指向特定主机的指针。您可以使用变量trove_guest_oslomsg_rpc_setup_host来定义应负责 RabbitMQ vhost 和用户配置的特定主机。
错误修复¶
修复了 httpx 1.0 发布后 Skyline 安装问题,原因是未在使用 OpenStack 上限约束进行安装。
变量
trove_guest_rpc_host_group现在按预期使用,代表一个主机组。它不再直接用作配置独立 RabbitMQ 集群时的“委托主机”。
31.0.0¶
序言¶
为了支持各种部署中 Cinder 服务类型命名的对齐工作,并从特定版本服务类型迁移到通用类型,从现在开始,Cinder 服务将被命名为 block-storage,这将在 Keystone 服务目录和端点中反映。请查看升级说明以获取更多详细信息。
实现了一个独立的 httpd 角色,用于 Apache Web Server (HTTPD) 配置,旨在包含在需要 Apache2 的各种角色中(例如 keystone、horizon、skyline 等)。
新功能¶
添加了使用 haproxy_errorfiles 定义自定义错误文件的支持。这些文件可以与 haproxy_static_files_extra 一起分发。
允许通过 openstack_sysctl_file 和/或 haproxy_sysctl_file 定义自定义 sysctl 配置文件路径。默认值为 /etc/sysctl.conf,以保留向后兼容性。
创建了一个通用的
httpd角色,以统一管理 Apache2 安装和配置的方法。该角色以相对通用的方式编写,也适用于 OpenStack-Ansible 部署之外的使用。
添加了变量
repo_server_directory_root,默认指向/var/www/repo,并用作虚拟主机的 Apache DirectoryRoot,而不是repo_service_home_folder。
static_routes的键已放宽,现在可以接受 systemd-networkd 的[Route]部分支持的任何参数。
添加了变量
lxc_centos_repo_keys和lxc_centos_repos,允许提供将添加到 lxc_host 的存储库列表。默认情况下,该角色会继续安装 EPEL 存储库及其 GPG 密钥。
实现了标志
network_overrides_only,该标志适用于systemd_networks。当使用此标志时,不会创建 .network 或 .link 定义 - 仅创建{{ filename }}.network.d/overrides.conf配置文件,其中包含来自config_overrides的任意数据。这可用于扩展现有接口配置,该配置不由角色直接管理(例如,通过netplan管理)。
添加了 routing_rules 以管理网络接口的路由策略规则。它是一个映射列表,每个映射接受 systemd.network 的 RoutingPolicyRule 部分中适用的键。有关更多详细信息,请查看 systemd.network 文档。
如果将
openstack_service_backend_ssl设置为 True,则实现了负载均衡器 (HAProxy) 和 Skyline 后端之间的 TLS 加密。
已知问题¶
发现 Ubuntu 24.04 (Noble Numbat) 中的 LXC 5.0.3 包含打包问题,导致 apparmor 剖析冲突。已在
lxc_hostsrole 中应用了一个临时解决方法,以应用到配置文件的热修复。但是,在下次更新liblxc-common包时,它将被清除。请查看 bug #2110635 以获取有关该问题的更多详细信息。
在 Ubuntu 24.04 (Noble Numbat) 上,Ceph 包仅从原生存储库或 Ubuntu Cloud Archive 提供。因此,目前无法选择 Ceph 版本,并且 Ceph Squid (19.2.X) 是唯一可用的选项。这可能会在社区存储库开始为 Ubuntu 24.04 构建包时发生变化。
升级说明¶
请注意,Ceilometer 中
pipeline.yaml的结果内容定义行为已更改。现在,_ceilometer_pipeline_yaml_overrides 将应用于所有不显式提供ceilometer_pipeline_user_content的环境。可以通过在 user_variables.yml 中添加_ceilometer_pipeline_yaml_overrides: {}来确保先前的行为。
EL 不需要携带 thm COPR 存储库来安装 LXC,因为 LXC 现在由 EPEL 提供。我们在升级期间删除存储库并清理 dnf 元数据。
为了与 Cinder 服务命名建议保持一致,os_cinder 角色将在目录中引入一个名为
cinder的新服务,类型为block-storage,以及表示它们的相应端点集合。升级脚本将在 /etc/openstack_deploy/user_epoxy_upgrade.yml 中创建一个新文件,其中定义cinder_service_v3_enabled: true,旨在保留旧版本基于的服务类型和端点。如果您想从目录中删除旧版本基于的端点和服务类型,可以简单地取消定义该变量,因为默认情况下它是False。所有新部署将不会拥有
cinderv3/volumev3服务,除非定义了cinder_service_v3_enabled: true。
zun-compute 的 Docker 模式已切换到“local”模式。这意味着,Zun 运行不再需要支持 etcd 集群。如果您想保留旧行为,则需要将 Docker 和 Containerd 版本回溯,并在
user_variables.yml中添加zun_docker_kv_storage: etcd。
对于具有 Zun 的部署,底层软件版本已升级到:* Docker 20.10.24 -> 27.5.1 * Containerd 1.6.20 -> 1.7.27 * Kata 3.1.0 -> 3.16.0
os_skyline角色已切换到使用来自角色内 HTTPD 部署的独立httpd角色。
repo_server角色已切换到使用来自角色内 HTTPD 部署的独立 HTTPD 角色。
如果使用自定义路径作为 repo 服务器 vhost,请确保使用
repo_server_directory_root变量而不是repo_service_home_folder。
为了与 systemd-networkd 配置文件中可用的选项保持一致,
static_routes列表中的以下键已重命名cidr->Destinationgateway->Gateway
虽然保留了向后兼容性,但强烈建议使用新键,因为旧键名的支持将在未来删除。
在本版本中,Neutron 的
ml2.lxb(linuxbridge) 插件已被删除,不再可以使用。请确保在升级之前迁移到受支持的 Neutron 驱动程序。不幸的是,目前没有自动化迁移的方法。您可以参考博客文章 Migrating from LinuxBridge to OVN,了解有关之前如何实现此类迁移的信息。
为了支持 eventlet 服务器,Neutron 的 uWSGI 再次默认禁用。这也会停止并禁用 uWSGI 模式所需的以下服务
neutron-periodic-workersneutron-ovn-maintenance-workerneutron-rpc-server
任何使用 amqp1 oslo.messaging 驱动程序的部署都应迁移到使用默认的 rabbitmq oslo.messaging 驱动程序。由于 oslo.messaging 的 Epoxy 版本删除了对 amqp1 的弃用支持,请参阅 https://review.opendev.org/c/openstack/oslo.messaging/+/934116。因此,OpenStack-Ansible 中已删除对 amqp1 消息传递和 qdrouterd 部署的支持。在升级到 Epoxy 版本的 OpenStack-Ansible 之前,需要迁移离开 amqp1。qdrouterd 可以在完成迁移到 rabbitmq 后从部署和 ansible 清单中完全删除。
弃用说明¶
为了完成 Cinder 服务类型命名对齐,我们修改了先前周期引入的关于弃用以下变量的先前决定。以下变量不再应被视为已弃用
cinder_service_description
cinder_service_publicuri_proto
cinder_service_adminuri_proto
cinder_service_internaluri_proto
cinder_service_type
cinder_service_publicuri
cinder_service_adminuri
cinder_service_internaluri
使用基于版本的(
cinderv3/volumev3)Cinder 的端点和服务类型被视为已弃用的行为,将来将被删除。
变量
zun_docker_kv_storage和zun_docker_kv_group已弃用,将在下一个版本中删除。
Horizon 角色不再确保 Keystone 中存在默认的
horizon_default_role_name(默认值为 member)角色。预计由horizon_default_role_name定义的角色已经存在于 Keystone 中,并且在os_keystone执行期间通过keystone-bootstrap命令引导。
与
repo_server角色相关的 Apache (HTTPD) 配置变量,如repo_apache_*,以及一些repo_pki_和repo_ssl_*已弃用,现在由于迁移到独立的httpd角色而无效。请参阅httpd角色,了解有关管理已弃用设置的更多详细信息。
先前由 Neutron 标记为实验性的 linuxbridge (
ml2.lxb) 插件已从代码库中删除。请确保在使用前使用受支持的驱动程序。
oslo.messaging 中先前弃用的 amqp1 消息传递不再受 Epoxy 版本的 OpenStack-Ansible 支持。先前支持的 amqp1 消息传递提供程序 qdrouterd,不再可以使用 OpenStack-Ansible playbook 部署。
关键问题¶
先前由 Neutron 标记为实验性的 linuxbridge (
ml2.lxb) 插件已从代码库中删除。请确保在使用前使用受支持的驱动程序。
错误修复¶
os_neutronrole 忽略了aa-disable命令的实际退出代码,当它异常退出时。这可能会导致 neutron 代理稍后出现不明显的故障。已修复此问题,如果aa-disable无法禁用所需的 apparmor 配置文件,该 role 将会失败,而不是抑制该问题。
由于
mirror.mariadb.org中 MariaDB 的存储版本策略发生变化,当前 pinned 的 MariaDB 版本已从仓库中删除。通过切换到archive.mariadb.org,应该可以解决 MariaDB 的安装失败问题。
已修复 Ceilomter+Gnocchi 应用增强管道的逻辑。现在,如果操作员没有提供任何自定义内容,则 pipeline.yaml 中定义的 sink 和转换覆盖将填充内容,而不是将其应用于其之上。
一个与 HashRing 生成相关的 bug #2096937 在使用 uWSGI 与 Neutron 时被报告。为了快速解决此 bug,uWSGI 模式再次默认禁用 Neutron,直到提供针对 uWSGI 的正确修复方案。
其他说明¶
MariaDB 的镜像已切换到
archive.mariadb.org
脚本
openstack-ansible-inventory-manage和openstack-ansible-inventory现在被符号链接到 /usr/local/bin,应该可以独立执行了。