VMware Integrated OpenStack 7.2 | 2021 年 12 月 16 日 | 内部版本 OVA 19066814,修补程序 19066815

请查看发行说明以了解新增内容及更新。

发行说明内容

本发行说明包含以下主题:

关于 VMware Integrated OpenStack

VMware Integrated OpenStack 通过简化集成过程,极大地精简了 OpenStack 云基础架构部署。VMware Integrated OpenStack 通过在 vCenter Server 中作为虚拟设备运行的部署管理器提供即时可用的 OpenStack 功能和简单的配置工作流。

新增功能

  • 支持最新版本的 VMware 产品: 

    • VMware Integrated OpenStack 7.2 与 VMware vSphere 7.0 U2、NSX-T 3.2 和 NSX-V 6.4.11 完全兼容。 
  • 新功能和增强功能:

    • 管理平面:
      • 支持对 VIO 部署的 Neutron 执行 NSX-V 到 NSX-T 迁移:VMware NSX Data Center for vSphere 6.4.x 的标准技术支持有效期将于 2022 年 1 月 16 日到期。此版本增加了将现有 VIO 部署的 Neutron 从 NSX-V 迁移到 NSX-T 的功能。NSX-T 需要使用 3.2 或更高版本。 
      • 支持导入虚拟机功能增强功能:在具有 NSX-T Data Center 网络连接的部署中,VIO 可以导入具有多个 vNIC 的虚拟机,为非根磁盘指定卷类型,并将其与自定义特定实例相关联。
      • 支持灾难恢复增强功能:为管理平面恢复提供 UI 支持,并在恢复后自动更新某些 NSX 资源。它还支持使用多个 vCenter 部署 VIO。
      • 支持 VIOCLI 增强功能:可帮助执行多个 vCenter 部署的操作,包括卷迁移命令和实例/虚拟机操作命令。 
      • 支持新的运行状况检查工具:VIO 管理员可以使用 viocli 命令检查 VIO 系统的运行状况。有关更多信息,请参见 VIO 7.2 管理指南。
      • 支持 VIO Web UI 改进:VIO 管理员可以直接从 VIO Web UI 备份或还原部署。  在上一版本中,管理员只能使用 viocli 命令执行此操作。
      • 支持一次性修补程序管理:在此版本中,我们通过 viocli 命令为一次性修补程序提供统一的管理工具。所有一次性修补程序都通过 viocli 命令执行基本安装/卸载过程并列出状态。  
      • 支持 VIO 修补程序增强功能:在启动修补程序之前提供自动先决条件检查。还可以在修补程序安装期间跟踪进度。 
    • ​​OpenStack 驱动程序:
      • 使用多个 SR-IOV 配置虚拟机 vNIC 连接:提供通用方法以在指定的 SR-IOV pNic 上连接 VNF,同时在 NUMA 节点对齐下放置虚拟机。
      • 支持租户 VDC 增强功能:管理员可以迁移租户 VDC 中的虚拟机。还支持重命名租户 VDC。
      • 为 Nova 实例支持多个 vGPU 配置文件:您可以使用 nova-manage 命令在 vCenter Server 下显示和更新 vGPU 信息。  

升级到版本 7.2

  • 使用 viocli patch 命令从之前的 VIO 7.x 升级。有关详细信息,请参见产品安装指南。 
  • 要从 6.0 升级,请使用产品安装指南中所述的蓝/绿升级过程。 

兼容性

弃用通知 

  • 以下网络连接功能已弃用,将不包含在下一个 VIO 版本中:
    • 适用于 Neutron 的 NSX Data Center for vSphere 驱动程序。
  • Neutron FWaaSv2 将在未来版本中弃用。

已解决的问题

已解决的问题分为以下几组。

已解决的 VIO 管理问题
  • 2836971 已修复:将用户指定的备份名称作为参数时,viocli get backup 失败

    无法获取和删除以备份文件名作为 viocli 参数的备份。

  • 2700928 已修复:VMware Integrated OpenStack Manager Web UI 所用的 Kubernetes Ingress 控制器使用过时的 nginx 1.15.10 版本。

    Ngnix 现已更新到 1.20.1。

  • 2824166 已修复:Octavia 服务不支持自定义资源中的策略。

    管理员无法使用 viocli update 命令自定义 Octavia 策略。

  • 2882017 已修复:重新启动 openvswitch-vswitchd pod 后,OVS 配置未恢复。

    重新启动 openvswitch-vswitchd pod 后,OVS 配置未恢复。

