VMware Integrated OpenStack 7.1 | 2021 年 5 月 13 日 | 内部版本 OVA 17987092,修补程序 17987093 请查看发行说明以了解新增内容及更新。 |
发行说明内容
本发行说明包含以下主题:关于 VMware Integrated OpenStack
VMware Integrated OpenStack 通过简化集成过程,极大地精简了 OpenStack 云基础架构部署。VMware Integrated OpenStack 通过在 vCenter Server 中作为虚拟设备运行的部署管理器提供即时可用的 OpenStack 功能和简单的配置工作流。
新增功能
- 支持最新版本的 VMware 产品:
- VMware Integrated OpenStack 7.1 与 VMware vSphere 7.0 U2、NSX-T 3.1.1 和 NSX-V 6.4.10 完全兼容。
- 新功能和增强功能:
- 管理平面:
- 支持对 VIO 管理平面进行灾难恢复。提供了新的 viocli 命令,支持管理平面从灾难进行恢复。完整的灾难恢复过程通过 SRM、vSphere Replication 和 NSX-T 多站点功能进行了验证,涵盖 Nova 实例、Cinder 卷和 Neutron 网络。在目标 DR 站点中恢复部署后,用户可以使用 VIO 管理恢复的 Nova/Cinder/Neutron 对象。
- 支持将 Neutron NSX-T Management Plugin 迁移到 Policy Plugin。
- 支持多个许可证密钥:允许管理员输入多个 VIO 许可证密钥并分配要使用的密钥。
- OpenStack 驱动程序:
- 支持 Octavia 特定实例。通过该功能,用户可以在 NSX-T 上的 VIO 创建的负载均衡器上使用 OpenStack Octavia 特定实例功能。Neutron NSX-P 插件以及 NSX-T 3.1 或更高版本支持此功能。
- 可扩展性:
- 支持更大的可扩展性。现在,一个 VIO 部署可以支持多达 128 个 Nova 计算节点,使用 Neutron NSX-T Policy Plugin 时支持多达 1 万个租户网络,使用 vIDM 作为 IdP 时支持多达 8 个 VIO 部署联合。
- 管理平面:
升级到版本 7.1
- 要从 7.0/7.0.1 升级,请使用
viocli patch
命令。请在产品安装指南中查找详细说明。 - 要从 6.0 升级,请使用产品安装指南中所述的蓝/绿升级过程。
- VIO 7.1 不支持从 5.x 直接升级,请先升级到 7.0.1。
兼容性
- 有关 VMware Integrated OpenStack 与其他 VMware 产品的兼容性的详细信息,请参阅 VMware 产品互操作性列表。
弃用通知
- 以下网络连接功能已弃用,将不包含在下一个 VIO 版本中:
- 适用于 Neutron 的 NSX Data Center for vSphere 驱动程序。
- 适用于 Neutron 的 NSX-T Management Plugin 将替换为 NSX-T Policy Plugin。
- TVD 插件,该插件支持单个 VMware Integrated OpenStack 部署使用 NSX Data Center for vSphere 后端和 NSX-T Data Center 后端。
- Neutron FWaaSv2 将在未来版本中弃用。
已解决的问题
已解决的问题分为以下几组。
已解决的 VIO 管理问题- 2750794 已修复:VIO 管理员删除 VIO 备份调度作业时,会删除备份数据。
在 VIO 7.0 中,管理员删除 VIO 备份调度作业时,还会删除存储在 vCenter 内容库上的备份数据。
在 VIO 7.1 中,删除备份调度作业时不会删除备份数据。 - 2738659 已修复:启用 vCenter SSL 后,VIO 备份还原过程无法正常运行。
启用 vCenter SSL 后,VIO 备份还原过程无法正常运行。无法将备份数据上载到 vCenter 内容库,并报告“x509: 证书由未知颁发机构签名 (x509: certificate unknown authority)”错误。
- 2680755 已修复:VIO 部署向导无法进展,并显示错误“vCenter 资源加载超时 (The vCenter resources loading timeout)”。
VIO 7 使用 govmomi 检索 vCenter 清单信息。如果 DistributedVirtualPortgroup 在目标 vSphere 环境中对流量筛选和标记具有“MAC”或“系统流量”流量限定符,则 govmomi 将进入应急状态。
- 2677748 已修复:VIO Manager Web UI 无法列出 OpenStack 服务状态
VIO Manager Web UI 无法列出服务旋转轮,而仅显示“找不到资源 (no resources found)”消息。
- 2591794 已修复:在 NSX-V 环境中无法访问元数据服务
如果元数据代理 Edge 无法从 VMware Integrated OpenStack API 网络路由,则无法访问元数据服务。在这种情况下,VIO7.1 将自动通过管理 API 访问元数据代理。
- 2688209 已修复:VIO 支持包仅包含大约两天的日志信息。
在 VIO 6.0 和 7.0 中,支持包只能包含大约两天的日志信息。这些日志信息不足以进行故障排除。为解决此问题,VIO 7.1 实现了自动生成日志备份功能,将日志保留期增加到了多达 7 天。
- 2707205 已修复:VIO 6/7 在控制器节点上不将 rp_filter 设置为宽松模式
VIO 6/7 转换为了 PhotonOS,并且不在控制器节点上明确设置 rp_filter,这意味着默认设置为“1”(RFC3704 严格模式)。管理网络上的应用程序可能无法连接到公共端点,因为严格模式设置会导致数据包丢弃。
- 2631412 已修复:VIO GUI 使用名称为“Kubernetes Ingress Controller Fake Certificate”的证书
证书名称是 Nginx Ingress 控制器创建的默认名称。升级到 VIO 7.1 后,将替换为具有正确名称的证书。
- 2594923 已修复:Glance 映像的 vmware_cpu_affinity 属性不起作用。
Glance 映像的 vmware_cpu_affinity 属性不起作用。使用这种 Glance 映像创建 Nova 实例时将显示错误“错误: 字段 vmware_cpu_affinity 中需要列表,而不是字符串 (HTTP 400) (Error: A list is required in field vmware_cpu_affinity, not a str (HTTP 400))”
在 VIO 7.1 中,可以按以下示例所示设置该属性:
openstack image set --property vmware_cpu_affinity="[0,1]" image_name
- 2753879 已修复:由于 fwaas v1 扩展,Heat 堆栈无法更新。
上游 Heat 仍使用 fwaas v1,且不支持 fwaas v2。但是,VIO7 仅支持 fwaas v2。
- 2713308 已修复:未使用的基础 Glance 映像累积在 Nova 缓存文件夹中。
未使用的基础 Glance 映像累积在 Nova 缓存文件夹中。清理未使用映像的后端进程无法正常运行。
- 2710808 已修复:VIO7 在 Designate 池中仅支持一条 ns_record
VIO7 在 Designate 池中仅支持一条 ns_record,VIO7.1 对此情况进行了改善,可在 Designate 中支持多条 ns_record。
- 2707581 已修复:如果将 QoS 策略配置为默认策略,则外部网络也会使用此 QoS 策略。
如果某个 QoS 策略配置为默认策略,则外部网络也会使用此 QoS 策略。对于外部网络,这是不正确的。
- 2705010 已修复:在 VIO7 中,无法更改 Octavia 的负载均衡器大小。
Octavia LBaaS 没有为用户提供更改负载均衡器大小的方法。
VIO 7.1 提供了大小配置选项。default_edge_size = <purpose>:<edge size>[,...]
支持的用途有 router、dhcp、lb。
支持的大小有 compact、large、xlarge、quadlarge。
例如:default_edge_size = lb:xlarge请使用“viocli update neutron”在 [nsxv] 部分下添加以下参数以进行配置:
conf:
neutron:
plugins: nsx: nsxv: default_edge_size: lb:xlarge - 2701437 已修复:Glance 映像选项“vmware_create_template=false”无法正常运行。
Glance 映像无法在以下配置下创建和引导 Nova 实例:
- 在 Glance 配置中,选项 vmware_create_template 为 false
- 用户使用 openstack cli 和属性“vmware_create_template=false”创建 Glance 映像
例如:
openstack image create --disk-format vmdk --file vmdk --property vmware_create_template=false imageName
- 2699470 已修复:在 Nova 计算 pod 中,无法运行 nova-manage 命令。
从 Nova 计算 pod 运行 nova-manage 命令时,将发生 DBNonExistentTable 异常,因为 nova-compute.conf 中不存在 [database] 部分。
- 2688655 已修复:在 VIO 7.0.1 中,通过 openid 进行 Openstack cli 身份验证不起作用
在 VIO 7.0.1 中,通过 openid 进行 Openstack cli 身份验证不起作用,并显示“未授权 (HTTP 401) (Unauthorized (HTTP 401))”错误。
- 2674517 已修复:在特定实例中定义的交换磁盘未正确挂载到 Nova 实例中。
在特定实例中定义的交换磁盘未正确挂载到 Nova 实例中。VIO 7.1 已修复此问题,但存在以下限制:不支持对具有交换磁盘的虚拟机调整大小。
- 2672946 已修复:当主机聚合名称具有特定条件时,Nova 计算 AZ 设置 pod 将进入 CrashLoopBackOff 状态。
如果在 AZ Nova 中具有名为“nova”的主机聚合,并在同一区域中有另一个名为“xxxxx-nova”的主机聚合且与“^.*nova$”匹配(例如 5-nova),则 Nova 计算 az-setup pod 将进入 CrashLoopBackOff 状态。
- 2656225 已修复:用户无法通过 Horizon UI 打开虚拟机控制台,并显示错误“错误: 控制台当前不可用 (Error: Console is currently unavailable)”
在某些情况下,Horizon 无法显示虚拟机控制台,并显示错误“错误: 控制台当前不可用 (Error: Console is currently unavailable)”。出现此情况的原因是,当 vmx 配置路径变长时,nova-compute 无法在数据库中插入包含 MKS 票证和 vmx 配置路径信息的行。例如,VIO 实例的 SvMotion 会导致 vmx 配置路径变为更长的字符串。
- 2652286 已修复:LB 运行状况监控器删除失败,并显示“服务器端错误: ‘NoneType’对象没有属性‘load_balancer_id’(Server-side error: 'NoneType' object has no attribute 'load_balancer_id')”
这是 Octavia 服务中的一个错误,会影响 VMware NSX 插件。在某些情况下,Octavia 服务无法检索与运行状况监控器对应的池,因此会触发此错误。该错误目前在 https://storyboard.openstack.org/#!/story/2008231 上开放,可进行跟踪
- 2678067 已修复:通过 Horizon Console,使用鼠标光标访问 Windows Nova 虚拟机时,无法始终如一地起作用
在任何浏览器上访问 Horizon Console 时,使用光标访问 Windows 虚拟机时没有响应,除非使用 Tab 或 Control + 单击。最终,将对再次单击左键停止响应。
- 2755304 已修复:Octavia LB 状态更改事务失败并停滞在 PENDING_DELETE 状态。
Octavia 使用 UNIX 套接字在驱动程序代理内部进行通信。有时,写入此套接字时出现超时,进而导致状态更改事务失败。针对状态更改事务添加了重试机制。
- 2643797 已修复:配置 trusted_dashboard 时,Horizon FQDN 将在 kystone.conf 中保存为 IP 地址,而不是 FQDN 名称。
为 Keystone 配置联合设置时,提供的 HorizonFQDN 将在 Keystone 配置文件中保存为 IP 地址,而不是提供的 FQDN 名称。
viocli update keystone conf: keystone: federation: trusted_dashboard: https://HorizonFQDN/auth/websso/
已知问题
- 公共 API 速率限制不可用。
在 VMware Integrated OpenStack 7.1 中,无法对公共 API 实施速率限制。
解决办法:无。将在更高版本中提供该功能。
- 使用未连接到路由器的专用子网创建负载均衡器会导致错误状态
通过 Neutron NSX-T 插件(例如 MP 和 Policy 插件),使用未连接到路由器的专用子网创建负载均衡器会导致负载均衡器处于错误状态,并且不会向用户报告该错误。
解决办法:使用连接到路由器的子网创建负载均衡器。
- 如果在部署 OpenStack 时输入错误的凭据,向导可能无法识别正确的凭据。
在 OpenStack 部署过程中,如果输入的 vCenter Server 或 NSX Manager 凭据不正确,向导可能无法识别正确的凭据。即使移除错误的信息并输入正确的凭据,向导也可能无法对其进行验证。
解决办法:关闭部署向导,然后重新打开。
- 在 NSX-V Neutron 插件中,无法对直连端口实施 OpenStack 端口安全性
对于 vnic-type 为直连的端口,启用端口安全性可能会不起作用。安全性功能不适用于直连端口。
解决办法:无。
- 如果 vCenter 和 NSX 密码中包含 $$,则无法登录到 VIO
如果为底层 vCenter 和 NSX 配置的 VIO 帐户使用的密码包含“$$”,则由于密码中使用“$$”,VIO 无法完成 vCenter 和 NSX 的身份验证。OpenStack pod 可能会进入 CrashLoopBackOff 状态。
解决办法:使用不包含“$$”的其他密码。
- 负载均衡器停滞在 PENDING_XXX 状态,无法运行。
当 octavia-api pod 中的 octavia-da 崩溃时,每个创建、修改或删除的负载均衡器都会发生这种停滞问题。
解决办法:在 octavia 中不能再使用这些负载均衡器。应手动将其从 octavia 数据库中移除。
- 用户无法从 openstack cli 客户端下载 Glance 映像
从 openstack cli 下载映像时,出现错误:“[Errno 32] 损坏映像下载 ([Errno 32] Corrupt image download)。”这是因为,默认情况下,VIO 将映像作为虚拟机模板存储在 vSphere 数据存储中。在 VMDK 和虚拟机模板之间不保存 md5sum 值。
解决办法:在以下配置下,可以下载 Glance 映像:
- 在 Glance 配置中,选项 vmware_create_template 为 false
- 用户使用 openstack cli 和属性“vmware_create_template=false”创建 Glance 映像
- 以管理方式将防火墙组设置为“关闭”(状态=关闭)后,防火墙组运行状态始终为“关闭”,即使防火墙组管理状态恢复为“启动”后也是如此
如果转换不涉及添加端口或从防火墙组移除端口,则 neutron-fwaas 服务将忽略更改这些转换上的运行状态。
解决办法:添加或移除端口,或者添加和移除已绑定到防火墙组的端口。
- 如果 vCenter 和 NSX 证书由中间 CA 签名,则无法选择不忽略证书验证
当 vCenter 和 NSX 证书由中间 CA 签名时,某些 VIO 服务无法正确配置以执行证书验证。可能会出现各种格式的故障。例如,添加或编辑 vCenter 或 NSX 时,无法取消选择“忽略证书验证”。
解决办法:从 UI 选择“忽略证书验证”,然后编辑 vCenter 和 NSX CR,并将
spec.insecure
设置为 true。 - 在 Neutron 分段上单击编辑并保存会意外地启用多播
在 NSX-T Policy UI 中,如果在多播路由中进行了任何无关更改,将在分段上启用多播路由。
解决办法:编辑分段时在 UI 中明确禁用多播。
- 添加成员操作失败,并显示“提供程序‘vmwareedge’报告错误: 无法检索证书: (Provider 'vmwareedge' reports error: Could not retrieve certificate::)”(HTTP 状态 500)
无法在 HTTPS _TERMINATED Octavia 负载均衡器中添加或移除成员。
解决办法:使用 OpenStack CLI 添加或移除成员。
1.获取所有受影响用户的
tls_container_ref
2.查找容器、密钥和证书 URI
3.检索 Octavia 服务用户 ID
4.将在步骤 2 中检索到的 URI 添加到在步骤 3 中检索到的用户 ID 的 ACL 中
- 在大规模 MP2P 迁移期间,Tier1 网关无法完全回滚
在大规模 MP2P 迁移期间,某些 Tier1 网关无法完全回滚,且删除状态仍保持为正在进行中。回滚失败可能是由于迁移期间出错所致。
解决办法:还原 UA,然后重新迁移。
- Keystone 联合中出现重复条目错误
在 Keystone 联合中删除 OIDC 后,如果同一用户尝试使用 OIDC 登录,身份验证将失败,并显示 409 消息。
解决办法:通过 Horizon 或 OpenStack CLI 删除用户。
例如:
1.在 Horizon 中,使用管理员帐户登录。
2.将域上下文设置为联合域。
3.在用户页面中,删除用户名列为
None
的用户。在 OpenStack CLI 中
openstack user list --domain <federated domain name>
openstack user delete <user id> --domain <federated domain name>
- 成功迁移后,VIO 支持包中不包含迁移程序 pod 日志
迁移成功后,将重新配置 VIO 控制平面,并删除迁移程序 pod。因此,不会在支持包中捕获其日志。
解决办法:迁移程序 pod 日志在控制器节点上提供,执行并存储在 /var/log/vmware/mp2p_migration.log 中。可以通过 viossh 访问控制器节点来检索日志文件。日志文件仅在执行作业的控制器上提供,因此可能需要循环访问多个控制器,直到找到这些日志文件。
- 存在 1 万个 Neutron 租户网络时,无法启用 Ceilometer。
当存在大量资源(例如,在 vSphere 中创建的网络)时,VIO 将为这些对象生成许多客户资源。如果 CR 数量太大,则 VIO Manager Web UI 将在后端 API 上失败,因为响应数据对于 http 请求而言过大。
解决办法:在 VIO Manager 中,手动删除发现的客户资源。
可以使用以下命令列出 CR:
kubectl -n openstack get discoveries.vio.vmware.com
可以使用以下命令删除 CR。例如:
kubectl -n openstack delete discoveries.vio.vmware.com vcenter-vcenter2-networks-2
- 还原后证书需要 CA 签名并重新应用
包含 VIO 私钥和证书的证书密钥目前不在备份范围内。在非就地还原后,以前导入的证书将不存在于新部署中。
解决办法:
1.保存原始部署中的证书密钥
osctl get secret certs -oyaml > certs.yaml
2. 还原后,将证书密钥中的“private_key”和“vio_certificate”值替换为步骤 1 中的数据。
3. 停止/启动服务。 - 无法在特定 Nova 计算节点上创建实例,并且 Nova 计算日志停滞不前。
创建实例时,始终处于“构建”状态,从不成功。查看 nova-compute 日志时,只有几条日志,没有更多信息。
解决办法:手动重新启动 Nova 计算 pod。
- 从 Horizon UI 保存防火墙规则更改时,没有任何响应。
如果在编辑防火墙规则时未更新标有“*”的任何必需选项,则保存更改时 UI 不会响应。
解决办法:请在编辑防火墙规则时更新所有必需选项。
- 从 VIO Manager Web UI 更改 vCenter 用户名和密码后,某些实施后操作不起作用。
当用户在 VIO Manager Web UI 中更新 vCenter 凭据时,OpenStack 服务可以正常运行。但是 VIO 控制平面无法与 vCenter 通信,因为 k8s 云提供商和 cluster-api 中的 vCenter 密钥未更新。
解决办法:使用“kubectl patch secret”命令更新 VIO Manager 中的 vCenter 凭据。
查看当前 vc 凭据密钥信息:
kubectl -n kube-system get secret viocluster1-vc-credentials -o yaml kubectl -n openstack get secret viocluster1-vc-credentials -o yaml
将 vc 凭据密钥更新为新用户名/密码(base64 格式):
kubectl -n kube-system patch secret viocluster1-vc-credentials --patch \ '{"data": {"your_vcenter.password": "password_in_base64", "your_vcenter.username": "username_in_base64"}}' kubectl -n openstack patch secret viocluster1-vc-credentials --patch \ '{"data": {"password": "password_in_base64", "username": "username_in_base64"}}'
- 使用 SAML 联合 IdP 登录时,Horizon UI 显示“xmltooling::IOException”。
如果 VIO 配置了外部 SAML IdP,则当用户尝试使用 SAML 联合登录时,将显示“xmltooling::IOException”错误。
解决办法:单击浏览器中的“刷新”按钮,用户将继续进入 IdP 登录页面。
- 使用“viocli update”命令更新 CR 时,如果输入较大的整数作为值,可能会出现错误。例如,profile_fb_size_kb:2097152。
在某些情况下,VIO Helm Chart 会将交大的整数转换为科学记数法。
解决办法:在较大整数两边添加引号。例如,profile_fb_size_kb:"2097152"。
- 控制器节点上的快照会阻止某些 VIO 操作。
如果存在控制器节点快照,则无法移动该控制器节点上的持久卷。因此,VIO 不支持生成控制器的快照。
解决办法:删除控制器节点上的所有快照。
- 默认情况下,通过映像创建的卷始终可引导。
如果在通过映像创建卷时包含 --non-bootable 参数,该参数将不起作用。
解决办法:创建卷后,将其更新为不可引导。