1.21. 使用 EDPM
1.21.1. 先决条件 复制链接链接已复制到粘贴板!
- 以前的 Adoption 步骤已完成。
- 剩余的源云 在 Compute 主机上停止基础架构管理和 计算服务。
警告 :在 EDPM 采用过程中,此步骤为"无返回"。在部署 EDPM 后,不能启用源 control plane 和数据平面服务,并且对它的 Podified control plane 进行了控制。
1.21.2. 变量 复制链接链接已复制到粘贴板!
定义以下 Fast-forward 升级步骤中使用的 shell 变量。将 FIP
设置为之前在源云上预先创建的测试虚拟机的浮动 IP 地址。定义计算节点名称 IP 对的映射。这些值只是说明,使用适合您环境的值:
1.21.3. pre-checks 复制链接链接已复制到粘贴板!
- 确保配置了 IPAM
1.21.4. 步骤 - EDPM 的采用 复制链接链接已复制到粘贴板!
临时修复,直到 stable 计算 UUID 功能移植到 OSP 17 向后移植。
对于每个计算节点获取计算服务的 UUID,并将它写入
/var/lib/nova/
目录中的 stablecompute_id
文件。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 EDPM 节点创建 ssh 身份验证 secret :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成 ssh 密钥对
nova-migration-ssh-key
secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Nova Compute Extra Config 服务
Copy to Clipboard Copied! Toggle word wrap Toggle overflow secret
nova-cell<X>-compute-config
是为每个单元<X>
; 自动生成的。该 secret 和nova-migration-ssh-key
都应始终为与 Nova 相关的每个自定义OpenStackDataPlaneService
指定。部署 OpenStackDataPlaneNodeSet :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 部署 OpenStackDataPlaneDeployment :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.21.5. post-checks 复制链接链接已复制到粘贴板!
检查所有 Ansible EE pod 是否都达到
Completed
状态:watching the pods
# watching the pods watch oc get pod -l app=openstackansibleee
Copy to Clipboard Copied! Toggle word wrap Toggle overflow following the ansible logs with:
# following the ansible logs with: oc logs -l app=openstackansibleee -f --max-log-requests 10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待 dataplane 节点设置达到 Ready 状态:
oc wait --for condition=Ready osdpns/openstack --timeout=30m
oc wait --for condition=Ready osdpns/openstack --timeout=30m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.21.6. Nova 计算服务从 Wallaby 升级到 Antelope 复制链接链接已复制到粘贴板!
Nova 服务滚动升级在采用过程中无法执行,与 Nova control plane 服务有锁定步骤,因为它们由 EDPM ansible 和 Kubernetes operator 独立管理。Nova 服务 operator 和 OpenStack Dataplane operator 通过为 Nova 服务配置 [upgrade_levels]compute=auto
来确保相互独立升级。Nova control plane 服务在对 CR 进行补丁后应用正确的更改。Nova 计算 EDPM 服务稍后会捕获与 ansible 部署相同的配置更改。
注意 :围绕 FFU 解决 Nova 计算 EDPM 服务的临时解决方案配置进行其他编排是未来变化的主题。
等待 cell1 Nova 计算 EDPM 服务版本已更新(可能需要一些时间):
oc exec openstack-cell1-galera-0 -c galera -- mysql -rs -uroot -p$PODIFIED_DB_ROOT_PASSWORD \ -e "select a.version from nova_cell1.services a join nova_cell1.services b where a.version!=b.version and a.binary='nova-compute';"
oc exec openstack-cell1-galera-0 -c galera -- mysql -rs -uroot -p$PODIFIED_DB_ROOT_PASSWORD \ -e "select a.version from nova_cell1.services a join nova_cell1.services b where a.version!=b.version and a.binary='nova-compute';"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以上查询应返回空结果,作为完成条件。
删除 Nova control plane 服务的 pre-FFU 临时解决方案:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待 Nova control plane 服务 CR 就绪:
oc wait --for condition=Ready --timeout=300s Nova/nova
oc wait --for condition=Ready --timeout=300s Nova/nova
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除 Nova 计算 EDPM 服务的 pre-FFU 临时解决方案:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待 Nova 计算 EDPM 服务就绪:
oc wait --for condition=Ready osdpd/openstack-nova-compute-ffu --timeout=5m
oc wait --for condition=Ready osdpd/openstack-nova-compute-ffu --timeout=5m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行 Nova DB 在线迁移以完成 FFU:
oc exec -it nova-cell0-conductor-0 -- nova-manage db online_data_migrations oc exec -it nova-cell1-conductor-0 -- nova-manage db online_data_migrations
oc exec -it nova-cell0-conductor-0 -- nova-manage db online_data_migrations oc exec -it nova-cell1-conductor-0 -- nova-manage db online_data_migrations
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Nova 服务是否可以停止现有的测试虚拟机实例:
${BASH_ALIASES[openstack]} server list | grep -qF '| test | ACTIVE |' && openstack server stop test ${BASH_ALIASES[openstack]} server list | grep -qF '| test | SHUTOFF |' ${BASH_ALIASES[openstack]} server --os-compute-api-version 2.48 show --diagnostics test | grep "it is in power state shutdown" || echo PASS
${BASH_ALIASES[openstack]} server list | grep -qF '| test | ACTIVE |' && openstack server stop test ${BASH_ALIASES[openstack]} server list | grep -qF '| test | SHUTOFF |' ${BASH_ALIASES[openstack]} server --os-compute-api-version 2.48 show --diagnostics test | grep "it is in power state shutdown" || echo PASS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Nova 服务是否可以启动现有的测试虚拟机实例:
${BASH_ALIASES[openstack]} server list | grep -qF '| test | SHUTOFF |' && openstack server start test ${BASH_ALIASES[openstack]} server list | grep -F '| test | ACTIVE |' ${BASH_ALIASES[openstack]} server --os-compute-api-version 2.48 show --diagnostics test --fit-width -f json | jq -r '.state' | grep running
${BASH_ALIASES[openstack]} server list | grep -qF '| test | SHUTOFF |' && openstack server start test ${BASH_ALIASES[openstack]} server list | grep -F '| test | ACTIVE |' ${BASH_ALIASES[openstack]} server --os-compute-api-version 2.48 show --diagnostics test --fit-width -f json | jq -r '.state' | grep running
Copy to Clipboard Copied! Toggle word wrap Toggle overflow