3.10. Red Hat OpenStack Platform 16.1.9 维护发行版本 - 2022 年 12 月 7 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.10.1. 公告列表

此发行版本包括以下公告:

RHEA-2022:8858
Red Hat OpenStack Platform 16.1.9 director 镜像
RHBA-2022:8795
Red Hat OpenStack Platform 16.1.9 程序错误修复和安全更新
RHEA-2022:8859
Red Hat OpenStack Platform 16.1.9 director 镜像 RPM
RHSA-2022:8860
中度:Red Hat OpenStack Platform 16.1.9 (protobuf)安全更新
RHSA-2022:8861
中度:Red Hat OpenStack Platform 16.1.9 (numpy)安全更新
RHSA-2022:8862
中度:Red Hat OpenStack Platform 16.1.9 (puppet)安全更新
RHSA-2022:8863
中度:Red Hat OpenStack Platform 16.1.9 (python-paramiko)安全更新
RHSA-2022:8864
中度:Red Hat OpenStack Platform 16.1.9 (python-ujson)安全更新
RHSA-2022:8865
中度:Red Hat OpenStack Platform 16.1.9 (python-XStatic-Bootstrap-SCSS)安全更新
RHSA-2022:8866
中度:Red Hat OpenStack Platform 16.1.9 (python-XStatic-Angular)安全更新
RHSA-2022:8867
低:Red Hat OpenStack Platform 16.1.9 (rabbitmq-server)安全更新
RHSA-2022:8868
中度:Red Hat OpenStack Platform 16.1.9 (python-scciclient)安全更新
RHSA-2022:8869
中度:Red Hat OpenStack Platform 16.1.9 (puppet-firewall)安全更新
RHSA-2022:8870
中度:Red Hat OpenStack Platform 16.1.9 (openstack-neutron)安全更新
RHBA-2022:8871
更新了 Red Hat OpenStack Platform 16.1.9 容器镜像
RHSA-2022:8872
重要:Red Hat OpenStack Platform 16.1.9 (python-django20)安全更新
RHSA-2022:8873
中度:Red Hat OpenStack Platform 16.1.9 (python-oslo-utils)安全更新
RHSA-2022:8796
中度:Red Hat OpenStack Platform 16.1.9 (openstack-tripleo-heat-templates)安全更新
RHSA-2022:8874
中度:Red Hat OpenStack Platform 16.1.9 (openstack-barbican)安全更新

3.10.2. 错误修复

此 Red Hat OpenStack Platform 发行版本中修复了以下错误:

