Zed 系列发布说明

26.5.2

错误修复

  • 变量 horizon_webroot 的更改现在得到尊重,并将反映在 Apache 配置中,以相应地提供静态文件并定义 wsgi 路径。

26.5.0

新特性

  • 添加 rabbitmq_additional_config 以能够添加额外的配置,例如添加插件的配置。

错误修复

  • 在显式将 localhost 添加到 inventory 后,由于在 /etc/hosts 文件管理的块内添加了 localhost 的记录,导致潜在的 FQDN 更改。 现在已修复,Ansible 管理的块内的 /etc/hosts 文件中的 127.0.0.1 记录将被删除。

26.4.0

升级说明

  • Keystone OIDC 参数“oidc_redirect_uri”已替换为“oidc_redirect_path”。 除非您运行可能与 Keystone 上的默认设置冲突的其他服务,否则不再需要显式设置此参数。 您的 OIDC 提供程序可能需要更新以反映此重定向 URI 的更改,默认情况下为 Keystone 公共 URL 加上路径 /oidc_redirect。

错误修复

  • 修复了 OpenStack 命令行 OIDC 集成问题,适用于 Apache mod_auth_openidc 版本 >= v2.4.9,包括 Ubuntu Jammy。

其他说明

  • 由于 bug #2041717,localhost 目标已显式添加到 OSA 库存中。因此,“all”组现在包含 localhost,针对“all”的自定义 playbook 可能需要调整,例如:hosts: all:!localhost

26.3.0

新特性

  • 添加了变量 galera_backups_full_init_overridesgalera_backups_increment_init_overrides,这些变量可用于覆盖 mariadb 备份的默认 systemd 单元文件集。 类似于更改 I7b3b0f4da047f82a49266ef57fba2fbaa24cebdc。

弃用说明

  • nova_pci_passthrough_whitelist 现在已被弃用,转而使用 nova_device_spec

错误修复

  • 修复了在 Ubuntu Jammy 上使用 Apache mod_auth_openidc 时的问题,需要一个新的 OIDCXForwardedHeaders 配置选项。

26.2.0

新特性

  • 实现了变量 lxc_image_cache_expiration,用于控制缓存的 LXC 镜像的有效时长。 默认值为 1年。 变量格式应与 community.general.to_time_unit 过滤器兼容。

  • 为使用 mariabackup 创建的备份添加了可选的压缩。 添加了两个新的 CLI 参数到 mariabackup 脚本,用于启用压缩和选择压缩工具。

    • --compress=True|False

    • --compressor=<compressor>

    还引入了控制上述参数的新 Ansible 变量。

    • galera_mariadb_backups_compress

    • galera_mariadb_backups_compressor

    每个备份存档都存储在一个专用目录中,以及备份元数据。

升级说明

  • CentOS/Rocky Linux 部署将获得 OVS 版本从 2.17 到 3.1 以及 OVN 从 22.12 到 23.03 的重大更新。RDO 已停止为之前的 OVS/OVN 版本构建软件包,这意味着它们将不会收到任何上游错误修复或安全补丁。

    如果您仍然想保留旧版本的 OVS/OVN,可以定义以下变量

    openstack_hosts_package_repos:
      - name: rdo-deps
        file: rdo-deps
        description: rdo-deps
        baseurl: "{{ openstack_hosts_rdo_deps_url }}"
        gpgcheck: no
        module_hotfixes: yes
        exclude:
          - '*rdo-openvswitch*3.1*'
          - '*rdo-ovn*3.1*'
    
  • 默认情况下禁用备份压缩,因此现有部署无需进行任何更改。 如果需要压缩,请将 galera_mariadb_backups_compress 设置为 True。 使用 galera_mariadb_backups_compressor 选择压缩工具,默认值为 gzip

错误修复

  • 修复了 LXC 图像缓存到期机制。 之前 LXC 图像将永远有效。

26.1.2

弃用说明

安全问题

  • 包含 Nova、Cinder 和 Glance 的 SHA 变更,以涵盖 OSSA-2023-003。

