第 4 章 技术备注

本章包括了对通过 Content Delivery Network 发布的 Red Hat OpenStack Platform "Train" 勘误公告内容的补充信息。

4.1. RHEA-2020:3148 RedHat OpenStack Platform 16.1 GA 公告

本节中所包括的错误已在 RHBA-2020:3148 公告中解决。有关此公告的详情请点击以下链接:https://access.redhat.com/errata/RHBA-2020:3148.html

对 ansible-role-atos-hsm 组件的更改:

  • 借助此项功能增强,您可以在 HA 模式下使用 ATOS HSM 部署。(BZ#1676989)

对 collectd 组件的更改:

对 openstack-cinder 组件的更改:

  • 借助此项功能增强,如果驱动程序支持,您可以将块存储 (cinder) 卷恢复到最新快照。此恢复卷的方法比从快照克隆和附加新卷效率更高。(BZ#1686001)
  • director 现在可以在主动/主动模式下部署块存储服务。这种部署场景只支持边缘用例。(BZ#1700402)
  • 此次更新包括以下功能增强:

    • 支持 VxFlex OS 驱动程序中的恢复为快照(revert-to-snapshot)
    • 支持 VxFlex OS 驱动程序中的卷迁移
    • 支持 VxFlex OS 驱动程序中的 OpenStack 卷复制 v2.1
    • 支持 VxFlex OS 驱动程序中的 VxFlex OS 3.5

对 openstack-designate 组件的更改:

  • DNS-as-a-Service(designate)在 Red Hat OpenStack Platform 16.1 中重新变为技术预览。(BZ#1603440)

对 openstack-glance 组件的更改:

  • 镜像服务 (glance) 现在支持使用 Ceph RBD 驱动程序的多存储。(BZ#1225775)
  • 在 Red Hat OpenStack Platform 16.1 中,您可以使用镜像服务 (glance) 通过单个命令将现有镜像数据复制到多个存储中。这无需操作员手动复制数据和更新镜像位置。(BZ#1758416)
  • 在 Red Hat OpenStack Platform 16.1 中,您可以使用镜像服务 (glance) 通过单个命令将现有镜像数据复制到多个存储中。这无需操作员手动复制数据和更新镜像位置。(BZ#1758420)
  • 借助此次更新,在使用镜像服务 (glance) 多存储时,镜像所有者可从特定存储中删除镜像副本。(BZ#1758424)

对 openstack-ironic 组件的更改:

  • 在 ipmitool-1.8.18-11 中引入了一个问题回归,它导致对于某些不支持“获取 Cipher Suites”的 BMC,IPMI 访问需要超过 2 分钟。因此,内省可能会失败,部署的时间可能比以前要长很多。

    借助此次更新,ipmitool 重试会以不同的方式处理,内省传递和部署会成功。

    注意

    ipmitool 中的这个问题在 ipmitool-1.8.18-17 中解决。(BZ#1831893)

对 openstack-ironic-python-agent 组件的更改:

  • 在此次更新之前,使用 ironic 中直接部署接口下载最终实例镜像时没有重试和超时。因此,如果托管镜像的服务器无法响应,部署可能会失败。

    借助此次更新,镜像下载过程会尝试两次重试,连接超时时间为 60 秒。(BZ#1827721)

对 openstack-neutron 组件的更改:

  • 在此次更新之前,无法使用无状态 IPv6 在 control plane 上的分布式 Compute 节点 (DCN) 或脊叶型配置中部署 overcloud。这种情况下的部署会在 ironic 节点服务器置备过程中失败。借助此次更新,您可以在 control plane 中使用无状态 IPv6 成功部署。(BZ#1803989)

对 openstack-tripleo-common 组件的更改:

  • 更新或升级 python3-tripleoclient 时,Ansible 不会接收更新或升级,Ansible 或 ceph-ansible 任务失败。

    更新或升级时,请确保 Ansible 也会收更新,以便 playbook 任务可以成功运行。(BZ#1852801)

  • 借助此次更新,Red Hat Ceph Storage 控制面板使用 Ceph 4.1 和基于 ceph4-rhel8 的 Grafana 容器。(BZ#1814166)
  • 在此次更新之前,在 Red Hat Ceph Storage (RHCS) 部署过程中,Red Hat OpenStack Platform (RHOSP) director 通过将所需的 FSID 传递给 ceph-ansible 生成 CephClusterFSID,并使用 Python uuid1() 函数。借助此次更新,director 使用 Python uuid4() 函数,它更随机地生成 UUID。(BZ#1784640)

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

  • 当从 16.0 更新到 16.1 时,编排服务 (heat) 中 TLS 的定义不完整,更新失败。

    要防止此失败,必须设置以下参数和值:InternalTLSCAFile: ''。(BZ#1840640)

  • 借助此项功能增强,您可以将 Red Hat OpenStack Platform 配置为使用已存在的外部 Ceph RadosGW 集群。您可以将此集群作为 OpenStack 客户端的对象存储从外部进行管理。(BZ#1440926)
  • 借助此项功能增强,您可以使用 director 通过多个镜像存储部署镜像服务 (glance)。例如,在分布式 Compute 节点 (DCN) 或边缘部署中,可以在每个站点存储镜像。(BZ#1598716)
  • 借助此项功能增强,从 HAProxy 负载均衡器流向 Red Hat Ceph Storage RadosGW 实例的 HTTP 流量会被加密。(BZ#1701416)
  • 借助此次更新,您可以使用新的 'tripleo-ipa' 方法通过 TLSe 部署预置备节点。(BZ#1740946)
  • 在此次更新之前,在使用 IPv6 内部 API 网络的部署中,块存储服务 (cinder) 和计算服务 (nova) 配置了格式不正确的 glance-api 端点 URI。因此,位于 DCN 或边缘部署中的 cinder 和 nova 服务无法访问镜像服务(glance)。

    借助此次更新,glance-api 端点 URI 中的 IPv6 地址正确无误,边缘站点的 cinder 和 nova 服务可以成功访问镜像服务。(BZ#1815928)

  • 借助此项功能增强,FreeIPA 具有用于 undercloud 和 overcloud 节点的 DNS 条目。为了生成特定类型的证书,特别是使用 etcd 的 cinder 主动/主动环境的证书,必需具有 DNS PTR 记录。您可以使用环境文件中的 IdMModifyDNS 参数禁用此功能。(BZ#1823932)
  • 在此 Red Hat OpenStack Platform 发行版本中,无法自定义 Red Hat Ceph Storage 集群管理员 keyring 密钥。相反,管理员 keyring 密钥在初始部署过程中随机生成。(BZ#1832405)
  • 在此次更新之前,删除相关网络后,已过时的 neutron-haproxy-qdhcp-* 容器会保留。借助此次更新,删除网络时会正确清理所有相关容器。(BZ#1832720)
  • 在此次更新之前,ExtraConfigPre per_node 脚本与 Python 3 不兼容。因此,overcloud 部署在步骤 TASK [Run deployment NodeSpecificDeployment] 中失败,显示消息 SyntaxError: invalid syntax

    借助此次更新,ExtraConfigPre per_node 脚本与 Python 3 兼容,可以置备 per_node hieradata。(BZ#1832920)

  • 借助此次更新,swift_rsync 容器以非特权模式运行。这使得 swift_rsync 容器更加安全。(BZ#1807841)
  • PowerMax 配置选项自 Newton 后有所变化。此次更新包括了最新的 PowerMax 配置选项,并支持 iSCSI 和 FC 驱动程序。

    CinderPowermaxBackend 参数还支持多个后端。CinderPowermaxBackendName 支持一系列后端,您可以使用新的 CinderPowermaxMultiConfig 参数为每个后端指定参数值。如需示例语法,请参阅 environments/cinder-dellemc-powermax-config.yaml。(BZ#1813393)

  • 支持 Xtremio Cinder 后端

    更新了 Xtremio cinder 后端来支持 iSCSI 和 FC 驱动程序。此外,还增强了其功能以支持多个后端。(BZ#1852082)

  • Red Hat OpenStack Platform 16.1 包括对 VXFlexOS 卷后端的 tripleo-heat-templates 支持。(BZ#1852084)
  • Red Hat OpenStack Platform 16.1 包括对 SC Cinder 后端的支持。SC Cinder 后端现在同时支持 iSCSI 和 FC 驱动程序,并可支持多个后端。您可以使用 CinderScBackendName 参数列出后端,以及 CinderScMultiConfig 参数为每个后端指定参数值。如需示例配置文件,请参阅 environments/cinder-dellemc-sc-config.yaml。(BZ#1852087)
  • PowerMax 配置选项自 Newton 后有所变化。此次更新包括了最新的 PowerMax 配置选项,并支持 iSCSI 和 FC 驱动程序。

    CinderPowermaxBackend 参数还支持多个后端。CinderPowermaxBackendName 支持一系列后端,您可以使用新的 CinderPowermaxMultiConfig 参数为每个后端指定参数值。如需示例语法,请参阅 environments/cinder-dellemc-powermax-config.yaml。(BZ#1852088)

对 openstack-tripleo-validations 组件的更改:

  • 在此次更新之前,ceph osd stat -f json 命令返回的数据结构格式发生了改变。因此,除非特定百分比的 Red Hat Ceph Storage (RHCS) OSD 在运行,停止部署的验证无法正常工作,无论有多少 OSD 在运行都停止部署。

    借助此次更新,新版本的 openstack-tripleo-validations 会正确计算运行 RHCS OSD 的百分比,如果一定百分比的 RHCS OSD 没有运行,则部署会提前停止。您可以使用参数 CephOsdPercentageMin 自定义必须运行的 RHCS OSD 百分比。默认值为 66%。将此参数设置为 0 以禁用验证。(BZ#1845079)

对 puppet-cinder 组件的更改:

对 puppet-tripleo 组件的更改:

  • 在此次更新之前,etcd 服务没有正确配置为在容器中运行。因此,当服务试图创建 TLS 证书时会出现错误。借助此次更新,etcd 服务在容器中运行,并可创建 TLS 证书。(BZ#1804079)

对 python-cinderclient 组件的更改:

  • 在此次更新之前,在轮询过程中不会更新最新的卷属性,且显示屏幕上的卷数据不正确。借助此次更新,卷属性会在轮询过程中正确更新,且在显示屏幕上显示正确的卷数据。(BZ#1594033)

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

  • 由于有核心 OVN 错误,带有浮动 IP (FIP) 地址的虚拟机无法路由到启用分布式虚拟路由 (DVR) 的 ML2/OVN 部署中的其他网络。当从启用了 DVR 且具有浮动 IP 的虚拟机路由 SNAT IPv4 流量时,Core OVN 会设置错误的下一跳。OVN 不设置网关 IP,而是设置目标 IP。因此,路由器会为未知 IP 发送 ARP 请求,而不是将请求路由到网关。

    临时解决方案:在使用 ML2/OVN 部署新 overcloud 之前,请在环境文件中设置 NeutronEnableDVR: false 来禁用 DVR。如果您的现有部署中有 ML2/OVN,请完成以下步骤:

    1)在 neutron.conf 文件中将 enable_distributed_floating_ips 设置为“False”:

    (undercloud) [stack@undercloud-0 ~]$ ansible -i /usr/bin/tripleo-ansible-inventory -m shell -b -a "crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/ml2/ml2_conf.ini ovn enable_distributed_floating_ip False" Controller

    2)重启 neutron 服务器容器:

    (undercloud) [stack@undercloud-0 ~]$ ansible -i /usr/bin/tripleo-ansible-inventory -m shell -b -a "podman restart neutron_api" Controller

    3)通过网关节点集中所有 FIP 流量。在任何 overcloud 节点上运行以下命令:

    $ export NB=$(sudo ovs-vsctl get open . external_ids:ovn-remote | sed -e 's/\"//g' | sed -e 's/6642/6641/g') $ alias ovn-nbctl='sudo podman exec ovn_controller ovn-nbctl --db=$NB' $ for fip in $(ovn-nbctl --bare --columns _uuid find nat type=dnat_and_snat); do ovn-nbctl clear NAT $fip external_mac; done

    当 RHOSP 16.1.1 中提供了针对这个问题的修复时,可以重新启用分布式 FIP 流量:

    1)在 neutron.conf 文件中将 enable_distributed_floating_ips 重新设置为“True”:

    (undercloud) [stack@undercloud-0 ~]$ ansible -i /usr/bin/tripleo-ansible-inventory -m shell -b -a "crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/ml2/ml2_conf.ini ovn enable_distributed_floating_ip True" Controller

    2)重启 neutron 服务器容器:

    (undercloud) [stack@undercloud-0 ~]$ ansible -i /usr/bin/tripleo-ansible-inventory -m shell -b -a "podman restart neutron_api" Controller

    3)触发所有 FIP 中的更新。在任何 overcloud 节点上运行以下命令:

    $ export NB=$(sudo ovs-vsctl get open . external_ids:ovn-remote | sed -e 's/\"//g' | sed -e 's/6642/6641/g') $ alias ovn-nbctl='sudo podman exec ovn_controller ovn-nbctl --db=$NB' $ for i in $(ovn-nbctl --bare --columns logical_port find nat type=dnat_and_snat); do ovn-nbctl set logical_switch_port $i up=false; done

    注意

    禁用 DVR 会导致流量集中。所有 L3 流量流过 Controller/Networker 节点。这可能会影响缩放、data plane 性能和吞吐量。(BZ#1836963)

对 python-tripleoclient 组件的更改:

  • 借助此项功能增强,您可以使用 openstack overcloud deploy 命令中的 --limit--skip-tags--tags Ansible 选项。在您想要在特定节点(例如扩展操作期间)上运行部署时,这特别有用。(BZ#1767581)
  • 借助此项功能增强,openstack tripleo container image push 命令中有新的选项,您可以使用它们为源 registry 提供凭证。新选项为 --source-username--source-password

    在此次更新之前,在从需要身份验证的源 registry 中推送容器镜像时,无法提供凭证。相反,推送容器的唯一机制是手动拉取镜像和从本地系统推送。(BZ#1811490)

  • 借助此次更新,container_images_file 参数现在在 undercloud.conf 文件中是一个必需的选项。您必须在安装 undercloud 前设置此参数。

    随着最近转为使用 registry.redhat.io 作为容器源,您必须在获取容器时进行身份验证。对于 undercloud,建议使用 container_images_file 选项在进行安装时提供凭证。借助此次更新,如果未设置此参数,在尝试获取容器时,部署会失败并显示身份验证错误。(BZ#1819016)