已解决的 OpenStack 问题
  • 2759804 已修复:如果 vCenter 和 NSX 证书由中间 CA 签名,则无法选择不忽略证书验证。

    当 vCenter 和 NSX 证书由中间 CA 签名时,某些 VIO 服务无法正确配置以执行证书验证。可能会出现各种格式的故障。例如,添加或编辑 vCenter 或 NSX 时,无法取消选择“忽略证书验证”。

  • 2863416 已修复:在 datastore_cluster 后端构建和运行实例失败。

    无法基于 datastore_cluster 后端启动 Nova 实例。

  • 2767303 已修复:从 VIO Manager Web UI 更改 vCenter 用户名和密码后,某些实施后操作不起作用。

    当用户在 VIO Manager Web UI 中更新 vCenter 凭据时,OpenStack 服务暂停。但是 VIO 控制平面无法与 vCenter 通信,因为 k8s 云提供商中的 vCenter 密钥未更新。

  • 2852405 已修复:由于 configdrive.iso 文件失效,vSAN 数据存储使用率较高。

    删除 vSAN 数据存储中的 Nova 实例时,将不会删除失效的 configdrive.iso 文件。

  • 2857728 已修复:VIO 仪表板每隔几个小时就变得不可访问。只有在删除 Ingress pod 后,才能访问该容器。

    在具有 DVS 后端的 VIO 中,大量元数据请求可能会导致输入速度变慢,从而导致无法访问 VIO 仪表板。

  • 2851020 已修复:无法从非模板映像引导实例。

    无法从设置了“vmware_create_template=false”和“img_linked_clone=false”属性的映像引导第二个 nova 实例。

  • 2746353 已修复:向所有 nova-compute 节点全局添加通常需要的 nova-compute 参数。

    在 VIO 7.2 中,可以通过运行“viocli update nova”以全局方式将通常需要的 nova-compute 参数添加到所有 nova-compute 节点。

  • 2814396 已修复:负载均衡器挂起并处于 PENDING_UPDATE 状态。

    在 VIO 7.0.1/7.1 中,当同一对象收到两个 DELETE 更新时,第二个更新会将 LB 固定在 PENDING_UPDATE 状态。但是,在 VIO 7.2 中,在类似情况下,我们将跳过对 LB 的更新,因此其状态不会更改为 PENDING_UPDATE。

  • 2795219 已修复:无法在多 vCenter 环境中使用“viocli prepare datastore”撤出旧存储卷。

    在 VIO 7.2 中,为“viocli prepare datastore”命令添加了“--vcenter-name”标记,这有助于规范 vCenter。如果未指定,则将其视为管理 vCenter。 

  • 2759873 已修复:VIO 部署 NSX LB 时部分失败。

    如果使用 barbican 将完整的证书链上载到 NSX,则可能不会创建负载均衡器。

  • 2761460 已修复:将多个固定 IP 添加到单个端口时设置失败。错误为 BadRequestException: 400: URL 的客户端错误 (Client Error for URL)。

    在 VIO 7.0.1/7.1 中,将多个固定 IP 添加到单个端口失败,并显示错误 BadRequestException: 400: URL 的客户端错误 (Client Error for URL):https://frn-pr-vn-01.corp.fortinet.com:9696/v2.0/ports/a840e560-6614-4b44-a275-2898a39b14cb。在 VIO 7.2 中,用户可以为每个端口添加多个固定 IP。

     

  • 2764317 已修复:成功迁移后,VIO 支持包中不包含迁移程序 pod 日志。

    迁移成功后,将重新配置 VIO 控制平面,并删除迁移程序 pod。因此,不会在支持包中捕获其日志。

  • 2768005 已修复:使用 SAML 联合 IdP 登录时,Horizon UI 显示“xmltooling::IOException”。

    如果 VIO 配置了外部 SAML IdP,则当用户尝试使用 SAML 联合登录时,将显示“xmltooling::IOException”错误。

  • 2760150 已修复:从 Horizon UI 保存防火墙规则更改时,没有任何响应。

    如果在编辑防火墙规则时未更新标有“*”的任何必需选项,则保存更改后 UI 无响应。