错误修复

  • 修复了当主机同时属于 central 和 compute 组时(例如 metal/aio 场景),ceilometer polling_namespaces 的错误定义。

  • 修复了计算节点上缺少 libvirtd.service 的问题。使用 CentOS 将 libvirt 版本升级到 9.3.0 后,他们不再将 libvirt-deamon 作为对 libvirt-deamon-kvm 的依赖项进行安装。libvirt-deamon 现在显式安装。

26.0.1

安全问题

  • 此版本包含 Cinder、Nova 和 Glance 的 SHA 补丁,涵盖 OSSA-2023-002 漏洞 (CVE-2022-47951)。

错误修复

  • 修复了在 OVN 场景下 neutron-metadata-agent 和 neutron-dhcp-agent 在 network_hosts 上启动的问题,同时 neutron-ovn-metadata-agent 也启动。这些服务将在现有环境中被禁用和屏蔽。仍然需要手动清理 systemd 服务和相应的 neutron agent。新的部署将从一开始就停止部署这些服务。

26.0.0

序言

默认 neutron 插件已从 LinuxBridge 切换到 OVN。这适用于所有新部署。同时,OpenStack-Ansible 不提供任何内部工具来完成从 ml2.lxb 到 ml2.ovn 的升级。请参阅升级部分,了解有关如何升级 OpenStack-Ansible 的更多详细信息。

新特性

  • 添加了 zookepeer 角色,该角色部署 zookeeper 集群,可作为 cinder、designate、octavia 等服务的协调驱动程序。要进行部署,需要在 conf.d 或 openstack_user_config.yml 中指定 coordination_hosts,并运行 zookeeper-install.yml playbook。

  • 添加了以下变量,旨在控制协调配置。为使服务开箱即用,已设置合理的默认值。

    • coordination_driver

    • coordination_group

    • coordination_client_ssl

    • coordination_verify_cert

    • coordination_port

    此外,每个使用协调的服务都定义了以下变量

    • <service>_coordination_enable

    • <service>_coordination_url

  • 现在可以在 Galera 安装过程中通过定义 ‘galera_additional_users’ 列表来设置其他用户指定的用户名和密码对。

  • 添加了变量 haproxy_bind_external_lb_vip_interfacehaproxy_bind_internal_lb_vip_interface,允许部署者仅将 haproxy 绑定到特定的接口。

  • 添加了变量 haproxy_tls_vip_binds,允许完全覆盖 haproxy 绑定,这些绑定由角色生成,如果某些假设对于某些场景无效。

  • 已添加新变量来管理使用的缓存后端

    • openstack_cache_backend:定义将用于缓存的驱动程序。默认值:oslo_cache.memcache_pool

    • openstack_cache_backend_map:将选定的后端映射到应为其安装和配置的 oslo 驱动程序。

  • 添加了变量 ceph_cluster_name,允许 ceph_client 角色与具有非默认集群名称的集群一起工作。它默认为 ceph

  • 可以定义一个新的变量 haproxy_stick_table,以将自定义的 stick-table 应用到负载均衡器上的所有后端。此外,可以将 haproxy_stick_table 设置在每个服务定义中,以便为特定的后端提供自定义的 stick-table。

  • 添加了变量 openstack_host_custom_hosts_records,允许部署者向 /etc/hosts 文件添加自定义记录。它的结构是一个简单的列表,其中每个元素都是应放置到 /etc/hosts 的字符串。

  • os_ironic ansible 角色现在可以将 ironic 部署镜像上传到 glance。定义了几个新的变量 ironic_deploy_image_*,用于控制此操作。可以禁用上传到 glance,也可以指定自定义位置来暂存镜像(如果需要)。

  • 添加了与 haproxy_<service>_overrides 变量(例如:haproxy_cloudkitty_api_service)合并,可用于 haproxy 服务配置的部分覆盖。

  • Horizon 现在可以直接从 uWSGI 运行。为了支持此功能,添加了新的布尔变量 horizon_use_uwsgi。当将新变量设置为 true 时,将省略 apache2 安装过程,而是从 systemd 服务文件利用 uWSGI 进程运行 horizon。

  • 添加了 keepalived_instances_overrides 变量,允许传递 keepalived_instances 的自定义选项。

  • keystone 角色现在支持选项 keystone_use_uwsgi,这将允许部署者通过 uWSGI 运行 keystone,而无需 apache Web 服务器。当启用 keystone_use_uwsgi 选项时,将在端口 5000 上设置 uWSGI 进程。

  • lxc_hosts 角色现在支持省略 lxc 网络接口部署。选项 lxc_net_managed 是一个布尔运算符,默认值为 true。当此选项设置为 false 时,该角色将不会部署接口文件或尝试管理接口的状态。

  • 添加了 mistral_api_use_uwsgi,允许在没有 uWSGI 的情况下运行 mistral-api 服务(默认设置为 true)。

  • 添加了一个新的变量 nova_ironic_console_type,以启用 ironic_console ansible 组中一个 nova 控制代理的部署。目前唯一支持的设置是 disabledserialconsole

  • 在添加 zookeeper 作为协调后端后,Octavia 将配置为默认使用 amphorav2 作为提供程序驱动程序。这将导致创建新的数据库和 jobboard 配置。可以使用变量 octavia_galera_persistence_database 来控制数据库名称,并且现有的 octavia db 用户将获得对该数据库的所有权限。

  • 添加了一个新的参数 octavia_provider_network_mtu,默认将 MTU 设置为 1500。 这对于允许巨型帧同时将管理网络设置为标准以太网 MTU 的部署非常重要。 MTU 可以在初始 octavia 部署期间或使用 openstack network set –mtu 命令行随时更改。

  • OVN 现在通过 SSL 进行保护。可以通过 neutron_ovn_ssl 禁用它。不支持从非 SSL 切换到 SSL。

  • 实现了变量 rally_openstack_git_reporally_openstack_git_install_branch,允许覆盖 rally-openstack 包的安装源以及控制包的安装版本。

  • 添加了参数 galera_mariadb_backups_full_randomized_delay_secgalera_mariadb_backups_incremental_randomized_delay_sec,以使用随机延迟运行 mariabackup 的 systemd 定时器。如果对多个节点进行备份,这对于避免在完全相同的时间运行备份很有用。

  • 支持 Rocky Linux 9 作为部署和目标主机

  • 现在可以定义 execstartpresexecstopposts 键用于 systemd_services 结构。它们将允许定义服务启动前和停止后的可执行文件,并且必须定义为列表。

  • 添加了从用户文件获取环境变量的可能性,该文件将优先于在 openstack-ansible.rc 之后加载的所有环境变量,并优先于那里定义的所有变量。默认情况下,用户文件的路径是 /etc/openstack_deploy/user.rc

  • 默认 ansible-core 版本已切换到 2.13 系列

  • ceph-ansible 版本已切换到 v7 系列

  • 默认 ceph 版本已切换到 Quincy