BZ#1802263
在此次更新之前,如果您为当前存在的备份 ID 导入备份记录,导入操作将正确失败,但现有备份记录会错误地删除。在这个版本中,在这种情况下不会删除现有的备份记录。
BZ#1951485
在此次更新之前,当关联的卷移动时,NetApp ONTAP Block Storage (cinder)驱动程序 QoS 策略组会被删除。在这个版本中,QoS 策略组永久与代表卷的 LUN 或文件关联。
BZ#1961162
在此次更新之前,在负载均衡管理网络中配置了不存在的网关地址。这会导致负载均衡管理网络上的地址解析协议(ARP)请求。
BZ#1968228
在此次更新之前,共享文件系统服务(manila)用来在 NetApp ONTAP All Flash Fabric-Attached (AFF)存储系统上置备存储的 API 会导致精简置备。API 不会强制实施空间保证,即使通过共享文件系统服务共享类型请求也是如此。在这个版本中,驱动程序为 NetApp ONTAP 9 API 设置适当的参数,以用于 AFF 存储和传统的 FAS 存储系统。API 通过共享文件系统服务共享类型强制对 NetApp ONTAP 存储进行空间保证。
BZ#1977322
在此次更新之前,当 Compute 服务(nova)请求块存储服务(cinder)来分离卷并且有删除卷的外部请求时,会发生竞争条件。竞争条件会导致卷无法分离,卷被删除,计算服务无法删除不存在的卷。在这个版本中,竞争条件已解决。
BZ#1996088
在此次更新之前,当用户有超过 1,000 个负载均衡器时,python-octaviaclient 不会显示负载均衡器的完整列表。在这个版本中,OpenStack 负载均衡服务(Octavia)会显示所有负载均衡器。
BZ#1996756
在此次更新之前,在 Load Balancer 配置更改过程中,ERROR 操作状态的成员可能会被简单更新为 ONLINE。在这个版本中,这个问题已被解决。
BZ#2026029
在此次更新之前,Key Manager 服务(barbican)中的 secret:delete 策略只允许具有 Creator 角色的用户在创建 secret 的同一用户时删除 secret。由于策略中不匹配,这个限制会影响加密的工作流,例如块存储服务(cinder)允许用户在项目中分配角色来删除加密的卷。但是,Key Manager 服务会以授权错误响应,因为并非所有用户都被允许删除 secret。在这个版本中,Key Manager 服务中的 secret:delete 策略已被修改,允许具有 Creator 角色的用户删除属于项目的任何 secret,而不只是他们所创建的 secret。允许删除块存储服务加密卷的所有用户都允许删除关联的 secret。
BZ#2027544
在此次更新之前,如果在使用会话身份验证时,使用 Redfish 硬件类型在 ironic-conductor 服务和远程基板管理控制器(BMC)之间出现重复的连接问题,则连接的间歇性丢失可能会因为内存中凭证过期而重试身份验证。如果发生这种冲突,则会丢失总体连接,因为内部会话缓存内置于 openstack-ironic-conductor 服务中。在这个版本中,当将这个错误添加到 Python DMTF Redfish 库、sushy 和 openstack-ironic 服务时,支持检测和重新协商。在重启 openstack-ironic-conductor 服务前,与会话凭证重新进行身份验证的连接失败不再会导致完全丢失与 BMC 的通信。
BZ#2033953
在此次更新之前,machine-config-operator 将 afterburn systemd 单元传递给根据通过计算服务(nova)元数据服务传递的用户数据设置主机名的新机器。在某些情况下,如裸机,实例没有连接到计算服务元数据。在这个版本中,afterburn systemd 单元会尝试首先从配置drive 获取数据,然后回退到计算服务元数据服务。设置实例的主机名,无论计算服务元数据服务的可访问性如何。
BZ#2034095
在此次更新之前,在部署过程中不会进行 NTP 验证。有些用户报告云身份验证失败的问题,并显示无效令牌,因为节点间没有同步时间。在这个版本中,部署过程中的 NTP 同步验证已被重新启用。主机必须能够连接到定义的 NTP 服务器列表。如果您之前使用无效或无法访问的 NTP 服务器执行部署,则验证 NTP 后部署可能会失败。在更新前,请确保您具有有效且可访问的 NTP 服务器。
BZ#2040697
在此次更新之前,当出现错误时,负载均衡器的置备状态会被设置为 ERROR 太早,在执行这些资源的任务前,使负载均衡器无法处理。在这个版本中,这个问题已被解决。
BZ#2057604
在此次更新之前,负载均衡服务(octavia)会在部署或更新过程中多次重启。在这个版本中,服务只有在需要时才重启,从而导致 control plane 潜在的中断。
BZ#2063031
在此次更新之前,systemd 在关闭过程中停止负载均衡服务(octavia),保留 PENDING_UPDATE 状态的资源。在这个版本中,负载均衡服务的安全关闭持续时间会增加,防止 systemd 停止服务。
BZ#2064709
当在带有虚拟 IP (VIP)和成员的租户网络中创建负载均衡器时,租户网络连接到连接到提供商网络的路由器,Open Virtual Network (OVN)负载均衡器与 OVN 逻辑路由器相关联。如果将 'router' 选项用于 nat-addresses,ovn-controller 会在提供商网络上为该 VIP 发送 GARP 数据包。由于 OpenStack 中没有防止不同的租户创建具有相同无类别域间路由(CIDR)编号的子网,并且具有相同 VIP 的负载均衡器,因此可能有多个 ovn-controllers 为同一 IP 在提供商网络上生成 GARP 数据包,各自具有属于每个租户的逻辑路由器端口的 MAC。此设置可能是物理网络基础架构的问题。在这个版本中,在路由器网关端口的 OVN[1] 中添加了一个新的选项(exclude-lb-vips-from-garp)。此标志可确保没有为负载均衡器 VIP 发送 GARP 数据包。
BZ#2078377
在此次更新之前,在 active-standby 模式中无法访问 UDP-only 负载均衡器的虚拟 IP (VIP)地址。在这个版本中,这个问题已被解决。
BZ#2089382
在此次更新之前,目标主机上 libvirt 驱动程序的块设备映射更新在实时迁移过程中不会被保留。使用特定的存储后端或配置,例如,在使用 n[workarounds]/rbd_volume_local_attach=True 配置选项时,卷附加的某些操作(例如分离)在实时迁移无法正常工作后。在这个版本中,计算服务(nova)可以正确地保留目标主机上 libvirt 驱动程序完成的任何块设备映射更新。实时迁移后,对受影响的卷(如分离)的操作会成功。
BZ#2096387
在此次更新之前,SELinux 问题会在负载均衡服务(octavia) amphora 驱动程序中使用 ICMP 监控时触发错误。在这个版本中,SELinux 问题已被修复。
BZ#2100879
在此次更新之前,对 dead_retry 和 socket_timeout 的 dogpile.cache 支持没有为 memcached 后端实施。oslo.cache 机制使用 dead_retry 和 socket_timeout 的值填充参数字典,但 dogpile.cache 忽略了值,因此使用 30s 作为 dead_retry 的默认值,3s 作为 socket_timeout 的默认值。当使用 dogpile.cache.memcached 作为 Identity 服务(keystone)上的缓存后端,然后关闭其中一个 memcached 实例时,memcache 服务器对象将其 deaduntil 值设置为 30 秒。当一个请求发送到配置了两个 memcached 服务器的 API 服务器时,其中一个不可路由,它大约需要 15 秒才能尝试它所创建的每个线程中的每个服务器,每次遇到了三秒的套接字超时限制时,它大约需要 15 秒时间。用户发出另一个请求时,达到 deaduntil 值,并重复整个周期。在这个版本中,dogpile.cache 使用由 oslo.cache 传递的 dead_retry 和 socket_timeout 参数。
BZ#2103971
在此次更新之前,ceilometer-agent-compute 容器无法读取 /var/run/libvirt 目录,因为 ceilometer-agent-compute 容器中存在不正确的卷挂载到 /var/run/libvirt,从而导致无法在 Compute 节点上轮询 CPU 指标。在这个版本中,适当的全局权限应用到 /var/run/libvirt 目录,您可以使用 Compute 节点上的 ceilometer-agent-compute 容器轮询 CPU 遥测。CPU 遥测数据可通过计算服务(nova)提供。
BZ#2122925
在此次更新之前,可以添加没有声明他们所属的子网的成员,但它们应该与虚拟 IP (VIP)端口位于同一个子网中。如果成员的子网与 VIP 子网不同,则会创建成员但错误配置,因为没有与它们的连接。在这个版本中,只有在成员的 IP 属于 VIP 子网的无类别域间路由(CIDR)号时,才会接受没有子网的成员,因为与用于获取没有它的成员的子网相关子网。如果 IP 不属于 VIP 子网 CIDR,则没有子网的成员创建将被拒绝。
BZ#2123225
在此次更新之前,对于任何类型的数据包在 Amphora 虚拟机中启用 Conntrack,但只有用户数据报协议(UDP)和流控制传输协议(SCTP)才需要它。在这个版本中,对传输控制协议(TCP)流禁用 Conntrack,当用户生成大量填充 Conntrack 表的连接时,防止一些性能问题。
BZ#2125824

