4.5. RHBA-2021:0817 - Red Hat OpenStack Platform 16.1.4 director 程序错误修复更新
本节中所包括的错误已在 RHBA-2021:0817 公告中解决。有关此公告的详情,请参考 :https://access.redhat.com/errata/RHBA-2021:0817.html。
对 openstack-cinder 组件的更改:
- 在此次更新之前,当将 Block Storage (cinder)服务与 Key Manager (barbican)服务搭配使用时,克隆的加密卷无法访问。在这个版本中,在将块存储服务与 Key Manager 服务搭配使用时,克隆的加密卷现在可以访问。(BZ#1889228)
- 通过卷传输请求传递的"all_tenants"密钥已被删除,因为数据库无法解析它。删除此密钥可让用户使用传输名称显示特定卷传输的详细信息。在此次更新之前,"all_tenants"密钥只针对管理员用户被删除,这意味着非管理员用户无法使用传输名称显示卷传输。在这个版本中,非admins 也会删除 'all_tenants' 键,允许非管理员使用传输名称显示卷传输。(BZ#1847907)
- 在此次更新之前,块存储(cinder) NEC 后端驱动程序偶尔会在初始化卷连接时返回无效的数据,这可能会导致实时迁移失败。在这个版本中,NEC 驱动程序已被修复,以可靠地返回有效的连接数据。由于卷连接数据无效,实时迁移不再会失败。(BZ#1910854)
在此次更新之前,Block Storage (cinder)服务总是使用默认卷类型分配新创建的卷,即使卷是从另一个源(如镜像、快照或其他卷)创建的卷。这会导致从另一个源创建的卷与源的卷类型不同。
在这个版本中,只有在根据源的卷类型确定是否应该分配默认卷类型后,才会分配默认卷类型。从另一个源创建的卷类型现在与源的卷类型匹配。(BZ#1921735)
-
在此次更新之前,
当使用
选项会被忽略,这会导致返回所有主机的日志,而不是只是特定主机的日志。在这个版本中,使用cinder service-get-log
命令传递时,--server--server
选项可以正确地过滤指定主机的日志。(BZ#1728142)
对 openstack-tripleo-common 组件的更改:
virt-admin
工具现在可用于捕获报告 RHOSP 错误的日志。此工具可用于对所有 libvirt 和 QEMU 问题进行故障排除,因为日志提供 Compute 节点上的 libvirt 和 QEMU 之间的通信。您可以使用virt-admin
动态设置 libvirt 和 QEMU 调试日志过滤器,而无需重启nova_libvirt
容器。执行以下步骤在 Compute 节点上启用 libvirt 和 QEMU 日志过滤器:
登录到 Compute 节点上的
nova_libvirt
容器:$ sudo podman exec -it nova_libvirt /bin/bash
指定要将
virt-admin
输出发送到的日志文件的名称和位置:$ virt-admin daemon-log-outputs "1:file:/var/log/libvirt/libvirtd.log"
配置您要为其收集日志的过滤器:
$ virt-admin daemon-log-filters \ "1:libvirt 1:qemu 1:conf 1:security 3:event 3:json 3:file 3:object 1:util"
注意当进行实时迁移问题时,您必须在所有源和目标 Compute 节点上配置这些过滤器。
-
重复您的测试。调试完成后,将
libvirtd.log
上传到错误。 在 Compute 节点上禁用 libvirt 和 QEMU 日志过滤器:
$ virt-admin daemon-log-filters ""
要确认过滤器已被删除,请输入以下命令:
$ virt-admin daemon-log-filters
当您成功移除过滤器时,这个命令会返回一个空列表。
(BZ#1870199)
对 openstack-tripleo-heat-templates 组件的更改:
在此次更新之前,在 TLS 任何位置,从 Red Hat OpenStack Platform 13 原位升级到 16.1,对 novajoin 容器使用了不正确的 rabbitmq 密码。这会导致 undercloud 上的 novajoin 容器无法正常工作,这会导致运行升级的任何 overcloud 节点失败,并显示以下错误:
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/python3.6/site-packages/amqp/connection.py", line 639, in _on_close 2020-11-24 20:01:31.569 7 ERROR join (class_id, method_id), ConnectionError) 2020-11-24 20:01:31.569 7 ERROR join amqp.exceptions.AccessRefused: (0, 0): (403) ACCESS_REFUSED - Login was refused using authentication mechanism AMQPLAIN. For detail see the broker logfile.
在这个版本中,从 RHOSP 13 升级到 16.1 在任何地方使用正确的 rabbitmq 密码,以便升级的框架可以成功完成。(BZ#1901157)
- 借助此项功能增强,您可以在分布式计算节点(DCN)架构的边缘站点上部署 Red Hat Ceph Storage (RHCS)仪表板。(BZ#1793595)
借助此项功能增强,您可以使用两个新参数
NovaPMEMMappings
和NovaPMEMNamespaces
来管理 vPMEM。-
使用
NovaPMEMMappings
设置 nova 配置选项pmem_namespaces
,它反映了 vPMEM 和物理 PMEM 命名空间之间的映射。 -
使用
NovaPMEMNamespaces
创建和管理用作 vPMEM 后端的物理 PMEM 命名空间。(BZ#1834185)
-
使用
目前,在确保订阅的环境设置了正确的 DNF 模块流的机制时存在一个已知问题。Ceph 节点使用的订阅中并不总是提供高级虚拟化存储库,这会导致在尝试启用 virt:8.2 时 Ceph 节点的升级或更新失败。
临时解决方案:
覆盖升级或更新环境文件中的
DnfStreams
参数,以防止 Ceph 升级失败:parameter_defaults: ... DnfStreams: [{'module':'container-tools', 'stream':'2.0'}]
注意使用这个临时解决方案时,不会强制 Advanced Virtualization DNF 流。
如需更多信息,请参阅 https://bugzilla.redhat.com/show_bug.cgi?id=1923887。(BZ#1866479)
- 此功能增强添加了对边缘的异构存储配置的支持。现在,Operator 可以使用存储和站点部署边缘站点,而无需在同一 DCN 部署中存储。(BZ#1882058)
-
块存储备份服务有时需要访问主机上运行该服务的容器中没有可用的主机上的文件。此功能增强添加了
CinderBackupOptVolumes
参数,您可以使用它来为块存储备份服务指定额外的容器卷挂载。(BZ#1891828) - 在此次更新之前,预置备节点上的 TLS-E 失败并显示消息:"--server 在没有提供 --domain" 的情况下无法使用。在这个版本中,首先通过 DNS 解析 "ipa-ca" 会检测到 IDM 域名,然后对生成的 IP 地址执行反向 DNS 查找。可能需要添加 PTR 记录(用于反向查找)需要手动进行。(BZ#1874936)
-
在此次更新之前,您需要使用
openstack overcloud external-upgrade run --tags online_upgrade
命令在从 RHOSP 15 升级到 RHOSP 16.1 时执行在线数据库更新。在这个版本中,您可以使用openstack overcloud external-update run --tags online_upgrade
命令。(BZ#1884556) 在此次更新之前,如果您启用了
NovaComputeEnableKsm
,且您使用红帽订阅管理来注册 overcloud Compute 节点,qemu-kvm-common
软件包将无法安装。这是因为在 Compute 节点注册到所需的存储库之前,有时会应用配置。在这个版本中,只有在 Compute 节点使用 Red Hat Subscription Management 注册到所需的软件仓库后,才会启用
NovaComputeEnableKsm
,这样可确保成功安装qemu-kvm-common
软件包。(BZ#1895894)- 在此次更新之前,iSCSI/LVM Block Storage 后端创建的连接数据不会被永久存储,这会导致重启后无法访问卷。在这个版本中,连接数据永久存储,卷会在系统重启后访问。(BZ#1898484)
在此次更新之前,当部署到边缘站点时,镜像(glance)服务没有配置为访问在中央站点的 control plane 上运行的 Key Manager (barbican)服务。这会导致边缘站点上运行的镜像服务无法访问存储在 Key Manager 服务的加密密钥。
在这个版本中,在边缘站点上运行的镜像服务被配置为访问存储在 Key Manager 服务的加密密钥。(BZ#1899761)
对 puppet-collectd 组件的更改:
-
借助此项功能增强,您可以使用
ExtraConfig
参数collectd::plugin::virt::plugin_instance_format
为 collectd virt 插件配置插件实例格式。这允许在虚拟机实例的指标标签中公开更精细的元数据,例如在哪个主机上运行实例。(BZ#1878191) -
在此次更新之前,当您使用多个值配置
collectd::plugin::virt::hostname_format
参数时,director 将值嵌套为双引号。这会导致 virt 插件无法加载。在这个版本中,在配置collectd::plugin::virt::hostname_format
时,director 不再用双引号嵌套多个值。(BZ#1902142)
对 python-network-runner 组件的更改:
- 在此次更新之前,在 OSP 16.1.3 中的 python-network-runner 中的 rebase 到 0.2.2 会导致 ML2 网络使用 Ansible 不再正常工作。在这个版本中,python-networking-ansible 被恢复到 0.1.7,Ansible 网络返回到可正常工作的状态。如需更多信息,请参阅 https://access.redhat.com/documentation/zh-cn/red_hat_openstack_platform/16.1/html/bare_metal_provisioning/ml2-networking-ansible。(BZ#1909795)
对 python-networking-ovn 组件的更改:
- 借助此项功能增强,您可以通过外部网络控制多播,避免通过外部网络而不是仅通过内部网络自动形成集群。(BZ#1575512)
- 在此次更新之前,OVN 机制驱动程序无法正确将其代理列表与存储在 Networking (neutron)服务数据库中的用户正确合并。在这个版本中,在 API 返回结果前,OVN 和网络服务数据库的结果会被合并。(BZ#1828889)
此功能增强添加了对 ML2/OVN 机制驱动程序中具有 vlan 和 geneve 网络类型驱动程序的 vlan 透明支持。
借助 vlan 透明性,您可以使用 Networking (neutron)服务网络上的实例来管理 vlan 标签。您可以在实例上创建 vlan 接口,并使用任何 vlan 标签,而不影响其他网络。网络服务不知道这些 vlan 标签。
注意
- 当在 vlan 类型网络上使用 vlan 透明时,数据包的内部和外部 ethertype 为 802.1Q (0x8100)。
- ML2/OVN 机制驱动程序不支持扁平提供商网络上的 vlan 透明性。
(BZ#1846019)
对 python-os-brick 组件的更改:
- 在此次更新之前,在带有 PowerFlex、VxFlex 和 ScaleIO 卷附加中的 RHOSP 13 环境中创建的实例会在升级到 RHOSP 16.x 后重启失败。这是因为 RHOSP 16.x Compute 服务使用新的 PowerFlex 驱动程序连接属性访问卷附加,这不会出现在 RHOSP 13 环境中运行的卷的连接属性。在这个版本中,如果缺少这个连接属性,且在 RHOSP 13 环境中创建的 PowerFlex 卷附加实例,在升级到 RHOSP 16.x 后,不再抛出错误。
对 python-paunch 组件的更改:
在此次更新之前,如果用户将
ContainerImagePrepare
参数配置为使用自定义标签,如 'tag: "latest"' 或 'tag: "16.1"',而不是标准的 'tag_from_label: "{version}-{release}',则容器不会更新最新的容器镜像。在这个版本中,每当用户运行部署操作时,容器镜像总是被获取,包括更新,并根据正在运行的容器检查镜像 ID,以查看是否需要重新构建该镜像来使用最新的镜像。现在,容器总是会在部署操作过程中刷新,并在更新容器时重启容器。
注意这是之前版本的更改,部署只检查镜像是否存在,而不是始终获取镜像。如果用户被重复使用标签,例如 "latest",如果您执行扩展等操作,则容器可能会在节点上更新。除非使用 Satellite 服务器部署来控制容器标签,否则不建议使用"latest"。
(BZ#1881476)
对 python-tripleoclient 组件的更改:
在此次更新之前,当升级一个本地临时存储的 TLS 时,实时迁移会失败,并将
UseTLSTransportForNbd
设置为 "False"。这是因为UseTLSTransportForNbd
配置的默认值已从 RHOSP 13 中的 "False" 改为 RHOSP 16.x 中的 "True",这会导致 QEMU 进程容器中不包含正确的认证。在这个版本中,director 会检查之前为
global_config_settings
部署的环境的配置,并使用它来确保UseTLSTransportForNbd
状态与以前的部署一样。如果配置文件中存在global_config_settings
,则 director 会检查use_tls_for_nbd
键的配置。如果global_config_settings
不存在,director 会评估 hieradata 键nova::compute::libvirt::qemu::nbd_tls
。在升级的部署中保持UseTLSTransportForNbd
状态与以前的部署相同,可确保实时迁移正常工作。(BZ#1906698)