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_keyslxc_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_hosts role 中应用了一个临时解决方法,以应用到配置文件的热修复。但是,在下次更新 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 -> Destination

    • gateway -> Gateway

    虽然保留了向后兼容性,但强烈建议使用新键,因为旧键名的支持将在未来删除。

  • 在本版本中,Neutron 的 ml2.lxb (linuxbridge) 插件已被删除,不再可以使用。请确保在升级之前迁移到受支持的 Neutron 驱动程序。不幸的是,目前没有自动化迁移的方法。您可以参考博客文章 Migrating from LinuxBridge to OVN,了解有关之前如何实现此类迁移的信息。

  • 为了支持 eventlet 服务器,Neutron 的 uWSGI 再次默认禁用。这也会停止并禁用 uWSGI 模式所需的以下服务

    • neutron-periodic-workers

    • neutron-ovn-maintenance-worker

    • neutron-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_storagezun_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_neutron role 忽略了 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-manageopenstack-ansible-inventory 现在被符号链接到 /usr/local/bin,应该可以独立执行了。