已知问题

  • 公共 API 速率限制不可用。

    在 VMware Integrated OpenStack 7.2 中,无法对公共 API 实施速率限制。

    解决办法:无。将在更高版本中提供该功能。

  • 使用未连接到路由器的专用子网创建负载均衡器会导致错误状态。

    通过 Neutron NSX-T 插件(例如 MP 和 Policy 插件),使用未连接到路由器的专用子网创建负载均衡器会导致负载均衡器处于错误状态,并且不会向用户报告该错误。

    解决办法:使用连接到路由器的子网创建负载均衡器。

  • 在 NSX-V Neutron 插件中,无法对直连端口实施 OpenStack 端口安全性。

    对于 vnic-type 为直连的端口,启用端口安全性可能会不起作用。安全性功能不适用于直连端口。

    解决办法:无。

  • 如果 vCenter 和 NSX 密码中包含 $$,则无法登录到 VIO。

    如果为底层 vCenter 和 NSX 配置的 VIO 帐户使用的密码包含“$$”,则由于密码中使用“$$”,VIO 无法完成 vCenter 和 NSX 的身份验证。OpenStack pod 可能会进入 CrashLoopBackOff 状态。

    解决办法:使用不包含“$$”的其他密码。

  • 用户无法从 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 服务将忽略更改这些转换上的运行状态。

    解决办法:添加或移除端口,或者添加和移除已绑定到防火墙组的端口。

  • 在 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>

  • 存在 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-Compute 节点上创建实例,并且 Nova-Compute 日志停滞不前。

    创建实例时,始终处于“构建”状态,从不成功。查看 nova-compute 日志时,只有几条日志,没有更多信息。

    解决办法:手动重新启动 nova-compute pod。

  • 无论 FWaaS 绑定如何,都会在 Neutron 路由器的所有下行链路端口上强制实施 FWaaS v2 规则。

    此行为特定于 NSX-V 分布式路由器。对于这些路由器,在 PLR 和 DLR 之间实施 NSX-V。FWaaS 规则在 PLR 上运行,但下行链路接口位于 PLR 上。因此,防火墙规则适用于进出下行链路的所有流量。

    解决办法:对于分布式路由器,明确包括源和目标子网以与下行链路子网 CIDR 相匹配。请确保防火墙组应用于路由器上的每个端口,或者使用集中式路由器而不是分布式路由器。

  • 在 Edge 集群上禁用 DRS 可能会触发删除 VIO 使用的资源池。

    在 Edge 集群上禁用 DRS 可能会触发 VIO 资源池,该资源池将不再管理 Edge 设备。

    解决办法:请勿在 Edge 集群上执行以下步骤:

    1.右键单击 Edge 集群。

    2.在 Edge 集群上禁用 DRS。

  • 从 NSX-V 迁移到 NSX-T 后,虚拟机无法访问 Nova 元数据服务。迁移后创建的新虚拟机可以访问 Nova 元数据服务。

    从 NSX-V 迁移的虚拟机具有静态路由,用于通过 DHCP 服务器重定向元数据流量。此配置在 NSX-T 上不起作用,因为 NSX-T 会插入链路路由以进行元数据访问。

    解决办法:重新引导虚拟机,或者如果您有权访问虚拟机,请移除通过 DHCP 服务器的静态路由并续订 DHCP 租约,使新租约由具有相应路由的 NSX-T DHCP 服务器提供以用于访问 Nova 元数据服务。

  • 使用“viocli update”命令更新 CR 时,如果输入较大的整数作为值,可能会出现错误。例如,profile_fb_size_kb:2097152。

    在某些情况下,VIO Helm Chart 会将交大的整数转换为科学记数法。

    解决办法:在较大整数两边添加引号。例如,profile_fb_size_kb:"2097152"。

  • 在 NSX-T 上创建负载均衡器时,V2T 迁移程序 Pod 始终失败。

    对于在外部网络中具有后端成员的负载均衡器,V2T 迁移将失败。这是因为 NSX-T 不支持此配置。“API 重放”阶段将会失败,但在此之前,南北向切换或主机迁移可以启动。因此无需回滚。

    解决办法:从 LB 池中移除外部网络上的成员,然后再触发 V2T 迁移。

  • 控制器节点上的快照会阻止某些 VIO 操作。

    如果存在控制器节点快照,则无法移动该控制器节点上的持久卷。因此,VIO 不支持生成控制器的快照。

    解决办法:删除控制器节点上的所有快照。

  • 默认情况下,通过映像创建的卷始终可引导。

    如果在通过映像创建卷时包含 --non-bootable 参数,该参数将不起作用。

    解决办法:创建卷后,将其更新为不可引导。

  • 在 V2T 迁移期间,NSX 主机迁移可能会在“解决配置”期间失败,并显示以下反馈请求:“维护模式迁移的 DRS 配置不正确 (Incorrect DRS configuration for Maintenance Mode migration)”。

    某些配置在 V2T 迁移期间不支持 vSphere DRS。有关支持的 DRS 模式的详细信息,请参见 NSX-T V2T 指南。 

    解决办法:在以下任一情况下,请禁用 vSphere DRS:

    • 就地迁移:在此模式下,主机在迁移期间不会置于维护模式。仅当环境为 vSphere 6 时,此模式才可用(VDS 将迁移到 N-VDS)。
    • 自动维护迁移:在此模式下,vCenter Server 版本为 6.5 或 6.7。
  • 通过 VIO NSX-V 集成,在定义了多个计算集群时,Openstack 实例无法发送和接收流量。

    Neutron 默认安全组(允许 DHCP 流量)是在首次启动 neutron-server 时创建的。如果将计算集群添加到 VIO 部署中,则不会自动将其添加到默认安全组。
     

    解决办法:使用 NSX 管理实用程序重建默认防火墙区域,如下所示:

    nsxadmin -r firewall-sections -o nsx-update

  • 将 Neutron 网络迁移到 NSX-T 时,API 中的 V2T 迁移器作业失败。将报告类似以下内容的错误:2021-05-18 17:16:00,612 错误 无法创建网络:: 操作输入无效: 不能使用透明 VLAN 设置分段 ID (2021-05-18 17:16:00,612 ERROR Failed to create a network:: Invalid input for operation: Segmentation ID cannot be set with transparent VLAN)。

    NSX-V Neutron 插件允许为提供商 VLAN 网络设置 VLAN 透明网络设置。此设置没有太大意义,因为提供商网络将仅使用特定的 VLAN。NSX-T Neutron 插件不允许使用此类配置。

    解决办法:取消设置网络的 VLAN 透明度,然后重试。

  • 在某些情况下,在配置路由器外部网关时,API 重放将失败并显示内部错误。Neutron 迁移程序作业日志将显示类似以下内容的错误:ERROR Failed to add router gateway with port : Request Failed: internal server error while processing your request.

    之发生这种情况,是因为在迁移程序作业的 Pod 中运行的临时 Neutron 服务器会检查 NSX-T 的第 1 层实现。在某些极少数情况下,这种实现速度可能极慢且会超时。出现此问题时,临时 Neutron 服务器日志 (/var/log/migration/neutron-server-tmp.log) 将报告类似以下内容的错误:2021-05-07 10:36:31.909 472 ERROR neutron.api.v2.resource vmware_nsxlib.v3.exceptions.RealizationTimeoutError: LogicalRouter ID /infra/tier-1s/ was not realized after 50 attempts with 1 seconds sleep

    解决办法:此问题尚无解决办法。在大多数情况下,重试即可解决问题。如果问题持续出现,则需要对 NSX-T 进行故障排除,以找出实现缓慢的根本原因。

  • 在某些情况下,将成员添加到其中一个池后,Openstack 负载均衡器将进入“错误”状态。

    发生这种情况的原因是,已在连接到 NSX 负载均衡器的路由器的下行链路上配置了选定成员。在这种情况下,Openstack 驱动程序无法重新使用现有的 LBS。

    解决办法:在下行链路网络上使用 VIP 重新创建 Openstack LoadBalancer。然后,将浮动 IP 与 VIP 端口相关联。

  • V2T 迁移失败,并显示以下错误:INFO vmware_nsx.shell.admin.plugins.nsxv.resources.migration NSX : does not belong to Neutron.Please delete it.However, the referenced edge is created by the VIO Neutron service.

    这是 NSX-V 插件的问题,即,并非作为池的一部分创建的所有 Edge 都会添加到 Neutron 数据库映射中,因此会错误地将其标识为不属于 Neutron。

    解决办法:忽略警告。在用户确定没有其他失败的验证检查要解决后,请在 migrator.conf.json 中将 strict_validation 设置为 False,然后重新启动迁移程序作业。

  • 处理处于“关闭”状态的集群。

    如果 NSX-V 上有任何计算集群处于关闭状态,则主机迁移无法启动。开始迁移之前,必须确保所有集群都处于正常状态。如果某些主机持续出现故障,应将其从计算集群中移除。此主机上的虚拟机将迁移到集群中的其他主机。

    解决办法:V2T 迁移完成后,可以重新配置 NSX-T 的受影响主机,并将其重新添加到原始集群。

  • 迁移后,可能会出现 Neutron 逻辑端口对应的负载均衡器不存在的情况。

    执行 V2T 迁移后,将迁移处于错误状态的负载均衡器的 Neutron 端口,即使对应的负载均衡器并未迁移。V2T 迁移过程会跳过处于“错误”状态的 Octavia 负载均衡器。这是因为处于此类状态的负载均衡器未在 NSX-T 上正确实施;此外,“错误”状态不可变,因此您必须删除这些负载均衡器。但是,相应的逻辑端口已迁移。

    解决办法:迁移完成后,可以安全地删除这些端口。在开始迁移之前删除处于“错误”状态的负载均衡器,可以彻底避免出现此问题。

  • 移除 Neutron 路由器网关时失败。

    报告的错误为“无法删除 router_gateway,因为它仍具有 lb 服务连接 (Cannot delete a router_gateway as it still has lb service attachment)。”但是,没有任何 Octavia 负载均衡器连接到路由器的任何子网;同样,Octavia 负载均衡器并未连接到外部网络,在路由器下行链路之间也没有成员。

    解决办法:在 VIO7.2 之前,唯一的解决办法是将负载均衡器与后端的第 1 层路由器断开连接。在 VIO7.2 中,管理员可以使用一个实用程序从 NSX-T 中移除失效的负载均衡器。
    列出孤立项:nsxadmin -r lb-services -o list-orphaned
    删除孤立项:nsxadmin -r lb-services -o clean-orphaned

  • Horizon 上无法显示已恢复 Nova 实例的控制台和日志。

    执行灾难恢复过程后,登录到目标站点上的 Horizon 并导航到“项目”->“计算”->“实例”,查看每个已恢复实例的日志和控制台,将只显示空白。

    解决办法:在目标站点上创建新的 Nova 实例,然后再次检查每个已恢复的 Nova 实例,该实例应当能够正常工作。

  • 在 edge 阶段的南北向切换期间,V2T 迁移失败。UI 返回的消息为“未找到传输区域”。在正在运行 migration-coordinator 服务的 NSX-T Manager 实例上,/var/log/migration-coordinator/v2t/cm.log 显示,在为 Neutron 备份池中的分布式 Edge 创建“迁移转换 LS”时失败(Edge 名称以“backup-”开头)。

    V2T 迁移程序将尝试为每个 NSX-V 分布式路由器创建用于南北向切换的转换交换机。因此,它会扫描所有分布式 Edge,并为每个 Edge 执行此操作。要想成功,Edge 必须至少具有一个下行链路接口,以便迁移程序可以找到相关的传输区域。但是,Neutron 可能会将某些分布式 Edge 保留在“备份池”中。这些未经配置、可立即使用的 Edge 设备会导致 V2T 迁移程序失败。

    解决办法:从 NSX-V 中,删除 Neutron 备份池中的分布式 Edge。这不会对 Neutron/NSX-T 操作产生任何影响

check-circle-line exclamation-circle-line close-line
Scroll to top icon