第 3 章 发行信息
本发行注记重点概述部署此 Red Hat OpenStack Platform 版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。在本 Red Hat OpenStack Platform 发行版本的产品支持周期内,每个更新版本的说明都会包括在相应的公告中。
3.1. Red Hat OpenStack Platform 16.0 GA
本发行注记重点概述部署此 Red Hat OpenStack Platform 版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。
3.1.1. 错误修复
此 Red Hat OpenStack Platform 发行版本中修复了以下错误:
- BZ#1716335
在 Red Hat OpenStack Platform 16.0 中,启用 OVN 的实时迁移现已成功,因为标记
live_migration_wait_for_vif_plug
默认启用。在以前的版本中,实时迁移失败,因为系统一直在等待 OpenStack Networking (neutron) 发送
vif_plugged
通知。- BZ#1758302
- 在以前的版本中,oslo.util 库的正则表达式没有更新,它无法识别较新版本的仿真器 qemu(版本 4.1.0)的输出格式。Red Hat OpenStack 16.0 中的此次修复更新了正则表达式,oslo.util.imageutils 库现在可以正常工作。
- BZ#1769868
- 在以前的版本中,在消息路由器 QDR 中错误配置了网格网络基础结构,这导致 Service Telemetry Framework (STF) 客户端上的 AMQP-1.0 消息总线无法正常工作。此次修复更正了所有 overcloud 节点上的 qdrouterd 守护进程的配置,STF 客户端现在可以正常工作。
- BZ#1775246
-
现在,当重建实例时,
NUMATopologyFilter
被禁用。在以前的版本中,筛选将始终执行,只有在主机的额外容量足够让第二个实例使用新镜像和现有实例类型时,重建才会成功。这是不正确且不必要的行为。
3.1.2. 功能增强
本 Red Hat OpenStack Platform 发行版本包括以下功能增强:
- BZ#1222414
- 在此次功能增强中,增加了对使用 NUMA 拓扑进行实例实时迁移的支持。在以前的版本中,默认禁用此操作。可使用 '[workarounds] enable_numa_live_migration' 配置选项启用该项,但其默认为 False,因为实时迁移这些实例会导致将其移至目的地主机,却不更新任何底层 NUMA 客户机到主机的映射或者资源使用情况。使用新的 NUMA 感知实时迁移特性,如果实例无法安装到目的地,当请求设置为具有备用目的地时,将在备用目的地上尝试实时迁移。如果实例无法安装到目的地,则会重新计算 NUMA 客户机到主机的映射以反应其新主机,并更新其资源用量。
- BZ#1328124
- Red Hat OpenStack Platform 16.0 director 现在支持多计算机单元格部署。在此次功能增强中,云可以更好地进行扩展,因为每个单元格在单元格控制器上都有自己的数据库和消息队列,并减少了中央 control plane 的负载。有关更多信息,请参阅《实例和镜像》指南中的“使用计算单元格扩展部署”。
- BZ#1360970
在此次功能增强中,添加了对使用附加的基于 SR-IOV 的 neutron 接口进行实例实时迁移的支持。Neutron SR-IOV 接口可以分为两个类别:直接模式和间接模式。直接模式 SR-IOV 接口直接附加到客户机,并公开到客户端操作系统。间接模式 SR-IOV 接口在客户机和 SR-IOV 设备间有一个软件接口,例如 macvtap。此功能为具有间接模式 SR-IOV 设备的实例实现透明的实时迁移。因为在实时迁移过程中没有复制硬件状态的通用方法,直接模式迁移对客户机并不透明。对于直接模式接口,模拟挂起和恢复操作已存在的工作流。例如:使用 SR-IOV 设备,在迁移前分离直接模式接口,并在迁移后重新连接它们。因此,具有直接模式 SR-IOV 端口的实例在迁移过程中会丢失网络连接,除非在客户机中创建了与实时可迁移接口的绑定。
在以前的版本中,无法使用基于 SR-IOV 的网络接口进行实时迁移。因为实时迁移经常用于主机维护及类似的操作,所以这会产生问题。在以前的版本中,该实例必须冷迁移,这需要客户机停机。
此功能增强实现使用基于 SR-IOV 的网络接口进行实例实时迁移。
- BZ#1463838
- 在 Red Hat OpenStack Platform 16.0 中,现在可以在创建网络接口时指定 QoS 最小带宽规则。此功能增强可确保实例具有指定的网络可用带宽。目前,仅支持调整大小和冷迁移操作。
- BZ#1545700
- Red Hat OpenStack Platform 块存储服务 (cinder) 现在会在克隆卷时自动更改加密密钥。请注意,此功能当前不支持将 Red Hat Ceph Storage 用作 cinder 后端。
- BZ#1545855
在 Red Hat OpenStack Platform 16.0 中,您现在可以在本地 registry 中推送、列出、删除和显示(显示元数据)镜像。
将镜像从远程存储库推送到主存储库:
$ sudo openstack tripleo container image push docker.io/library/centos
列出存储库的内容:
$ openstack tripleo container image list
删除镜像:
$ sudo openstack tripleo container image delete
显示镜像元数据:
$ openstack tripleo container image show
- BZ#1593057
-
在此功能增强中,overcloud 节点删除需要在执行操作前进行用户确认,以减少意外执行该操作的可能性。
openstack overcloud node delete <node>
命令需要在操作执行前进行 Y/n 确认。您可以通过在命令行中添加--yes
来绕过此操作。 - BZ#1601926
- 从此次更新开始,OSP 部署在所有 OVN 服务间都有完全加密功能。现在,所有 OVN 客户端(ovn-controller、neutron-server 和 ovn-metadata-agent)都使用相互 TLS 加密连接到 OVSDB 服务器。
- BZ#1625244
- 放置服务已从计算 (nova) 服务中提取。现在,它由 director 部署和管理,并作为额外容器在 undercloud 和 overcloud 控制器节点上运行。
- BZ#1628541
- 在 Red Hat OpenStack Platform 16.0 控制面板 (horizon) 中,现在有更改用户密码的新表单。当用户试图使用过期的密码登录时,这个表单会自动出现。
- BZ#1649264
- Red Hat OpenStack Platform 编排服务 (heat) 现在包含一个新的资源类型 OS::Glance::WebImage,用于使用 Glance v2 API 从 URL 创建镜像服务 (glance) 镜像。这个新资源类型代替了较早的类型 OS::Glance::Image。
- BZ#1653834
-
此项功能增强添加了布尔参数
NovaComputeEnableKsm
。参数在计算节点上启用 ksm 和 ksmtuned 服务。您可以为每个 Compute 角色设置NovaComputeEnableKsm
。默认:False
。 - BZ#1666973
-
在 Red Hat OpenStack Platform 16.0 中,您可以将自定义 Red Hat Ceph Storage 配置设置添加到 ceph.conf 的任意部分。在以前的版本中,自定义设置只能在 ceph.conf 的
[global]
部分进行。 - BZ#1689816
在 Red Hat OpenStack Platform 16.0 中,新的编排服务 (heat) 部署参数可供管理员在单元格控制器上打开 nova 元数据服务:
parameter_defaults: NovaLocalMetadataPerCell: True
这个新参数自动将来自该单元格计算上的 OVN 元数据代理的流量定向到该单元格控制器上托管的 nova 元数据 API 服务。
根据 RHOSP 拓扑,在单元格控制器上运行元数据服务的能力可减少中央 control plane 上的网络流量。
- BZ#1691025
- 现在,您可以使用 Octavia API 创建 VIP 访问控制列表 (ACL) ,将传入监听程序的流量限制到一组允许的源 IP 地址 (CIDR) 。任何其它传入的流量都会被拒绝。有关更多信息,请参阅《网络指南》中的“使用访问控制列表保证负载均衡器的安全”。
- BZ#1693372
在此功能增强中,您可以使用以下参数将专用(固定)和共享(未固定)实例调度到同一 计算节点上:
-
NovaComputeCpuDedicatedSet
- 固定实例 CPU 进程可调度到的物理主机 CPU 数的逗号分隔列表或范围。替换 NovaVcpuPinSet 参数,该参数现已弃用。 NovaComputeCpuSharedSet
- 用于提供 vCPU 清单的物理主机 CPU 数的逗号分隔列表或范围,可确定未固定实例可以调度到的主机 CPU,并针对配置了共享仿真器线程策略hw:emulator_threads_policy=share
的实例确定实例仿真器线程应当卸载到的主机 CPU。注意:此选项之前已存在,但其用途已通过该功能得到扩展。而不再需要使用主机聚合来确保这些实例类型在独立的主机上运行。另外,
[DEFAULT] reserved_host_cpus
配置选项不再需要,且可以取消设置。要升级:
-
对于以前用于固定实例的主机,
NovaVcpuPinSet
的值应当迁移到NovaComputeCpuDedicatedSet
。 -
对于以前用于非固定实例的主机,
NovaVcpuPinSet
应当迁移到NovaComputeCpuSharedSet
。 如果没有为
NovaVcpuPinSet
设置值,则所有主机内核都应当分配到NovaComputeCpuDedicatedSet
或NovaComputeCpuSharedSet
,这取决于该处运行的实例的类型。升级完成后,就可以在同一主机上开始设置这两个选项。然而,要做到这一点,主机应当排空实例,因为当
NovaComputeCpuSharedSet
中没有列出未固定实例的内核时 nova 不会启动,反之亦然。
-
对于以前用于固定实例的主机,
-
- BZ#1696663
-
此更新支持您可以为大多数 neutron 网络配置 NUMA 关联性。这可帮助您确保将实例放置在与 NIC 为 vSwitch 提供外部连接相同的主机 NUMA 节点上。您可以在使用以下类型的网络上配置 NUMA 关联性:
'flat'
或'vlan'
的--'provider:network_type'
和 'provider:physical_network'(L2 网络)或'vxlan'
的--'provider:network_type'
,'gre' 或 ’geneve'
(L3 网络)。 - BZ#1700396
- 在 Red Hat OpenStack Platform 16.0 中,您可以使用 director 为块存储务 (cinder) 后端类型指定可用域。
- BZ#1767481
-
在以前的版本中,当 Novajoin 丢失与 IPA 服务器的连接时,它会马上尝试重新连接。因此,可能会出现与时间相关的问题,并阻止重新建立连接。在此更新中,您可以在重试 IPA 服务器连接前使用
retry_delay
设置要等待的秒数。因此,这可以帮助减少时间的问题。 - BZ#1775575
- 现在,您可以根据实例级别配置 PCI NUMA 关联性。这需要为使用基于 SR-IOV 的网络接口的实例配置 NUMA 关联性。在以前的版本中,只能在主机级别为 PCI 透传设备配置 NUMA 关联性。
- BZ#1784806
- 在 Red Hat Openstack Platform 16.0 中,部署增强功能自动获得部署 OVS-DPDK 的计算节点所需的编排服务 (heat) 参数,从而方便配置 OVS-DPDK。工作流服务 (mistral) 已改进,可读取 heat 模板和内省数据,以自动获得 heat 参数、NovaComputeCpuDedicatedSet 和 NovaComputeCpuSharedSet 的必要值。
3.1.3. 技术预览
本节中列出的项目作为技术预览提供。有关技术预览状态范围的详情,以及相关的支持影响,请参阅 https://access.redhat.com/support/offerings/techpreview/。
- BZ#1228474
- 在 Red Hat OpenStack Platform 16.0 中,身份服务 (keystone) 具有一个新的默认角色 reader(当前为技术预览),该角色在部署 Red Hat OpenStack Platform director 后存在于系统中。使用 reader 角色,用户可以执行一些非只读的额外任务,比如创建卷。在其他服务(如 cinder、neutron 和 nova)中还未实现此角色。作为技术预览,这个功能仍处于开发阶段,不应在产品环境中使用。
- BZ#1288155
在 Red Hat OpenStack Platform 16.0 中,定义多个路由表并将路由分配到特定的路由表中(当前为技术预览)。
基于策略的路由使用路由表,在带有多个链接的主机上,您可以根据源地址通过特定接口发送流量。
您还可以根据每个接口定义路由规则,如下例所示:
network_config: - type: route_table name: custom table_id: 200 - type: interface name: em1 use_dhcp: false addresses: - ip_netmask: 192.0.2.1/24 routes: - ip_netmask: 10.1.3.0/24 next_hop: 192.0.2.5 table: 200 # Use table ID or table name rules: - rule: "iif em1 table 200" comment: "Route incoming traffic to em1 with table 200" - rule: "from 192.0.2.0/24 table 200" comment: "Route all traffic from 192.0.2.0/24 with table 200" - rule: "add blackhole from 172.19.40.0/24 table 200" - rule: "add unreachable iif em1 from 192.168.1.0/24"
- BZ#1375207
- 在以前的版本中,当使用 Red Hat Ceph Storage 作为块存储服务 (cinder) 卷和备份的后端时,当在第一次完全备份后再执行一个完全备份时,实际执行的是一个增量备份,且不发出任何警告信息。在 Red Hat OpenStack Platform 16.0 中,一个技术预览解决了这个问题。
- BZ#1459187
- 在 Red Hat OpenStack Platform 16.0 中,在裸机置备服务 (ironic) 中添加了一个技术预览,用于在 IPv6 置备网络上部署 overcloud。有关更多信息,请参阅《裸机置备》指南中的“配置自定义 IPv6 置备网络”。
- BZ#1474394
- 在 Red Hat OpenStack Platform 16.0 中,为裸机置备服务 (ironic) 添加了一个技术预览,用于在 IPv6 置备网络上为 BMaaS (Bare Metal as-a-Service) 租户部署。
- BZ#1575079
- 在 Red Hat OpenStack Platform 16.0 中,为共享文件系统服务 (manila) 添加了一个技术预览,以便 IPv6 可用于 CephFS NFS 驱动程序。
- BZ#1593828
在 Red Hat OpenStack Platform 16.0 中,添加了一个用于使用裸机置备服务 (ironic) 从虚拟介质引导裸机的技术预览。
如果机器的基板管理控制器 (BMC) 支持 Redfish 硬件管理协议和虚拟介质服务,ironic 可以指示 BMC 拉取 (pull) 可引导镜像,并将它“插入 (insert)”到节点上的虚拟驱动器中。然后,节点可以从该虚拟驱动器引导到位于该镜像的操作系统。基于 Redfish API 的 ironic 硬件类型支持通过虚拟介质部署、救援(有限制)和引导(用户)镜像。
虚拟介质引导的主要优点是,PXE 引导协议套件的不安全和不可靠的 TFTP 镜像传输阶段由安全的 HTTP 传输替代。
- BZ#1600967
在 Red Hat OpenStack Platform 16.0 中,工作流服务 (mistral) 任务是一个技术预览,它可以使您通过以下操作来实现密码轮转:
执行 rotate-password 工作流,生成新密码并将其存储在计划环境中。
重新部署 overcloud。
您也可以在更改密码后获取密码。
要实现密码轮转,请按照以下步骤操作:
注意工作流任务修改默认密码。该任务不会修改用户提供的环境文件中指定的密码。
执行新的工作流任务以重新生成密码:
$ source ./stackrc $ openstack workflow execution create tripleo.plan_management.v1.rotate_passwords '{"container": "overcloud"}'
该命令为所有密码生成新密码,但 BarbicanSimpleCryptoKek 和 KeystoneFernet* 和 KeystoneCredential* 除外。有特殊的程序可以轮换这些密码。
也可以指定要轮转的具体密码。以下命令只轮转指定的密码。
$ openstack workflow execution create tripleo.plan_management.v1.rotate_passwords '{"container": "overcloud", "password_list": ["BarbicanPassword", "SaharaPassword", "ManilaPassword"]}'
重新部署 overcloud:
$ ./overcloud-deploy.sh
要检索密码,包括新生成的密码,请按照以下步骤操作:
运行以下命令:
$ openstack workflow execution create tripleo.plan_management.v1.get_passwords '{"container": "overcloud"}'
您应该可以看到该命令的输出结果,如下所示:
+--------------------+---------------------------------------------+ | Field | Value | +--------------------+---------------------------------------------+ | ID | edcf9103-e1a8-42f9-85c1-e505c055e0ed | | Workflow ID | 8aa2ac9b-22ee-4e7d-8240-877237ef0d0a | | Workflow name | tripleo.plan_management.v1.rotate_passwords | | Workflow namespace | | | Description | | | Task Execution ID | <none> | | Root Execution ID | <none> | | State | RUNNING | | State info | None | | Created at | 2020-01-22 15:47:57 | | Updated at | 2020-01-22 15:47:57 | +--------------------+---------------------------------------------+
在以前的示例输出中,State 的值是 RUNNING。State 最终应当为 SUCCESS。
重新检查 State 值:
$ openstack workflow execution show edcf9103-e1a8-42f9-85c1-e505c055e0ed
+--------------------+---------------------------------------------+ | Field | Value | +--------------------+---------------------------------------------+ | ID | edcf9103-e1a8-42f9-85c1-e505c055e0ed | | Workflow ID | 8aa2ac9b-22ee-4e7d-8240-877237ef0d0a | | Workflow name | tripleo.plan_management.v1.rotate_passwords | | Workflow namespace | | | Description | | | Task Execution ID | <none> | | Root Execution ID | <none> | | State | SUCCESS | | State info | None | | Created at | 2020-01-22 15:47:57 | | Updated at | 2020-01-22 15:48:39 | +--------------------+---------------------------------------------+
当 State 的值为 SUCCESS 时,您可以检索密码:
$ openstack workflow execution output show edcf9103-e1a8-42f9-85c1-e505c055e0ed
您应当会看到类似如下的输出:
{ "status": "SUCCESS", "message": { "AdminPassword": "FSn0sS1aAHp8YK2fU5niM3rxu", "AdminToken": "dTP0Wdy7DtblG80M54r4a2yoC", "AodhPassword": "fB5NQdRe37BaBVEWDHVuj4etk", "BarbicanPassword": "rn7yk7KPafKw2PWN71MvXpnBt", "BarbicanSimpleCryptoKek": "lrC3sGlV7-D7-V_PI4vbDfF1Ujm5OjnAVFcnihOpbCg=", "CeilometerMeteringSecret": "DQ69HdlJobhnGWoBC0jM3drPF", "CeilometerPassword": "qI6xOpofuiXZnG95iUe8Oxv5d", "CephAdminKey": "AQDGVPpdAAAAABAAZMP56/VY+zCVcDT81+TOjg==", "CephClientKey": "AQDGVPpdAAAAABAAanYtA0ggpcoCbS1nLeDN7w==", "CephClusterFSID": "141a5ede-21b4-11ea-8132-52540031f76b", "CephDashboardAdminPassword": "AQDGVPpdAAAAABAAKhsx630YKDhQrocS4o4KzA==", "CephGrafanaAdminPassword": "AQDGVPpdAAAAABAAKBojG+CO72B0TdBRR0paEg==", "CephManilaClientKey": "AQDGVPpdAAAAABAAA1TVHrTVCC8xQ4skG4+d5A==" } }
- BZ#1621701
- 在 Red Hat OpenStack Platform 16.0 中,向 OpenStack 裸机服务 (ironic) 添加了一个技术预览功能,用于通过 Arista Extensible Operating System (Arista EOS) 交换机配置 ML2 networking-ansible 功能。有关更多信息,请参阅《裸机置备》指南中的“启用 networking-ansible ML2 功能”。
- BZ#1622233
- 在 Red Hat OpenStack Platform 16.0 中,添加了一个修改交换机端口的技术预览,以使其进入中继模式,并为它们分配多个 VLAN。
- BZ#1623152
在 Red Hat OpenStack Platform 16.0 中,向编排服务 (heat) 中添加了一个技术预览,用于 rsyslog 更改:
- 将 rsyslog 配置为收集并转发与 fluentd 安装功能相等的容器日志。
- 管理员可以使用与 fluentd 相同的方法配置 rsyslog 日志转发。
- BZ#1628061
在 Red Hat OpenStack Platform 16.0 中,您可以使用 director 在服务模板中包括动态验证。此功能在RHOSP 16.0 中是一个技术预览。可以在要检查的步骤的末尾,或者下一步的开始插入添加内容。
在本例中,执行验证以确保 rabbitmq 服务在部署后运行:
deploy_steps_tasks: # rabbitmq container is supposed to be started during step 1 # so we want to ensure it's running during step 2 - name: validate rabbitmq state when: step|int == 2 tags: - opendev-validation - opendev-validation-rabbitmq wait_for_connection: host: {get_param: [ServiceNetMap, RabbitmqNetwork]} port: 5672 delay: 10
通过 heat,您可以包括 openstack-tripleo-validations 角色中的现有验证:
deploy_steps_tasks: - name: some validation when: step|int == 2 tags: - opendev-validation - opendev-validation-rabbitmq include_role: role: rabbitmq-limits # We can pass vars to included role, in this example # we override the default min_fd_limit value: vars: min_fd_limit: 32768
您可以在此处找到 rabbitmq-limits 角色的定义 https://opendev.org/openstack/tripleo-validations/src/branch/stable/train/roles/rabbitmq-limits/tasks/main.yml
以下是使用现有服务健康检查的示例:
deploy_steps_tasks: # rabbitmq container is supposed to be started during step 1 # so we want to ensure it's running during step 2 - name: validate rabbitmq state when: step|int == 2 tags: - opendev-validation - opendev-validation-rabbitmq command: > podman exec rabbitmq /openstack/healthcheck
- BZ#1699449
- Red Hat OpenStack Platform director 现在为 fence_redfish 提供技术预览,这是 Redfish API 的保护代理。
- BZ#1700083
- 在 Red Hat OpenStack Platform 16.0 中,为裸机置备服务 (ironic) 添加了一个技术预览,用于 Intel 速度选择处理器。
- BZ#1703956
- 在 Red Hat OpenStack Platform 16.0 中,负载均衡服务 (octavia) 现在有一个用于 UDP 协议的技术预览。
- BZ#1706896
- 在 Red Hat OpenStack Platform 16.0 中,向镜像服务 (glance) 中添加了一个技术预览,用于预缓存镜像,以便操作器可以在引导实例前预热缓存。
- BZ#1710089
-
director 已添加了
overcloud undercloud minion install
命令,您可以使用该命令配置额外主机来增强 Undercloud 服务。 - BZ#1710092
- director 现在提供部署额外节点的功能,您可以使用该节点为部署相关的操作添加其他 heat-engine 资源。
- BZ#1710093
- Red Hat OpenStack Platform director 支持部署额外节点,可用于在部署过程中为系统置备添加其他裸机置备编排器服务资源。
- BZ#1710634
在 Red Hat OpenStack Platform 16.0 中,向编排服务 (heat) 中添加了一个技术预览。一个新的参数
NovaSchedulerQueryImageType,
被添加用于控制镜像类型(scheduler/query_placement_for_image_type_support)的计算服务 (nova) 放置和调度程序组件查询放置。当设置为 true(默认)时,
NovaSchedulerQueryImageType
会排除不支持引导请求中使用的镜像磁盘格式的计算节点。例如,libvirt 驱动程序使用 Red Hat Ceph Storage 作为临时后端,且不支持 qcow2 镜像(不需要昂贵的转换步骤)。在本例中,启用
NovaSchedulerQueryImageType
可确保调度程序不会向使用 Red Hat Ceph Storage 的计算节点发送引导 qcow2 镜像的请求。- BZ#1749483
现在,您可以将浮动 IP 地址的 TCP、UDP 或者其它协议端口的流量转发到与 neutron 端口的一个固定 IP 地址关联的 TCP、UDP 或其他协议端口。转发的流量由 neutron API 的扩展程序和 OpenStack Networking 插件来管理。浮动 IP 地址可以配置多个转发定义。但是,您无法转发预先与 OpenStack Networking 端口关联的 IP 地址的流量。为浮动 IP 地址转发流量,这些地址由网络上的集中路由器(legacy、HA 和 DVR+HA)管理。
要转发浮动 IP 地址端口的流量,请使用以下 OpenStack Networking 插件命令:
openstack floating ip port forwarding create --internal-ip-address <internal-ip-address> --port <port> --internal-protocol-port <port-number> --external-protocol-port <port-number> --protocol <protocol> <floating-ip>
--internal-ip-address <internal-ip-address> 接收转发流量的 neutron 端口的固定、IPv4、内部 IP 地址。
--port <port> 接收转发的流量的 neutron 端口的名称或 ID。
--internal-protocol-port <port-number> neutron 的协议端口号,接收转发流量的固定 IP 地址。
--external-protocol-port <port-number> 转发流量的浮动 IP 地址端口的协议端口号。
--protocol <protocol> 浮动 IP 地址端口使用的协议(如 TCP、UDP)。
<floating-ip> 转发流量的端口的浮动 IP(IP 地址或 ID)。
下面是一个示例:
openstack floating ip port forwarding create \ --internal-ip-address 192.168.1.2 \ --port f7a08fe4-e79e-4b67-bbb8-a5002455a493 \ --internal-protocol-port 18343 \ --external-protocol-port 8343 \ --protocol tcp \ 10.0.0.100
3.1.4. 发行注记
本节概述了本发行版本的重要信息,包括推荐做法和 Red Hat OpenStack Platform 的显著变化。您必须将此信息纳入考量,才能确保您的部署获得最佳效果。
- BZ#1481814
- 在以前的版本中,当一个加密的块存储服务 (cinder) 卷镜像被删除时,它的对应密钥不会被删除。
在 Red Hat OpenStack Platform 16.0 中,这个问题已解决。当镜像服务删除 cinder 卷镜像时,它还会删除镜像的密钥。
- BZ#1783044
-
通过 Red Hat Ceph Storage 版本 4 的正式发布,您现在可以从
rhceph-4-tools-for-rhel-8-x86_64-rpms
存储库中安装ceph-ansible
。
3.1.5. 已知问题
目前,Red Hat OpenStack Platform 存在的已知问题包括:
- BZ#1574431
- 块存储服务 (cinder) 存在一个已知问题:quota 命令无法正常工作。cinder CLI 允许用户在不检查有效项目 ID 的情况下成功创建配额条目。CLI 在没有有效项目 ID 的情况下创建的配额条目是包含无效数据的虚拟记录(dummy record)。直到这个问题被解决为止,CLI 用户应该在创建配额条目时指定有效的项目 ID,并监控 cinder 的虚拟记录。
- BZ#1647005
在清理 BM 节点期间,Nova-compute ironic 驱动程序会尝试更新该节点。清理操作大约需要五分钟,但 nova-compute 会尝试在大约两分钟内更新节点。超时后,nova-compute 会停止 nova 实例并将其置于 ERROR 状态。
作为临时解决方案,为 nova-compute 服务设置以下配置选项:
[ironic] api_max_retries = 180
这样,nova-compute 就会继续更长时间尝试更新 BM 节点,并最终成功。
- BZ#1734301
- 目前,在从成员获取数据时,OVN 负载均衡器不会打开新的连接。负载均衡器修改目的地地址和目的地端口,并将请求数据包发送到成员。因此,在使用 IPv4 负载均衡器地址时无法定义 IPv6 成员,反之亦然。当前没有解决此问题的方法。
- BZ#1769880
存在从 ML2/OVS 迁移到 OVN 失败的问题。此故障是由 Red Hat OpenStack Platform director 中的新保护机制导致,以便在更改机制驱动程序时防止升级。
有关临时解决方案,请参阅《使用开源虚拟网络联网》指南中的“准备迁移”。
- BZ#1779221
使用 Linux bridge ML2 驱动程序和代理的 Red Hat OpenStack Platform 部署无法防止解析协议 (ARP) 欺骗。属于 Red Hat Enterprise Linux 8 一部分的以太网网桥帧表管理 (ebtables) 的版本与 Linux bridge ML2 驱动程序不兼容。
Red Hat OpenStack Platform 11 中已弃用 Linux Bridge ML2 驱动程序和代理,不应再使用。
红帽建议您改用 ML2 Open Virtual Network (OVN) 驱动程序和服务,即 Red Hat OpenStack Platform director 部署的默认驱动程序和服务。
- BZ#1789822
替换 overcloud Controller 可能会在节点间造成 swift 环(ring)不一致的问题。这可能导致对象存储服务可用性下降。如果发生了这种情况,请使用 SSH 登录到之前存在的 Controller 节点,部署更新的环,然后重启 Object Storage 容器:
(undercloud) [stack@undercloud-0 ~]$ source stackrc (undercloud) [stack@undercloud-0 ~]$ nova list ... | 3fab687e-99c2-4e66-805f-3106fb41d868 | controller-1 | ACTIVE | - | Running | ctlplane=192.168.24.17 | | a87276ea-8682-4f27-9426-6b272955b486 | controller-2 | ACTIVE | - | Running | ctlplane=192.168.24.38 | | a000b156-9adc-4d37-8169-c1af7800788b | controller-3 | ACTIVE | - | Running | ctlplane=192.168.24.35 | ... (undercloud) [stack@undercloud-0 ~]$ for ip in 192.168.24.17 192.168.24.38 192.168.24.35; do ssh $ip 'sudo podman restart swift_copy_rings ; sudo podman restart $(sudo podman ps -a --format="{{.Names}}" --filter="name=swift_*")'; done
- BZ#1790467
在 Red Hat OpenStack Platform 16.0 中,配置 OpenStack 实例所需的元数据信息不可用,且可能在没有连接的情况下启动,这是一个已知的问题。
排序问题导致无法为 ovn_metadata_agent 更新 haproxy 打包程序。
可能的解决方法是让云操作器运行以下 Ansible 命令,以便在更新后重启选定节点上的 ovn_metadata_agent,以确保 ovn_metadata_agent 使用 haproxy 打包程序脚本的更新版本:
`ansible -b <nodes> -i /usr/bin/tripleo-ansible-inventory -m shell -a "status=`sudo systemctl is-active tripleo_ovn_metadata_agent`; if test \"$status\" == \"active\"; then sudo systemctl restart tripleo_ovn_metadata_agent; echo restarted; fi"`
在以前的 Ansible 命令中,
nodes
可能是单个节点(如compute-0
)、所有计算(如compute*
)或"all"
。因为 ovn_metadata_agent 最常用于计算节点,所以以下 Ansible 命令会重启云中所有计算节点的代理:
`ansible -b compute* -i /usr/bin/tripleo-ansible-inventory -m shell -a "status=`sudo systemctl is-active tripleo_ovn_metadata_agent`; if test \"$status\" == \"active\"; then sudo systemctl restart tripleo_ovn_metadata_agent; echo restarted; fi"`
重启 ovn_metadata_agent 服务后,它们会使用更新的 haproxy 打包程序脚本,这样可在虚拟机启动时为它们提供元数据。已经运行的受影响虚拟机在应用临时解决方案后重启,应该会正常运行。
- BZ#1793166
Red Hat OpenStack 16.0 中存在一个已知问题:除非禁用并发多线程 (SMT) 控制,否则 KVM 客户机不会在 IBM POWER8 系统中启动。SMT 不会被自动禁用 。
解决方案是在部署 overcloud 后在所有 IBM POWER 8 计算节点上执行
sudo ppc64_cpu --smt=off
,以及后续的重启。- BZ#1793440
在 Red Hat OpenStack 16.0 中,存在一个已知问题:“openstack network agent list” 命令会间歇性地表示 OVN 代理处于停机状态,而实际上代理处于活动状态且云可以正常工作。
受影响的代理有:OVN Controller 代理、OVN 元数据代理和 OVN Controller 网关代理。
当前没有解决此问题的方法。您应当忽略“openstack network agent list”命令的输出。
- BZ#1794328
- 存在一个已知问题:当将负载均衡服务 (octavia) 配置为可组合角色时,Red Hat OpenStack Platform 16.0 overcloud 安装会失败。目前,这个问题还没有临时解决方案。有关更多信息,请参阅 BZ# :https://bugzilla.redhat.com/show_bug.cgi?id=1794328。
- BZ#1795165
OpenStack Networking (neutron) 有一个已知问题:所有创建的实例都会继承与网络关联的 dns_domain 值,而不是为内部 DNS 配置的 dns_domain 值。
造成这个问题的原因是,network dns_domain 属性会覆盖 neutron dns_domain 配置选项。
如果您想要使用内部 DNS 功能,为避免这个问题,请不要为网络设置 dns_domain 属性。
- BZ#1795688
要在使用 Novacontrol 角色时,允许 neutron_api 服务访问部署在 Controller 节点上的放置服务,请在 Controller 环境文件中添加以下 hieradata 配置:
service_config_settings: placement: neutron::server::placement::password: <Nova password> neutron::server::placement::www_authenticate_uri: <Keystone Internal API URL> neutron::server::placement::project_domain_name: 'Default' neutron::server::placement::project_name: 'service' neutron::server::placement::user_domain_name: 'Default' neutron::server::placement::username: nova neutron::server::placement::auth_url: <Keystone Internal API URL> neutron::server::placement::auth_type: 'password' neutron::server::placement::region_name: <Keystone Region>
有关使用 Puppet 自定义角色的 hieradata 的更多信息,请参阅 https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.0/html-single/advanced_overcloud_customization/index#sect-Customizing_Puppet_Configuration_Data。
注意当使用自定义角色部署 overcloud 时,需要进行此配置,Placement 不是在与 neutron_api 相同的节点上运行。
- BZ#1795956
Red Hat OpenStack Platform 负载均衡服务有一个已知问题:重新引导节点时,容器 octavia_api 和 octavia_driver_agent 无法启动。
造成这个问题的原因是在重新引导节点时不存在 /var/run/octavia 目录。
要解决这个问题,请在文件 /etc/tmpfiles.d/var-run-octavia.conf 中添加以下行:
d /var/run/octavia 0755 root root - -
- BZ#1796215
在 Red Hat OpenStack Platform 16.0 中,存在一个已知问题:在配置 overcloud 节点过程中 ansible-playbook 有时会失败。失败的原因是 tripleo-admin 用户没有获得 ssh 授权。另外,
openstack overcloud deploy
命令参数--stack-only
不再运行启用 ssh admin 工作流来授权 tripleo-admin 用户。解决办法是在使用
--stack-only
和手动 config-download 命令时,使用openstack overcloud admin authorize
自行运行启用 ssh admin 工作流。有关更多信息,请参阅《director 安装和使用》指南中的“分离置备和配置流程”。- BZ#1797047
- Red Hat Ceph Storage 4.0 存在一个与打包相关的问题。更多信息请参阅 https://bugzilla.redhat.com/show_bug.cgi?id=1797075。因此,用户无法使用 manila 访问列表。虽然共享创建正常,但因没有 manila 访问列表,共享就无法使用。因此,用户无法通过 NFS 使用带有 CephFS 的共享文件系统服务。
- BZ#1797892
Red Hat OpenStack Platform 16.0 中存在一个已知问题:当节点出现硬(不正常)关闭的情况时,在节点重新开机后,此前运行的容器会在 podman 中变为“Created”状态。
造成这个问题的原因是元数据代理无法生成新容器,因为它已经处于 "Created" 状态。haproxy side-car 容器打包程序脚本预期容器只处于"Exited" 状态,且不会清理 "Created" 状态的容器。
可能的解决方法是让云操作器运行以下 Ansible 临时命令来清理处于 "Created" 状态的所有 haproxy 容器。您必须从位于特定节点上、一组节点或整个集群中的 undercloud 中运行此 Ansible ad-hoc 命令:
`ansible -b <nodes> -i /usr/bin/tripleo-ansible-inventory -m shell -a "podman ps -a --format {{'{{'}}.ID{{'}}'}} -f name=haproxy,status=created | xargs podman rm -f || :"`
在以前的 Ansible ad-hoc 命令中,
nodes
可以是清单中的单个主机、一组主机或“all”。以下是在
compute-0
上运行命令的示例:`ansible -b compute-0 -i /usr/bin/tripleo-ansible-inventory -m shell -a "podman ps -a --format {{'{{'}}.ID{{'}}'}} -f name=haproxy,status=created | xargs podman rm -f || :"`
在运行 Ansible ad-hoc 命令后,metadata-agent 应该会为给定网络生成一个新的容器。
3.1.6. 删除的功能
- BZ#1518222
- 在 Red Hat OpenStack Platform 16.0 中,Telemetry (遥测) 服务的一部分 ceilometer 客户端(较早的 RHOSP 发行版本中已弃用)不再受支持并已被删除。请注意,ceilometer 仍是 RHOSP 的一部分,只作为代理服务(没有客户端和 API)。
- BZ#1631508
在 Red Hat OpenStack Platform 16.0 中,删除了 controller-v6.yaml 文件。controller-v6.yaml 中定义的路由现在在 controller.yaml 中定义。(controller.yaml 文件是一个 NIC 配置文件,根据 role_data.yaml 中设置的值产生。)
早期版本的 Red Hat OpenStack Director 包括两个路由:一个用于外部网络上的 IPv6(默认),另一个用于 Control Plane 上的 IPv4。
要使用这两个默认路由,请确保 role_data.yaml 中的控制器定义在 default_route_networks 中包含这两个网络(例如,
default_route_networks: ['External', 'ControlPlane']
)。- BZ#1712981
- 在 Red Hat OpenStack Platform (RHOSP) 15 中,数据处理服务 (sahara) 已被弃用,并在版本 16.0 中被安全删除。红帽继续对 RHOSP 版本 13 和 15 中的数据处理服务提供支持。
- BZ#1754560
- 在 Red Hat OpenStack Platform 16.0 中,不再支持 Elastic Compute Cloud (EC2) API。现在,director 中已弃用 EC2 API 支持,并将在以后的 RHOSP 发行版本中删除。
- BZ#1764894
在 Red Hat OpenStack Platform 16.0 中,删除了以下环境文件:
/usr/share/openstack-tripleo-heat-templates/environments/deployed-server-bootstrap-environment-rhel.yaml
。此环境文件之前在使用预置备节点时使用。它在以前的 RHOSP 发行版本里已弃用,现在它已被删除。