RHOSP 16.1.9 中的这个更新修正了一个程序错误,这会导致 Networking 服务(neutron)在升级到 RHOSP 16.1.8 后无法启动,并在升级到 RHOSP 16.1.8 后导致 OVN 数据库不稳定。

不是升级到 RHOSP 16.1.8,而是直接更新至 RHOSP 16.1.9。

BZ#2129310

在此次更新之前,do_sync_check 操作可能会导致从卷中删除非临时快照不正确,因为 do_sync_check 操作过程中没有检查非临时快照删除。在这个版本中,有一个检查来确定快照是否必须被删除。do_sync_check 操作不执行不必要的非临时快照删除。

在此次更新之前,在检查存储组是父存储组的子时,条件中有一个不匹配的情况。 在修改存储组时,错误表示父存储组已包含子存储组。在这个版本中,条件中使用的模式不区分大小写,您可以成功修改存储组。

BZ#2130078
在此次更新之前,libvirt 服务在 ceilometer-agent-compute 服务后启动,ceilometer-agent-compute 服务与 libvirt 通信,从而导致缺少 libvirt 指标。在这个版本中,ceilometer-agent-compute 服务会在 libvirt 服务后启动,并可以在不"Permission denied"错误的情况下轮询 libvirt 指标。
BZ#2130849

在此次更新之前,Telemetry 服务(ceilometer)用户没有足够的特权从对象存储服务(swift)轮询对象。Object Storage 服务客户端不允许 Telemetry 服务用户获取对象详情。在这个版本中,Telemetry 服务用户与 ResellerAdmin 角色关联。

执行以下命令手动解决这个问题:

$ openstack role add --user ceilometer --project service ResellerAdmin

关联的 Telemetry 服务用户可以成功轮询对象存储服务对象指标。