已知问题

  • 截至今天,ceph 社区存储库 (download.ceph.com) 不为 Ubuntu 22.04 (Jammy) 提供软件包。基于此,OpenStack-Ansible 从发行版提供的存储库安装 ceph 软件包。因此,您无法控制将安装的软件包版本,并且应将 ceph 支持视为实验性的。

升级说明

  • 如果使用 cinder 的 active/active 模式(即使用 Ceph 后端),强烈建议在升级之前定义 coordination_hosts,以部署 zookeeper 协调集群,这对于 cinder active/active 模式的正常工作是必需的。

  • 以前默认将 stick-table 应用于所有后端,但没有特定目的。现在已删除此操作,应使用变量 haproxy_stick_table 提供配置行列表,以应用于每个后端以控制 stick-table 功能。

  • 变量 ironic_inspector_ipa_initrd_name 和 ironic_inspector_ipa_initrd_name 已从 os_ironic 角色中删除,并且更灵活的功能现在通过 ironic_deplo_image_* 变量提供。查看您对 ironic 服务的任何覆盖,并根据需要调整这些新变量。

  • 随着 mistral_api_use_uwsgicron_trigger.enabled 将默认设置为 false,禁用所有现有安装上的 Cron Triggers,如 建议

  • 添加了一个新的参数 octavia_provider_network_mtu,默认将 MTU 设置为 1500。 这对于允许巨型帧同时将管理网络设置为标准以太网 MTU 的部署非常重要。 MTU 可以在初始 octavia 部署期间或使用 openstack network set –mtu 命令行随时更改。

  • 随着将 ML2/LinuxBridge 驱动程序标记为上游 Neutron 项目中的“实验性”,OpenStack-Ansible 已将默认机制驱动程序切换到 ML2/OVN。为了升级任何依赖于默认值的现有部署,您必须确保定义以下变量,以确保与现有功能的同等性

    neutron_plugin_type: ml2.lxb
    neutron_ml2_drivers_type: "flat,vlan,vxlan,local"
    neutron_plugin_base:
      - router
      - metering
    

    未能定义任何这些变量将导致 playbook 失败和 neutron 错误配置。

    我们使用升级脚本涵盖了此步骤,该脚本将创建一个 user_neutron_migration.yml 文件,其中包含假定的默认值。

  • OVN 现在配置为启用 SSL,升级现有的 ovn 部署未经测试。在升级时,明智的做法是将 neutron_ovn_ssl 设置为 false,并在稍后阶段管理 ssl 配置。

  • 从 Yoga 版本开始,RabbitMQ 管理界面通过 HAProxy 默认使用 TLS。请注意,在使用 TLS 时,默认端口从 15672 切换到 15671。如果需要,可以通过调整 ‘rabbitmq_management_ssl’ 来禁用 TLS。

  • 由于 Yoga 版本 service 角色被分配给所有服务用户。但是,service_token_roles_required 设置为 False 以进行升级目的。现在 service_token_roles_required 默认设置为 True。如果您仍然想保留旧行为,可以在 user_variables 中定义 openstack_service_token_roles_required: False

