通过安装新版本并迁移现有部署从 VMware Integrated OpenStack 5.1 升级到 7.0.1。
前提条件
- 确认当前部署运行的是 VMware Integrated OpenStack 5.1。如果运行的是旧版本,请先升级到版本 5.1。
- 确认 VMware Integrated OpenStack 5.x 部署的本地域中存在名为 admin 的用户。如果在升级过程中将默认域配置为 LDAP,则需要此用户。如果没有名为 admin 的用户,请在 5.x 环境中手动创建使用该名称的用户。
注: 如果从 OpenStack 端更新了 admin 密码,则升级脚本提取的 admin 密码可能不同于真实密码。如果这样,您需要在 cluster.yml 中使用真实密码编辑
secret/managedpasswords
的data.admin_password
。 - 如果 VMware Integrated OpenStack 5.1 部署包含多个负载均衡器,请禁用 LDAP 负载均衡器。
- 如果为域配置了 LDAP,请确保将域名附加到绑定用户。
- 检查 nova_api cell_mappings 表中是否包含具有 NULL 名称的行。如果找到,请更正此名称以确保结构定义迁移正确运行。
- 从 OpenStack 管理服务器,登录到 VIO 5.1 控制平面上的任何数据库节点。
- 切换到 root 用户。
sudo su -
- 要启动 MariaDB 客户端,请运行
mysql
命令。 - 要访问 nova_api 数据库,请运行 SQL 命令:
use nova_api
- 运行 SQL 命令:
select id,name from cell_mappings;
- 检查输出。在名称列中查找具有 NULL 的任何行。在以下示例中,id 为 9 的行中显示 NULL。
+----+-------+ | id | name | +----+-------+ | 6 | cell0 | | 9 | NULL | +----+-------+
- 利用在名称列中具有 NULL 的行对应的 ID,运行 SQL 命令以更正此名称。
update cell_mappings set name='cell1' where id=<ID_of_row_with_NULL>;
- 运行 SQL 命令:
select id,name from cell_mappings;
- 检查输出。在以下示例中,cell1 替换了 id 为 9 的行中的 NULL。
+----+-------+ | id | name | +----+-------+ | 6 | cell0 | | 9 | cell1 | +----+-------+
- 从 VMware Integrated OpenStack 下载页面 下载 VMware Integrated OpenStack 7.0 OVA、7.0.1 修补程序、升级和 viocli 软件包。这些文件需要大约 6 GB 的存储空间。
- 记录在 custom.yml 和 custom-playbook.yml 文件以外对 OpenStack 部署进行的任何自定义更改。升级完成后,必须在新部署上重新配置除这些文件以外的自定义。
- 如果使用 OIDC 协议配置了与 VMware Identity Manager 的身份联合,请在升级之前删除已配置的身份提供程序。升级完成后,可以重新添加身份提供程序。
要删除提供程序,请运行
openstack identity provider delete idp-name
命令。 - 如果已将 VMware Integrated OpenStack 配置为使用 NSX Manager 集群,请在移除此配置后再升级。要执行此操作,请将 nsxv3_api_managers 参数的值更改为仅包含父 NSX Manager 的 IP 地址。升级完成后,您可以在集群中添加其他管理器。
- 如果已部署 Swift,请记录您的集群配置。Swift 集群无法升级到 VMware Integrated OpenStack 7.0,并且不会保留 Swift 配置。如果要继续使用 Swift,您可以在升级完成后重新创建集群。
- 确认没有运行任何内部的 OpenStack 管理工作负载。