4.5. RHBA-2018:2574 - openstack director 程序错误修复公告


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

instack-undercloud

当 overcloud 处于 Failed 状态时,Red Hat OpenStack undercloud 升级会失败。当尝试迁移 overcloud 堆栈以便在升级过程的 post-configuration 步骤中使用聚合架构时,它会失败并带有 cryptic 错误。现在,它会失败,且不允许 undercloud 升级继续进行。用户在 undercloud 升级开始时收到错误。用户必须确保 overcloud 处于 *_COMPLETE 状态,然后才能进行 undercloud 升级。

在以前的版本中,当参数 local_mtu 设置为 1900 且在 undercloud.conf 中指定时,undercloud 安装会失败。如果 local_mtu 的值大于 1500,undercloud 安装会失败。将 global_physnet_mtu 设置为 local_mtu。当 local_mtu 的值大于 1500 时,undercloud 安装成功。

有时,在安装过程中启用了 SSL 的 undercloud 失败,并显示以下错误: ERROR: epmd 错误。发生故障的原因是,Keepalived 在 rabbitmq 之后由 keepalived 配置与主机名匹配的 VIP。确保在 rabbitmq 之前配置 keepalived。这可防止 undercloud 安装失败。

openstack-tripleo

为 DPDK 和 SR-IOV 环境重新测试和更新了从 RHOSP 10 升级到带有 NFV 的 RHOSP 13 的步骤。

openstack-tripleo-common

'openstack undercloud backup' 命令没有捕获扩展属性。这会导致 undercloud Swift 存储对象的元数据丢失,从而使它们无法使用。在这个版本中,在创建备份存档时添加了 '--xattrs' 标志。undercloud Swift 存储对象现在在备份过程中保留其扩展属性。

当 undercloud 从 instackenv.json 文件中导入裸机节点且配置了 UCS 驱动程序时,ironic 节点只在 pm_service_profile (或 ucs_service_profile)字段超过 ironic 配置中。这会导致只有一个这样的 ironic 节点在 ironic 配置中结束。对 openstack-tripleo-common 的更新可确保只有 pm_service_profile (或 ucs_service_profile)字段的 ironic 节点仍然被视为不同。所有仅在 pm_service_profileucs_service_profile 字段中不同的 ironic 节点都可以导入 ironic。

在部署 overcloud 之前,可以自动为集群创建 stonith 资源。在开始部署前,运行以下命令:openstack overcloud generate fencing --ipmi-lanplus --output /home/stack/fencing.yaml /home/stack/instackenv.json

然后,将 '-e /home/stack/fencing.yaml' 传递给 deploy 命令的参数列表。这会自动为集群创建所需的 stonith 资源。

Derived 参数工作流现在支持使用 SchedulerHints 来识别 overcloud 节点。在以前的版本中,工作流无法使用 SchedulerHints 来识别与对应的 TripleO overcloud 角色关联的 overcloud 节点。这会导致 overcloud 部署失败。SchedulerHints 支持会阻止这些失败。

OpenDaylight 的 docker 状况检查确保了在 OpenDaylight 中仅 REST 接口和 neutron NB 组件处于健康状态。状况检查不包括所有载入的 OpenDaylight 组件,因此并不准确。使用带有 docker healthcheck 的 diagstatus URI 检查所有载入的 OpenDaylight 组件。OpenDaylight Docker 容器健康状态现在更为准确。

openstack-tripleo-heat-templates

manila-share 服务容器无法从控制器主机 bind-mount PKI 信任存储。因此,使用 SSL 无法加密来自 manila-share 服务到存储后端的连接。将 PKI 信任存储从控制器主机绑定挂载到 manila-share 服务容器中。现在,可以使用 SSL 加密来自 manila-share 服务到存储后端的连接。

