VMware Integrated OpenStack 7.0.1 | 2020 年 11 月 19 日 | 内部版本 17200834

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

发行说明内容

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

关于 VMware Integrated OpenStack

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

新增功能

  • 支持最新版本的 VMware 产品:VMware Integrated OpenStack 7.0.1 支持并完全兼容 VMware vSphere 7.0u1、NSX-T Data Center 3.1 和 NSX Data Center for vSphere 6.4.8
  • 新功能和增强功能:
    • 支持有状态 DHCPv6:现在,可以选择 SLAAC 或 DHCPv6 用于在数据平面中进行 IP 寻址。此功能要求使用 Neutron Policy Plugin 和 NSX-T 3.1。
    • 支持 Neutron 端口 allowed-address-pairs 设置使用 IP CIDR 格式。此功能要求使用 Neutron Policy Plugin 和 NSX-T 3.1。
  • 升级过程改进:
    • 如果您的 VMware Integrated OpenStack 5.1 部署包含启用了 FWaaS v1 的防火墙,则可以直接升级到版本 7.0.1,并且 FWaaS v1 将自动迁移到 FWaaS v2。

升级到版本 7.0.1

要升级到 VMware Integrated OpenStack 7.0.1,请使用 viocli patch 命令应用修补程序。

可以将修补程序应用于现有的 VMware Integrated OpenStack 7.0 部署,也可以将其应用于不含部署的 VMware Integrated OpenStack 7.0 OVA。修补程序适用于以下情形:

有关修补程序说明,请参见《VMware Integrated OpenStack 安装和配置指南》中的应用 VMware Integrated OpenStack 7.0.1 修补程序

兼容性

弃用通知 

  • Neutron FWaaSv2 将在未来版本中弃用。
  • 以下网络连接功能已弃用,将不包含在未来版本中:
    • 适用于 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 后端。

国际化

VMware Integrated OpenStack 提供英文版以及另外七种语言版本:简体中文、繁体中文、日语、韩语、法语、德语和西班牙语。

以下项目必须仅包含 ASCII 字符。

  • OpenStack 资源(如项目、用户和映像)的名称
  • 基础架构组件(如 ESXi 主机、端口组、数据中心和数据存储)的名称
  • LDAP 和 Active Directory 属性 

适用于 VMware Integrated OpenStack 的开源组件

有关适用于 VMware Integrated OpenStack 中分发的开源软件组件的版权声明和许可证,可从产品下载页面的“开源”选项卡上获取。您还可以下载适用于 VMware Integrated OpenStack 组件的披露软件包,这些披露软件包受 GPL、LGPL 或其他要求源代码或源代码修改可用的类似许可证的约束。

