Tripleo Upgrade-用于升级和更新Tripleo部署的负责角色
tripleo-upgrade的Python项目详细描述
Tripleo升级
此角色旨在为升级基于Tripleo的Deploments提供统一的工具。
要求
此角色要求:
一个包含可到达的云下和云上节点的ansible inventory文件
库存文件中的节点根据其角色分组(例如,计算节点是"计算"组的一部分)
包含要升级的包的存储库已经安装在云下和云上节点上(或者,对于云上,定义一个upgrade-init-u命令变量)
初始的overcloud deploy命令放在overcloud deploy脚本变量设置的路径中的脚本文件中。每个选项/环境文件都应放在单独的新行中,例如:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log
角色变量
可用变量如下所示:
upgrade_noop: false
只创建升级脚本而不运行它们:
update_noop: false
只创建更新脚本而不运行它们:
undercloud_upgrade: false
运行云下升级:
containerized_undercloud_upgrade: false
运行集装箱化云下升级:
overcloud_upgrade: false
运行过云升级:
undercloud_update: false
运行云下更新:
overcloud_update: false
运行过大声更新:
overcloud_deploy_script: "~/overcloud_deploy.sh"
初始过云部署脚本的位置:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log0
此角色将生成的云下升级脚本的位置:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log1
此角色将生成的可组合Docker升级步骤中使用的升级脚本的位置:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log2
此角色将生成的Converge Docker升级步骤中使用的升级脚本的位置:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log3
云下凭据文件的位置:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log4
过云凭据文件的位置:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log5
允许用户在升级过程中应用已知问题解决方案。用于解决方案的修补程序/命令列表应通过–extra vars传递,并应包括用于云下/云上解决方案的字典:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log6
由Tripleo Quickstart完成部署时设置为true:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log7
设置为true可在开始升级之前启动实例。这对于在升级期间运行测试(如实时迁移或浮动IP连接检查)非常有用:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log8
为实例连接提供浮动IP的外部网络的名称。这提供了外部连接,需要预先存在,由用户创建:
source ~/stackrc export THT=/usr/share/openstack-tripleo-heat-templates/ openstack overcloud deploy --templates $THT \ -r ~/openstack_deployment/roles/roles_data.yaml \ -e $THT/environments/network-isolation.yaml \ -e $THT/environments/network-management.yaml \ -e $THT/environments/storage-environment.yaml \ -e ~/openstack_deployment/environments/nodes.yaml \ -e ~/openstack_deployment/environments/network-environment.yaml \ -e ~/openstack_deployment/environments/disk-layout.yaml \ -e ~/openstack_deployment/environments/neutron-settings.yaml \ --log-file overcloud_deployment.log &> overcloud_install.log9
用于工作负载实例的图像的URL:
upgrade_noop: false0
为工作负载实例分配的内存量:
upgrade_noop: false1
在Tripleo CI作业中运行角色时设置为true。它通过跳过重新启动和ssh终止任务来避免与云下连接的丢失:
upgrade_noop: false2
bash命令,定义了一个自定义的升级init,以便在过云升级期间考虑到它。
依赖关系
无。
示例剧本
tests/test.yml中提供了一个示例剧本
upgrade_noop: false3
与Tripleo Quickstart一起使用
在使用oooq成功部署之后,您可以创建 使用此示例剧本的脚本(复制自 ./tests/oooq test.yaml):
upgrade_noop: false4
然后像这样运行(调整路径以适应特定于OOQ 一):
upgrade_noop: false5 < dl >
使用正确的参数。
使用红外线
Tripleo升级已预装作为红外插件。 要手动安装,应使用以下红外线命令:
upgrade_noop: false6
成功的红外过云部署后,您需要运行以下步骤来升级部署:
符号链接角色路径:
upgrade_noop: false7
设置云下升级存储库:
upgrade_noop: false8
设置云下更新存储库:
upgrade_noop: false9
在云下升级:
update_noop: false0
云下更新:
update_noop: false1
设置过云升级存储库:
update_noop: false2
设置过云更新存储库/容器:
update_noop: false3
升级overcloud:
update_noop: false4 < dl >
从云下手动运行角色
可以通过执行以下步骤从云下手动运行此角色:
注意:在开始升级过程之前,请确保 和过云节点设置了带有升级包的存储库
< dl >