libvirtd live-migration 端口范围的更改可防止实时迁移失败。在以前的版本中,libvirtd live-migration 使用端口 49152 到 49215,如 qemu.conf 文件中指定。在 Linux 上,这个范围是临时端口范围 32768 到 61000 的子集。临时范围内的任何端口也可供任何其他服务使用。因此,实时迁移失败并显示错误:实时迁移失败:内部错误:无法找到范围 'migration'(49152-49215)未使用的端口。新的 libvirtd live-migration 范围 61152-61215 不在临时范围内。相关的故障不再发生。

在以前的版本中,当从 overcloud 节点中删除 ceph-osd 软件包时,不会删除对应的 Ceph 产品密钥。因此,subscription-manager 会错误地报告 ceph-osd 软件包仍然已安装。处理 ceph-osd 软件包移除的脚本现在也会移除对应的 Ceph 产品密钥。删除 ceph-osd 软件包和产品密钥的脚本仅在 overcloud 更新过程中执行。因此,subscription-manager 列表 不再报告安装了 Ceph OSD。

容器现在是默认的部署方法。仍有一种在 environments/baremetal-services.yaml 中部署 baremetal 服务的方法,但预计最终会消失。

引用环境/服务 docker 的资源 registry 的环境文件必须改为环境/服务路径。如果您需要保留任何已部署的裸机服务,请更新对环境/服务裸机的引用,而不是原始的放置环境/服务。

在以前的版本中,缺少为 Sahara 支持 Fast Forward Upgrade 路径的代码。因此,在从 10 升级到 13 后,不需要的所有更改都应用到 Sahara 服务。在这个版本中,这个问题已解决,在 Fast Forward Upgrade 后 Sahara 服务可以正常工作。

README 已添加到 /var/log/opendaylight 中,表示正确的 OpenDaylight 日志路径。

在 CephFS-NFS 驱动程序部署中,由 CephFS 支持的 NFS-Ganesha 服务器,执行由 libcephfs 客户端执行的 dentry、node 和 属性缓存。NFS-Ganesha 服务器的冗余缓存会导致内存占用量过大。它还会影响缓存一致性。关闭 NFS-Ganesha 服务器的索引节点、目录项和属性缓存。这可减少 NFS-Ganesha 服务器的内存占用量。缓存一致性问题会较小。

tripleo 的 capabilities-map.yaml 会在不正确的文件位置引用 Cinder 的 Netapp 后端。UI 使用 capabilities 映射,且无法访问 Cinder 的 Netapp 配置文件。capabilities-map.yaml 已被更新,用于指定 Cinder 的 Netapp 配置的正确位置。Cinder Netapp 后端功能的 UI 的属性选项卡可以正常工作。

Dell-EMC 存储系统(VNX、单元和 VMAX)的 Manila 配置清单带有不正确的配置选项。因此,使用 Dell Storage 系统的 overcloud 部署 manila-share 服务会失败。现在,Dell-EMC 存储系统的 Manila 配置清单(VNX、单元和 VMAX)已被修复。使用 Dell 存储系统的 manila-share 服务的 overcloud 部署成功完成。

如果在 undercloud 上手动启用 Telemetry,则 hardware.* 指标不起作用,因为每个节点上的防火墙错误配置也无法正常工作。作为临时解决方案,您需要为 undercloud 部署添加额外的模板,使用 control plane 网络手动设置 snmpd 子网,如下所示: parameter_defaults: SnmpdIpSubnet: 192.168.24.0/24

在非常罕见的发生时,从容器中出现以下错误日志失败: standard_init_linux.go:178: exec user 进程会导致 "text file busy"。为避免争用并避免部署失败,请不要同时尝试多次写入 docker-puppet.sh 文件。

当将参数 KernelDisableIPv6 设置为 true 来禁用 ipv6 时,部署会失败并显示 rabbitmq 错误,因为 Erlang Port Mapper Daemon 需要至少环回接口支持 IPv6 来正确初始化。要确保在禁用 ipv6 时部署成功,请不要在回环接口上禁用 IPv6。

