4.7. RHBA-2021:3762 - Red Hat OpenStack Platform 16.1.7 正式发布公告

本节中所包括的错误已在 RHSA-2021:3762 公告中解决。有关此公告的详情,请参考 :https://access.redhat.com/errata/RHBA-2021:3762.html。

对 diskimage-builder 组件的更改:

  • 在此次更新之前,appstreambaseos 软件仓库总是添加到 Red Hat Subscription Manager 启用的软件仓库中,而无需覆盖它们。在这个版本中,当您定义 $REG_REPOS 变量时,不会添加基本软件仓库。您可以控制添加哪些软件仓库,但现在必须包括所有软件仓库,包括 baseosappstream 的对等存储库。(BZ#1906162)

对 openstack-cinder 组件的更改:

  • 在此次更新之前,从加密卷快照创建卷可能会导致卷不可用。当目标卷的大小与源卷相同时,从加密卷的快照中创建一个加密卷会截断新卷中的数据,从而导致大小差异。

    在这个版本中,加密标头的 RBD 后端帐户不会截断数据,以便从加密卷快照创建卷,不会造成错误。(BZ#1987104)

  • 在以前的版本中,在使用 Dell EMC XtremIO 驱动程序的 Red Hat OpenStack Platform (RHOSP)部署中,如果 iSCSI 或 FC 目标没有连接到 RHOSP 主机,则附加卷操作会等待超时。这会导致附加卷操作失败。

    此发行版本添加了对 Dell EMC XtremIO 驱动程序的端口过滤支持,以允许忽略不使用的 iSCSI 或 FC 端口。(BZ#1930255)

  • 在以前的版本中,如果为多个目的配置了 Dell EMC PowerStore 端口,如 iSCSI、复制不正确的 REST 过滤会导致 cinder 驱动程序报告找不到可访问的 iSCSI 目标。

    此发行版本修复了 Dell EMC PowerStore REST 过滤器功能。(BZ#1945306)

  • 在此次更新之前,当用户要删除 DEFAULT 卷类型时会出现一个故障。

    在这个版本中,当 DEFAULT 卷类型没有设置为 cinder.conf 文件中的 default_volume_type 参数的值时,您可以删除它。default_volume_type 参数的默认值为 DEFAULT,因此您必须将其设置为适当的卷类型,如 'tripleo',以便您可以删除 DEFAULT 卷类型。(BZ#1947415)

对 openstack-manila-ui 组件的更改:

  • 在此次更新之前,共享文件系统服务 (manila) 控制面板具有动态表单元素,它们的名称可能会导致表单变得无响应。这意味着在共享网络中创建共享组、共享网络和共享无法正常工作。

    在这个版本中,名称可能有问题的动态元素会被编码。在共享网络功能内创建共享组、共享网络和共享通常会正常工作。(BZ#1938212)

对 openstack-neutron 组件的更改:

  • 检测 hypervisor 主机名的逻辑已被修复,现在返回与计算服务(nova)中的 libvirt 驱动程序一致的结果。在这个版本中,在使用保证的最小带宽 QoS 功能时,不再需要指定 resource_provider_hypervisors 选项。

    有了这个更新,一个新的选项 resource_provider_default_hypervisor 已添加到 Modular Layer 2 中,用 Open Virtual Network 机制驱动程序(ML2/OVN)替换默认的 hypervisor 名称。如果必须由用户自定义,则选项会在 resource_provider_hypervisors 选项中找到根资源提供程序,但没有提供接口或桥接的完整列表。这个新选项位于 ovs-agent[ovs] ini-section 中,在 sriov-agent[sriov_nic] ini-section 中。(BZ#1900500)

对 openstack-octavia 组件的更改:

  • 在这个版本中,存在一个阻止 RHOSP 负载均衡服务(octavia)在具有多个失败的 amphorae 的负载均衡器失败的问题。(BZ#1974831)
  • 在此次更新之前,当配置更改为负载均衡服务 amphora 会导致 haproxy 重新加载时,进程会消耗大量内存,这可能会导致内存分配错误。这个问题是由 amphora 中的 amphora-haproxy 命名空间中的 lo 接口造成的。在这个版本中,命名空间问题已被修正,这个问题已解决。(BZ#1975790)

对 openstack-tripleo-heat-templates 组件的更改:

  • 在此次更新之前,将已使用 ML2-OVN 部署的 Red Hat OpenStack Platform (RHOSP) 13 环境升级到 RHOSP 16.1 会导致升级过程因为 SELinux 拒绝问题在 Controller 节点上失败。在这个版本中,正确的 SELinux 标签被应用于 OVN,并解决这个问题。如需更多信息,请参阅红帽知识库解决方案 OVN 在 OSP-13 → OSP-16.1 FFU 期间无法配置。(BZ#1997351)
  • 在此次更新之前,如果您的环境使用 TLS-Everywhere 架构部署,并使用已弃用的 authconfig 工具在系统中配置身份验证,则必须使用 authselect 工具配置 RHEL 8 系统。如果没有执行此操作,leapp 进程会在 回答文件中使用名为 Missing required answers 的禁止器失败。一个临时的解决方案是在升级环境文件中的 LeappInitCommand 中添加 sudo leapp answer --section authselect_check.confirm=True --add。在这个版本中,不再需要配置条目,升级可以在不干预的情况下完成。(BZ#1952574)
  • 在此次更新之前,Red Hat Enterprise Linux (RHEL)原位升级工具 LEAPP, stalled,因为它遇到了 RHEL 8 中不再提供的内核模块。另外,LEAPP 将 RHEL 升级到 Red Hat OpenStack Platform (RHOSP)不支持的版本。在这个版本中,您需要执行的手动配置来解决这个问题。(如需更多信息,请参阅 BZ1962365。(BZ#1962365)
  • 在这个版本中,collectd 容器的内存限值增加到 512 MB。超过此限制时,容器会重启。(BZ#1969895)
  • 在此次更新之前,为 Red Hat Enterprise Linux (RHEL)原位升级工具 LEAPP 删除 python2 软件包会失败。这个故障是由保留 LEAPP 软件包的 DNF exclude 选项造成的。在这个版本中,包括了自动化以确保成功删除必要的 LEAPP 软件包。(BZ#2008976)
  • 在此次更新之前,RHEL 存储库中的可升级 mariadb-server 软件包会导致软件包管理器升级主机上的 mariadb-server 软件包,这会影响到同一主机上的容器化 mariadb-server 软件包。在这个版本中,Red Hat OpenStack Platform (RHOSP) director 从具有容器化 MariaDB 的任何主机中删除 mariadb-server 软件包,RHOSP FFU 进程将继续。(BZ#2015325)
  • 此增强添加了新的 CinderRpcResponseTimeoutCinderApiWsgiTimeout 参数,以支持在块存储服务(cinder)中调整 RPC 和 API WSGI 超时。对于大型部署,默认超时值可能不足。如果因为系统负载,事务可能会延迟。

    现在,可以调整 RPC 和 API WSGI 超时,以防止超时事务。(BZ#1930806)

对 puppet-collectd 组件的更改:

  • 在以前的版本中,collectd 的 PluginInstanceFormat 参数只接受以下值之一: 'none'、'name'、'uuid' 或 'metadata'。在这个版本中,您可以为 PluginInstanceFormat 参数指定多个值,从而导致在 collectd 指标的 plugin_instance 标签中发送更多信息。(BZ#1956887)

对 python-networking-ovn 组件的更改:

  • 目前,存在一个已知问题:当端口的 MAC-IP 地址未知时,无法模拟某些现实场景。即使未配置 DHCP 或安全组,RHOSP 网络服务(neutron) 也会直接指定端口的 MAC-IP。

    临时解决方案:升级到 RHOSP 16.1.7 并安装 ML2/OVN v21.03。如果禁用 DHCP 和端口安全性,则端口的 address 字段不包含其 MAC-IP 地址对,ML2/OVN 可以使用 MAC 学习功能仅将流量发送到所需的端口。(BZ#1898198)

对 python-os-brick 组件的更改:

  • 在此次更新之前,连接到 iSCSI 门户期间会出现未处理的异常。例如,iscsiadm -m 会话 失败。这是因为 _connect_vol 线程可能会意外中止某些故障模式,这会在等待 _connct_vol 线程时造成后续步骤挂起。

    在这个版本中,连接到 iSCSI 门户期间的任何异常都会以 _connect_vol 方法正确处理,并避免任何意外的中止,而不更新线程结果。(BZ#1977792)

对 python-tripleoclient 组件的更改:

  • 在这个版本中,tripleo validator 命令接受键值对格式的变量和环境变量。在过去的版本中,只有 JSON 字典允许环境变量。

    openstack tripleo validator run \
    [--extra-vars key1=<val1>[,key2=val2 --extra-vars key3=<val3>] \
    | --extra-vars-file EXTRA_VARS_FILE] \
    [--extra-env-vars key1=<val1>[,key2=val2 --extra-env-vars key3=<val3>]]
    (--validation <validation_id>[,<validation_id>,...] | --group <group>[,<group>,...])

    Example

    $ openstack tripleo validator run --validation check-cpu,check-ram --extra-vars minimal_ram_gb=8 --extra-vars minimal_cpu_count=2

    如需支持的选项列表,请运行:

    $ openstack tripleo validator run --help

    (BZ#1959492)

  • 在此次更新之前,在 OpenStack 组件的 tripleo 验证过程中,会出现以下情况错误:

    Unhandled exception during validation run.

    发生此错误的原因是代码中的变量被引用,但不会分配。

    在这个版本中,这个问题已被解决,在没有这个错误的情况下运行验证。(BZ#1959866)

对 tripleo-ansible 组件的更改:

  • 在此次更新之前,RHOSP 负载均衡服务(octavia)的可选功能,日志卸载在部署期间没有正确配置。因此,负载均衡服务不会从 amphorae 接收日志。这个版本解决了这个问题。(BZ#1981652)
  • 在此次更新之前,对 KernelArgs 参数的更改会导致使用 Red Hat OpenStack Platform (RHOSP) 快速升级 (FFU) 从版本 13 升级到 版本 16 会导致错误:
  • 重复条目会出现在 /etc/default/grub 中。
  • 重复条目会出现在内核命令行中。
  • 在 RHOSP 升级过程中重启的节点。

    这些错误是在 KernelArgs 参数或字符串中的值顺序、更改或添加 KernelArgs 参数时造成的。

    在这个版本中,在 kernel-boot-params-baremetal-ansible.yaml 中添加了升级任务从 TRIPLEO_HEAT_TEMPLATE_KERNEL_ARGS 迁移到 GRUB_TRIPLEO_HEAT_TEMPLATE_KERNEL_ARGS

    这一变化是为了容纳 Red Hat Enterprise Linux (RHEL)原位升级工具 LEAPP,用于在 RHOSP 版本 13 期间将 RHEL 从版本 7 升级到 16 FFU 版本。只有在 /etc/default/grub 中以 GRUB_ 开头时,LEAPP 才理解 GRUB 参数。

    虽然此次更新,您必须手动检查每个 KernelArgs 值,以确保它与对应角色中的所有主机的值匹配。

    KernelArgs 值可能来自默认的 tripleo-heat-templates 或第三方 heat 模板的 PreNetworkConfig 实现。

    如果您找到任何不匹配,请更改对应角色中的 KernelArgs 参数的值,使其与主机上的 KernelArgs 的值匹配。在运行 openstack overcloud upgrade prepare 命令前执行这些检查。

    您可以使用以下脚本检查 KernelArgs 值:

    tripleo-ansible-inventory --static-yaml-inventory inventory.yaml
    KernelArgs='< KernelArgs_ FROM_THT >'
    ansible -i inventory.yaml ComputeSriov -m shell -b -a "cat /proc/cmdline | grep '${KernelArgs}'"

    (BZ#1980829)