已解决的问题

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

    升级

    本版本中已解决下列升级问题。

    • 从 VMware Integrated OpenStack 5.x 升级到 7.0 因 LDAP 配置而失败。

      如果配置的 LDAP 和设置的 AD 域名不含域信息,则升级脚本将失败。

    • 在大规模环境中,从 VMware Integrated OpenStack 5.x 升级到 7.0 失败。

      在大规模环境中从 VMware Integrated OpenStack 5.x 升级到 7.0 时,vCenter 发现服务将失败并显示以下错误消息:“请求实体过大: 限制大小为 3145728 (Request entity too large: limit is 3145728)”。

    • 从 VMware Integrated OpenStack 5.x 直接升级到 7.0 后,无法显示在版本 5.x 中创建的防火墙

      VMware Integrated OpenStack 5.x 使用 FWaaS v1。VMware Integrated OpenStack 7.0 使用 FWaaS v2。不再需要在升级之前从 FWaaS v1 迁移到 FWaaS v2。

    • 同时执行多个操作时,Neutron 服务会报告 ToozConnectionError

      从 VMware Integrated OpenStack 5.x 升级到具有 NSX-V 插件的 7.0 后,执行与网络相关的操作时,Neutron 服务会报告 ToozConnectionError,尤其是在同时执行多个操作的时段会报告此错误。

      本版本已修复此问题,但仍需要将 neutron-server 副本编号设置为 1。

    • 升级到 VMware Integrated OpenStack 7.0 后,无法部署 Heat 堆栈,并显示错误:AuthorizationFailure

      从 VMware Integrated OpenStack 5.x 升级到 7.0 后,无法部署 Heat 堆栈,并显示错误:AuthorizationFailure,因为不会保留在 heat.conf 文件中配置的用户凭据。

    • 在升级过程中不会保留 keystone.conf 中的某些身份验证方法。

      在从 VMware Integrated OpenStack 5.1 升级到 VMware Integrated OpenStack 7.0 的过程中,不会保留不受支持的身份验证方法,例如“application_credential”。

    • 升级到 VMware Integrated OpenStack 7.0 后,请求 Neutron 配额详细信息失败。

      如果用户在 VMware Integrated OpenStack 5.x 中设置了负载均衡器相关配额,则升级到 VMware Integrated OpenStack 7.0 后,将无法请求 Neutron 配额。

    一般问题

    本版本中已解决下列一般问题。

    • NSX-T Edge id 与 nsx_id 不同时,VMware Integrated OpenStack 7.0 部署将失败。

      如果 Edge id 和 nsx id 具有不同的值,则新 VMware Integrated OpenStack 7.0 部署将失败,并在 NSX-T 2.5.1 上显示 Neutron Server 错误“vmware_nsxlib.v3.exceptions.ResourceNotFound: 在后端找不到资源 (vmware_nsxlib.v3.exceptions.ResourceNotFound: Resource could not be found on backend)”。

    • 虚拟设备角色标记不返回正确的值。

      不从元数据服务中正确返回所标记设备的硬件地址。

    • 在重新启动数据库 pod 后显示的数据不一致

      重新启动数据库 pod 时,可能会有多个 pod 声明为主节点,并且这些 pod 不构成单个集群。

    • 虚拟机无法访问路由器 IPv6 网关。

      在具有 NSX-V 6.4.8 的 VMware Integrated OpenStack 7.0 环境中,虚拟机无法访问路由器 IPv6 网关。

    • 如果创建虚拟机时将 LatencySensitivity 设置为“高”,则属性 ethernetx.cTxPerDev 将设置为 1

      如果创建虚拟机时将 LatencySensitivity 设置为“高”,cTxPerDev 不应自动设置为 1。
      cTxPerDev 设置应与“hw:vifs_multi_thread”属性保持一致。

    • Horizon UI 无法显示日语

      即使更改语言设置后,最终用户也无法查看 Horizon 日语 UI。

    • 命令“viocli delete deployment”将删除 vCenter 内容库中存储的备份文件

      命令 viocli delete deployment 会删除 vCenter 内容库中存储的备份文件,但不显示警告消息。现在,该命令会显示警告消息,并在执行删除之前等待管理员确认。

    • 当 vCenter 的 instanceUuid 包含大写字母时,使用 GUI 部署 OpenStack 将失败。

      使用 GUI 部署 OpenStack 时,如果 vCenter instanceUuid 包含大写字母,则生成的 Nova 计算名称将包含大写字母,并且 VMware Integrated OpenStack 部署将失败。无法创建 Nova 计算 CR,因为 Kubernetes 不接受包含大写字母的名称。

    • 在 VMware Integrated OpenStack 6.0 或 7.0 部署中,通过 VIP 访问 Heat 自动扩展 URL 失败

      通过 VIP 访问 Heat 自动扩展 URL 失败,并显示 SSLError:“证书验证失败 (certificate verify failed)”。

    • Heat 堆栈失败,并显示错误:DesignateClientPlugin 对象没有属性 _get_service_name (DesignateClientPlugin object has no attribute _get_service_name)。

      Heat 堆栈(创建端口和记录集)失败,并显示以下错误:
      错误: 属性错误: : resources.ha_proxy_vip_shared_dns.properties.zone: : “DesignateClientPlugin”对象没有属性“_get_service_name”(ERROR: Property error: : resources.ha_proxy_vip_shared_dns.properties.zone: 'DesignateClientPlugin' object has no attribute '_get_service_name')。

    • 无法在具有 RBAC 的网络上创建负载均衡器

      在具有 RBAC 的网络上创建 LB 失败,并显示诸如以下错误:“创建失败: 无详细信息: DriverError: 驱动程序错误: 找不到路由器 9e7c00b4-1e96-44fc-bcc5-ab9a7a9ef334 (create failed: No details.: DriverError: Driver error: Router 9e7c00b4-1e96-44fc-bcc5-ab9a7a9ef334 could not be found)”。

    • 创建负载均衡器时,Neutron 报告驱动程序错误:lbaas-listener 请求错误,无法在 NSX 后端创建虚拟服务器 (Bad lbaas-listener request, failed to create virtual server at NSX backend)。

      Neutron 报告驱动程序错误:lbaas-listener 请求错误: 无法在 NSX 后端创建虚拟服务器 (Bad lbaas-listener request: Failed to create virtual server at NSX backend)。如果多个侦听器具有相同的证书,则会出现此问题。

    • 使用 --cascade 选项删除 Octavia LB 失败

      使用“--cascade”选项删除 Octavia 负载均衡器时,LB 仍保持“PENDING_DELETE”状态。

    • 使用允许的地址对创建 Neutron 端口失败,并在使用 DVS 插件的部署中记录 UnboundLocalError。

      在使用 DVS 插件的 VMware Integrated OpenStack 7.0 部署上使用允许的地址对创建 Neutron 端口时,API 调用可能会失败,并显示 HTTP/500 错误。Neutron 日志将显示以下形式的异常:“POST failed.: UnboundLocalError: local variable 'port_security' referenced before assignment”。出现此问题的原因是:由于从 Python 2.7 切换为 Python 3.7,在 VMware Integrated OpenStack 7.0 中引入了变量作用域异常。此问题仅影响 DVS 插件。

    • 在 NSXV 插件上,如果启用 nsxv_use_routers_as_lbaas_platform 标志,则删除负载均衡器会导致服务 Edge 刷新连接跟踪表。

      在以上情况下删除负载均衡器时,LBaaSv2 驱动程序会从服务 Edge 设备中移除 VIP。
      这会导致 Edge 连接跟踪表刷新。当 Edge 托管其他负载均衡器对象时,将丢弃与这些负载均衡器的连接。

    • 将日志转发到 vRealize Log Insight 8.1.1 或更高版本可能无法正常运行

      从版本 8.1.1 开始,vRealize Log Insight 默认在 VMware Integrated OpenStack 7.0 用于日志转发的端口 9000 上启用 SSL 连接。但是,VMware Integrated OpenStack 7.0 将此端口视为 http 端点,因此 vRealize Log Insight 8.1.1 将不再能够接收 VMware Integrated OpenStack 日志。为了解决此问题,VMware Integrated OpenStack 7.0.1 为客户提供了以下方法:从 Web Client 将 vRealize Log Insight 端口 9543 用作 https 端点。如果要继续使用端口 9000 作为 http 端点,请在 vRealize Log Insight 8.1.1 或更高版本中禁用“SSL 连接”。

    • Cinder Backup 服务无法正常启动并运行。

      Cinder-backup pod 无法挂载备份 NFS,并显示错误“rpc.statd 未运行,但需要运行此项才能进行远程锁定 (rpc.statd is not running but is required for remote locking)”。

    已知问题

    已知问题分为如下类别。

      升级

      在执行升级之前,请考虑以下问题。
      • 从 VMware Integrated OpenStack 5.x 升级到 7.0 后,Horizon 操作不断重定向到登录页面

        升级后,Horizon 或 Ingress pod 可能会出现问题。重新创建可恢复正常功能。

        解决办法:执行以下步骤以重新创建 Horizon 或 Ingress pod。

        1. 通过 ssh 登录到管理虚拟机。
        2. 要重新创建 Horizon pod,请使用以下命令:
          kubectl get pods -n openstack|grep horizon-server| awk '{print $1}'|xargs kubectl -n openstack delete pod 
        3. 要重新创建 Ingress pod,请使用以下命令:
          kubectl get pods -n openstack|grep '^ingress' | awk '{print $1}'|xargs kubectl -n openstack delete pod
      • 不包含计算集群的 vCenter Server 实例在升级期间不会保留。

        如果您的 VMware Integrated OpenStack 5.1 部署包含 vCenter Server 实例,但未将其所含的计算节点添加到部署中,则在升级到 VMware Integrated OpenStack 7.0 之后,将不会保留这些 vCenter Server 实例的设置。

        解决办法:完成升级后,将所需的 vCenter Server 实例添加到 VMware Integrated OpenStack 7.0 部署。

      • 如果将负载均衡器从 Neutron-lbaas 迁移到 Octavia,没有成员的负载均衡器将消失

        不使用没有成员的负载均衡器,因此也不会进行迁移。这样的负载均衡器将在 Neutron 数据库同步期间消失,因为它们缺少后端实现。

        解决办法:在迁移之前,移除未使用的负载均衡器。

      • 从 VMware Integrated OpenStack 5.1.0.4 升级后存在失效的 Nova 服务

        升级到 VMware Integrated OpenStack 7.0 后,5.1.0.4 中的旧版 Nova 服务处于“关闭”状态

        [root@vioadmin1-vioshim-5dbf477dc4-2lh7s ~]# nova service-list
        +---------------------------------------------------------------------------
        | Id | Binary | Host | Zone | Status | State 
        | Updated_at | Disabled Reason | Forced down 
        |+--------------------------------------------------------------------------
        | cbe3345a-4daa-41fa-8133-60302e369533 | nova-conductor | controller02 | internal | enabled | down 
        | 2020-04-29T14:58:20.000000 | - | False |
        | cb2ebf3c-53e1-493b-979e-471a1bd2e3b9 | nova-conductor | controller01 | internal | enabled | down 
        | 2020-04-29T14:58:20.000000 | - | False |
        | 669d979a-26a2-4b85-a139-a6705a3b04f8 | nova-scheduler | controller02 | internal | enabled | down 
        | 2020-04-29T14:58:23.000000 | - | False |
        | f97b8c40-ab45-4e9c-ac3d-675f1600d5ad | nova-scheduler | controller01 | internal | enabled | down 
        | 2020-04-29T14:58:23.000000 | - | False |
        | 39312d81-841e-4399-b178-f9b7d47eba1b | nova-consoleauth | controller02 | internal | enabled | down 
        | 2020-04-29T14:58:17.000000 | - | False |
        | 793480c6-6503-4fc2-a89e-fe20a3700efb | nova-consoleauth | controller01 | internal | enabled | down 
        | 2020-04-29T14:58:16.000000 | - | False |
        |04T05:15:54.000000 | - | False |

        解决办法:移除处于“关闭”状态的服务。

        1. 更新 Nova CR。
          viocli update nova nova-xxx
        2. 对于清单参数,请设置 cron_job_service_cleaner: true,例如:
          conf:
            nova:
              neutron:
                metadata_proxy_shared_secret: .Secret:managedencryptedpasswords:data.metadata_proxy_shared_secret
              vmware:
                passthrough: "false"
                tenant_vdc: "false"
          manifests: 
            cron_job_service_cleaner: true
        3. 保存 CR 并等待重新创建所有 Nova pod。

        大约一小时后,cronjob 将移除处于“关闭”状态的所有服务。

      • 升级到 VMware Integrated OpenStack 7.0 之后,无法在 NSX-V 环境中访问元数据服务。

        从 VMware Integrated OpenStack 5.x 升级到具有 NSX-V 插件的 7.0 时,如果无法从 VMware Integrated OpenStack API 网络路由元数据代理 Edge,则元数据服务将无法访问。

        解决办法:登录到每个控制器节点,然后通过 eth0 网卡使用网关将路由添加到元数据代理服务。

        1. 列出控制器节点:
          osctl get nodes
        2. 登录到每个控制器节点:
          viossh <CONTROLLER_NODE_NAME>
        3. 将路由添加到元数据代理服务:
          sudo ip route add <metadata_proxy_ip1> via <metadata_proxy_gateway> dev eth0
          sudo ip route add <metadata_proxy_ip2> via <metadata_proxy_gateway> dev eth0
      • 从 VMware Integrated OpenStack 5.1 升级后,LDAP 用户无法登录

        从 VMware Integrated OpenStack 5.1 升级后,LDAP 用户无法登录到 VMware Integrated OpenStack 7.0。

        解决办法:在发布 VMware Integrated OpenStack 5.1 版本后,Keystone 社区代码进行了更改。要解决此问题,必须更新用户数据库。请参见 KB79373

      • 如果在 VMware Integrated OpenStack 5.x 中启用 Designate 组件,则升级到 7.0 后,将无法更新在 VMware Integrated OpenStack 5.x 中创建的区域

        VMware Integrated OpenStack 5.x 中 Designate 组件的架构与 VMware Integrated OpenStack 7.0 中的架构不同。在 VMware Integrated OpenStack 5.x 中,Designate 区域的主 IP 对应于负载均衡器节点的公共 IP。但在升级到 VMware Integrated OpenStack 7.0 后,7.0 测试平台将不使用负载均衡器节点的公共 IP,因此该区域无法对其主 IP 发出 AXFR 请求。

        解决办法:手动将在 5.x 上所创建区域的主 IP 更新为公共 VIP。以下步骤说明了如何使用 bind9 后端执行更新。Bind9 服务器必须支持 modzone 操作。

        1. 选择一个 designate-worker-XXXXX pod 并登录。
          osctl exec -it designate-worker-XXXXX bash
        2. 获取有关在 VMware Integrated OpenStack 5.1 中创建的 Designate 区域的信息。在以下示例中,bind9 服务器的 IP 地址为 192.168.111.254,Designate 区域为 test.com。
          rndc -s 192.168.111.254 -p 953 -k /etc/designate/rndc.key showzone test.com.
          zone "test.com" { type slave; file "slave.test.com.1b10d5ec-e39c-449d-b1e1-c7bf1fba02e5"; masters { 192.168.112.162 port 5354; 192.168.112.163 port 5354;}; }; 
        3. 将 Designate 区域的主 IP 更新为 VMware Integrated OpenStack 7.0 的公共 VIP。在以下示例中,VMware Integrated OpenStack 7.0 的公共 VIP 是 192.168.112.160。
          rndc -s 192.168.111.254 -p 953 -k /etc/designate/rndc.key modzone test.com '{ type slave; file "slave.test.com.1b10d5ec-e39c-449d-b1e1-c7bf1fba02e5"; masters { 192.168.112.160 port 5354; }; };'

      一般问题

       

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

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

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

      • 升级到 VMware Integrated OpenStack 7.0 后,无法将默认池添加到现有 LBaaS 侦听器。

        VMware Integrated OpenStack 5.1 不支持更改 LBaaS 侦听器的默认池。VMware Integrated OpenStack 7.0 支持此功能。但是,如果在 VMware Integrated OpenStack 5.1 中创建不含默认池的 LBaaS 侦听器,则即使升级到 VMware Integrated OpenStack 7.0 后,也无法将默认池添加到该侦听器。

        解决办法:删除受影响的侦听器,然后重新创建。

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

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

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

      • Horizon 防火墙仪表板中缺少某些防火墙组、策略和规则。

        Horizon 防火墙仪表板旨在显示共享标记设置为 true 或 false 的防火墙组、策略和规则。如果未设置共享标记,则不会显示防火墙组、策略和规则。

        解决办法:OpenStack CLI 不要求设置共享标记,因此可以使用 CLI 列出防火墙组、策略和规则。或者,对于 Horizon 防火墙仪表板中未设置共享标记的所有记录,可以将该值更新为零或 false。从逻辑上来说,false 等同于未设置。例如:

        update firewall_groups_v2 set shared=0 where shared is NULL;
        update firewall_policies_v2 set shared=0 where shared is NULL;
        update firewall_rules_v2 set shared=0 where shared is NULL;

      • 将映像上载至 Glance 的操作尚未完成即超时

        使用 Horizon 或 CLI 时,将较大的映像上载到 Glance 的操作可能尚未完成即超时。

        • 如果使用 Horizon UI,映像将上载到 Horizon 临时文件夹,然后再上载至 Glance。Horizon 会话时间限制为一小时。如果上载操作在一小时内未完成,则会话将终止,且映像上载过程会中止。
        • 如果使用 CLI,映像将上载到 glance-api 工作文件夹,可在其中转换映像格式。然后,映像将传输到 Glance 数据存储。如果映像太大,该过程可能会超时并中止。

        解决办法:要省去上载到 Horizon 临时文件夹的额外步骤并节省上载时间,请使用 CLI 上载映像。对于较大的映像,请将其放置在运行 CLI 的客户端可访问的 Web 服务器上,然后使用 glance async import 命令上载映像。请参见 https://docs.openstack.org/python-glanceclient/latest/cli/details.html#glance-task-create

        例如,可以使用以下命令从 URL 导入映像:https://raw.githubusercontent.com/arnaudleg/openstack-cli-tests/master/files/cirros-0.3.0-i386-disk.vmdk:

        glance task-create --type import --input '{"import_from_format": "vmdk", "import_from": "https://raw.githubusercontent.com/arnaudleg/openstack-cli-tests/master/files/cirros-0.3.0-i386-disk.vmdk", "image_properties": {"name": "cirros-imported", "disk_format": "vmdk", "container_format": "bare", "vmware_adaptertype": "ide", "vmware_disktype": "streamOptimized", "vmware_ostype": "otherGuest"}}'

      • Pod 进入挂起状态。VMware Integrated OpenStack 管理服务器或控制器的状态更改为未就绪。

        这种情况是由于 VMware Integrated OpenStack 管理服务器和控制器虚拟机上的资源争用所致。如果 kubelet 无法在合理的时间内完成任务,则会将 Kubernetes 节点标记为“未就绪”。Kubernetes 会尝试将 pod 重新安排到其他可用的节点。如果没有其他节点可用,pod 将进入挂起状态。如果单个节点上的 pod 密度较高,紧凑型设置更容易出现此问题。

        解决办法:要将 Kubernetes 节点状态从“未就绪”更改为“就绪”,请使用 systemctl restart kubelet 重新启动 kubelet 服务。要永久解决问题,请横向扩展以添加控制器节点,从而减少每个节点上的负载。

      • 如果在部署 OpenStack 时输入错误的凭据,向导可能无法识别正确的凭据。

        在 OpenStack 部署过程中,如果输入的 vCenter Server 或 NSX Manager 凭据不正确,向导可能无法识别正确的凭据。即使移除错误的信息并输入正确的凭据,向导也可能无法对其进行验证。

        解决办法:关闭部署向导,然后重新打开。

      • 如果在安全组中使用 CIDR 0.0.0.0/x 作为 IPv4 地址块,将在 NSX-V 后端转换为“any”

        使用 CIDR 0.0.0.0/x (x>0, x<=32) 设置安全组规则时,VMware Integrated OpenStack 插件会在 NSX-V 后端将其转换为“any”。使用 IPv6 ::/x (x>0, x<=128) 设置安全组规则时,也会出现这种情况。

        解决办法:不要使用 0.0.0.0/x 或 ::/x 地址块。

      • 在 Photon OS 3.0 中,默认存储库位置将发生更改

        VMware Integrated OpenStack 7.0 使用 Photon OS 3.0 作为 LCM 和控制器虚拟机的操作系统。2020 年 11 月 25 日,默认存储库位置将从 bintray.com 更改为 packages.vmware.com。此更改将影响使用 tdnf 命令安装的软件包。

        解决办法:Bintray 上的所有软件包均可从 packages.vmware.com 获取。要访问软件包,请将默认存储库位置更改为新存储库。请参见此处提供的说明。

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