Docker 使用 journald 后端根据大小滚动日志。这会导致删除一些旧的 OpenDaylight 日志。这个问题已通过移至文件而不是控制台(日志大小)和滚动(滚动)由 OpenDaylight 进行管理,从而解决了这个问题。因此,旧的日志会比以前较长的时间会被保留。

如果您将非标准端口用于 RabbitMQ 实例进行监控,则 sensu-client 容器会报告不健康的状态,因为不会反映容器健康检查中的端口值。端口值现在显示在容器健康检查中。

修正了清除已删除的数据库记录的默认年龄,以便从 Cinder 数据库清除已删除的记录。在以前的版本中,Cinder 的清除 cron 作业的 CinderCronDbPurgeAge 值使用错误,并且删除的记录在到达所需的默认年龄时不会从 Cinder 的 DB 中清除。

OSP 13 中的 TripleO Heat 模板中的 single-nic-vlans 网络模板包含 Ceph 节点的错误网桥名称。如果先前部署中使用了 single-nic-vlans 模板,在 Ceph 节点上,升级到 OSP 13 会失败。网桥名称 br-storage 现在用于 single-nic-vlans 模板的 Ceph 节点上,它与上一版本的网桥名称匹配。现在,在使用 single-nic-vlans 模板的环境上升级到 OSP 13 现已在 Ceph 节点上成功。

在以前的版本中,*NetName 参数(如 InternalApiNetName)更改了默认网络的名称。这不再被支持。要更改默认网络的名称,请使用自定义的可组合网络文件(network_data.yaml),并使用 '-n' 选项将其包含在您的 'openstack overcloud deploy' 命令中。在这个文件中,将 "name_lower" 字段设置为您要更改的网络的自定义 net 名称。有关更多信息,请参阅高级 Overcloud 自定义指南中的"使用 Composable Networks"。另外,您需要为 ServiceNetMap 表添加本地参数到 network_environment.yaml,并将旧网络名称的所有默认值覆盖到新的自定义名称。您可以在 /usr/share/openstack-tripleo-heat-templates/network/service_net_map.j2.yaml 中找到默认值。在以后的 OSP-13 版本中将不需要修改 ServiceNetMap。

yaml-nic-config-2-script.py required interactive user input.对于自动化目的,无法以非互动的方式调用该脚本。现在,添加了一个 --yes 选项。yaml-nic-config-2-script.py 现在可以使用 --yes 选项调用,用户也不会要求提供交互式输入。

在以前的版本中,在环境文件中 fixed-ips-v6.yaml 的 Redis VIP 端口的设置中包括 tripleo-heat-templates 的一些版本。如果在 network-isolation-v6.yaml 后,如果部署命令行中包含 fixed-ips-v6.yaml 文件,则 Redis 服务被放置在 Control Plane 网络中,而不是正确的 IPv6 网络。在这个版本中,文件 environments/fixed-ips-v6.yaml 包含对 network/ports/vip_v6.yaml 的正确引用,而不是 network/ports/vip.yaml。fixedips-v6.yaml 环境文件包含正确的资源 registry 条目,无论包含的环境文件的顺序如何,都将使用 IPv6 地址创建 Redis VIP。

当 Cinder 服务从主机上运行迁移到在容器中运行时,tripleo 的 BlockStorage 角色不会被更新。在 BlockStorage 主机上部署的 cinder-volume 服务。BlockStorage 角色已更新,以在容器中部署 cinder-volume 服务。cinder-volume 服务在容器中正确运行。

具有 Manila 配置更改的 overcloud 更新无法将这些更改部署到容器化 Manila 共享服务。在这个版本中,更改部署会成功。

使用 /var/lib/nova/instances 的共享存储(如 nfs),重启任何计算节点上的 nova_compute 会导致实例虚拟磁盘和 console.log 实例更改。因此,实例将无法访问其虚拟磁盘和停止工作。改进了修改 /var/lib/nova/instances 中的实例文件所有权的脚本。现在,在重启 nova 计算时,无法访问实例文件。