BZ#2138184
RHSA-2022:6969 引入了清理 undercloud 中 /var/lib/mistral 目录中的文件的过程,但在启用负载均衡服务(octavia)或 Red Hat Ceph Storage 时,清理过程会持续失败,因为这些服务创建了额外的目录,清理过程无法正确删除。如果启用了负载平衡服务或 Ceph Storage,则一些部署操作(如扩展)会持续失败。在这个版本中,Mistral 不再执行清理。如果要强制实施 /var/lib/mistral 目录中文件的权限,用户必须手动删除文件。因为权限错误,部署操作不再会失败。

3.10.3. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1917356

在这个版本中,当将 CephFS-NFS 后端与共享文件系统服务(manila)搭配使用时,director 支持为 NVSv4 ID 映射指定覆盖。带有共享文件系统服务的 Ceph-NFS 仅允许客户端通过 NFSv4.1+ 访问。使用 NFSv4.1 时,用户名和组名称会通过有线发送,并由服务器和客户端转换。部署者可能希望自定义其域设置,以更好地代表可以从多个客户端访问共享文件系统服务共享的机构用户。director 支持通过这些参数自定义 NFS ID 映射设置:

  • ManilaCephFSNFSIdmapOverrides :允许使用 NFS 服务使用的默认 idmapd.conf 文件指定用于覆盖的配置对象
  • ManilaCephFSNFSIdmapConf: 允许为 NFS 服务指定自定义 idmapd.conf 文件
BZ#1945334
在这个版本中,Rsyslog 环境配置支持一组 Elasticsearch 目标。在以前的版本中,您只能指定一个目标。现在,您可以将多个 Elasticsearch 目标指定为要发送日志的端点列表。
BZ#1982268
在这个版本中,负载均衡服务(octavia)管理网络的 port_security 参数现已启用。
BZ#2022040
在这个版本中,您可以将带有 iptables_hybrid 防火墙驱动程序的 ML2/OVS 部署迁移到 ML2/OVN。
BZ#2070629
在这个版本中,如果启用了 uplink_status_propagation 扩展,在扩展启用将虚拟功能(VF)链接状态设置为"auto"前创建的所有单一根 I/O 虚拟化(SR-IOV)端口。在此次更新之前,SR-IOV 端口会将链接状态设置为启用或禁用。

3.10.4. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1574431
目前,配额命令无法在块存储服务 (cinder) 中按预期工作。Block Storage CLI 不会验证您指定的项目 ID 是否有效。因此,您可以使用 Block Storage CLI 创建带有无效项目 ID 的配额条目。这些配额条目是包含无效数据的 dummy 记录。解决这个问题前,如果是 CLI 用户,您必须在创建配额条目时指定有效的项目 ID,并监控块存储是否存在虚拟记录。
BZ#2001012

您可以使用基于角色的访问控制(RBAC)在项目间共享安全组。但是,在启动实例时,您无法使用 --security-group 参数分配 RBAC 共享安全组。如果您尝试使用 openstack server create 命令中的 --security-group 参数 分配 RBAC-shared 安全组,则计算服务(nova)找不到安全组,且无法创建实例。这是因为计算服务没有检查通过 RBAC 共享的安全组。它仅检查您在其中创建实例的项目中是否存在使用 --security-group 参数指定的安全组。

临时解决方案:创建一个端口并将安全组分配给端口。使用 openstack server create 命令中的 --nic 参数指定端口。Compute 服务不会在网络服务(neutron)中创建端口,因此它不会检查安全组。

例如:

   $ openstack port create --network net1 \
     --security-group \
     5ba835b7-22b0-4be6-bdbe-e0722d1b5f24 shared-sg-port

   $ openstack server create \
     --image cirros-0.5.1-x86_64-disk  \
     --flavor m1.tiny \
     --port shared-sg-port vm-with-shared-sg
BZ#2076884

目前,当实时迁移与目标主机 CPU 不兼容的 CPU 实例时,存在一个已知问题。作为临时解决方案,您可以在迁移实例前跳过目标主机上的 Compute 服务 CPU 比较检查,因为 libvirt (QEMU >= 2.9 和 libvirt >= 4.4.0)在实时迁移过程中可以正确地处理目标主机上的 CPU 兼容性检查。

临时解决方案:在执行实例实时迁移前,在每个受影响的 Compute 节点的 nova.conf 文件中添加以下配置:

[workarounds]
skip_cpu_compare_on_dest = True

3.10.5. 删除的功能

BZ#2101949
在 Red Hat OpenStack Platform (RHOSP) 16.1.9 中,collectd 进程插件已从默认插件列表中删除。加载插件可能会导致大量问题,并在容器化环境中运行时不提供值,因为它只识别 collectd 和 sensubility 进程,而不是预期的系统进程。程序错误修复和支持将在 16.1.9 生命周期结束时提供,但不会进行新的功能增强。