弃用说明

  • Ironic 已弃用 pxe_append_params 配置选项,并将其替换为 kernel_append_params。相应的配置覆盖 ironic_pxe_append_params 已替换为 ironic_kernel_append_params,但在未来的某个未定版本中仍将受支持。

  • 变量 nova_memcached_servers 已弃用,并替换为 nova_cache_servers,后者默认设置为 memcached_servers。为了保持向后兼容性,nova_memcached_servers 仍然受到尊重,但将在未来的版本中删除。

  • 角色 rsyslog_clientrsyslog_server 已弃用并从 OpenStack-Ansible 中删除。由于 Train 服务配置为将日志保存到 journald 而不是常规日志文件。来自容器的 journald 传递到主机,因此您可以读取和操作主机上的日志。Journald 可以通过许多工具进行转换和收集,包括 rsyslog。同时,rsyslog 并非理想选择,因为它以纯文本形式存储数据,这很难进行索引和搜索,而 journald 具有结构化,因此可以使用其他工具更有效地使用日志。

错误修复

  • 已修复为多架构和多发行版设置构建 wheels 的问题。为此,您仍然需要一组 venv_build_targets,它将为每个操作系统和架构定义目标。

  • 变量 haproxy_fallhaproxy_rise 现在再次受到尊重,并将用于定义 haproxy 将后端标记为 UP 或 DOWN 之前的检查次数。服务定义中设置的键 backend_risehaproxy_fall 仍然受到尊重,并且将优先于全局键。

  • Mistral Cron Triggers 不会在 mistral-api 服务在 uWSGI 中运行时创建 Workflow Executions,因此我们引入了 mistral_api_use_uwsgi,它将 Cron Trigger 服务状态与 Mistral API 执行环境绑定。

其他说明

  • 文件 /etc/openstack_deploy/openstack_hostnames_ips.yml 不再使用,可以从您的部署配置中安全地删除。

  • external_lb_vip_address 已添加到 glance_cors_allowed_origin 的默认值,无论其他变量如何。

  • glance_show_multiple_locations 的默认值已更改为 False,无论其他变量如何。

  • 当启用选项 horizon_use_uwsgi 时,操作员需要注意,并非所有 Horizon 功能都会存在。 最小的 uWSGI 进程就是字面意义上的“最小”,并非完整功能。 如果部署需要完整功能,则应继续启用基于 Apache 的部署。

  • 当设置选项 keystone_use_uwsgitrue 时,Keystone 角色现在可以运行 Keystone 的最小 uWSGI 进程。 此功能为操作员提供了在没有 Apache 的情况下运行最小化安装的能力。 虽然最小化部署是可用的,但它并非功能齐全。 在运行最小化配置时,modshib 和 oath 等功能不受支持。

  • 实现了 tempest_extra_plugins 变量,该变量允许定义额外的 tempest 插件,而无需覆盖整个 tempest_plugins 列表。