用于部署 Cinder 的 Netapp 后端的 TripleO 环境文件已过时,其中包含了不正确的数据。这会导致 overcloud 部署失败。Cinder Netapp 环境文件已更新,现在正确。现在,您可以使用 Cinder Netapp 后端部署 overcloud。

在以前的版本中,libvirtd live-migration 使用端口 49152 到 49215,如 qemu.conf 文件中指定。在 Linux 上,这个范围是临时端口范围 32768 到 61000 的子集。临时范围内的任何端口也可供任何其他服务使用。因此,实时迁移失败并显示错误:实时迁移失败:内部错误:无法找到范围 'migration'(49152-49215)未使用的端口。新的 libvirtd live-migration 范围为 61152 到 61215。不在临时范围内。

在以前的版本中,如果 nic 配置模板包含空行,后跟以逗号开头的行,则 yaml-nic-config-2-script.py 不会重置下行的开始列。脚本转换的 nic 配置模板无效,并导致部署失败。在这个版本中,当检测到空白行时,脚本可以正确地设置列的值。带有空白行的脚本(后面带有逗号的行)将正确转换。

puppet-nova

Nova 的 libvirt 驱动程序现在允许在配置 CPU 模型时指定粒度 CPU 功能标志。其中一个好处是,在应用程序"Meltdown" CVE 修复后,在具有特定基于 Intel 的虚拟 CPU 型号运行的客户机中,性能降级存在的一个好处。通过将 CPU 功能标记("Process-Context ID")公开给 客户机 CPU 来降低此客户机 性能影响,假设 PCID 标志可在物理硬件本身中可用。这个更改删除了只有 'PCID' 作为唯一 CPU 功能标记的限制,并允许添加和删除多个 CPU 标记,从而对其他用例进行修改。如需更多信息,请参阅 nova.conf 中的 [libvirt]/cpu_model_extra_flags 的文档。

puppet-opendaylight

OpenDaylight 定期轮询 OpenFlow (OF)统计数据。这些统计数据当前没有被使用。这会影响 OpenDaylight 性能。您可以禁用 OF 统计的轮询来提高 OpenDaylight 性能。

puppet-tripleo

实例 HA 部署因为竞争条件而失败,生成错误:error: unable to get cib。竞争结果是 Pacemaker 集群完全启动前在计算节点上设置的 pacemaker 属性结果,因此会失败并显示 'unable to get cib' 错误。在这个版本中,在使用 IHA 时,部署不会出现任何错误。

在以前的版本中,如果您在堆栈名称中使用大写字母,部署会失败。在这个版本中,确保了带有大写字母的堆栈名称会导致部署成功。特别是,容器中的 bootstrap_host 脚本现在可将字符串转换为小写,而 pacemaker 属性也是如此。

添加了容器化 logrotate 服务的压缩选项,以压缩轮转的日志。delaycompress 选项可确保第一次轮转日志文件保持未压缩。

在以前的版本中,为 Cinder 的 Netapp 后端配置空字符串值会导致 Cinder 驱动程序无效的配置,从而导致 Cinder 的 Netapp 后端驱动程序在初始化过程中失败。在这个版本中,弃用的 Netapp 参数的空字符串值转换为有效的 Netapp 驱动程序配置。因此,Cinder 的 Netapp 后端驱动程序可以成功初始化。

在以前的版本中,Cinder Netapp 后端忽略了 CinderNetappNfsMountOptions TripleO Heat 参数,该参数阻止通过 TripleO Heat 参数配置 Netapp NFS 挂载选项。负责处理 Cinder 的 Netapp 配置的代码不再忽略 CinderNetappNfsMountOptions 参数。CinderNetappNfsMountOptions 参数可以正确地配置 Cinder 的 Netapp NFS 挂载选项。

在版本升级过程中,Cinder 的数据库备份现在仅在 bootstrap 节点上执行。这可防止在所有 Controller 节点上执行数据库同步和升级失败。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat