13.10. 使用手动创建的 playbook 运行 config-download
您可以在标准工作流之外创建自己的 config-download 文件。例如,您可以使用 --stack-only 选项运行 openstack overcloud deploy 命令以置备节点,然后单独手动应用 Ansible 配置。
先决条件
- 成功安装 undercloud。
- overcloud 节点已准备好进行部署。
- 与特定 overcloud 自定义相关的 heat 环境文件。
步骤
-
以
stack用户身份登录 undercloud 主机。 Source
stackrc文件:source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
--stack-only选项运行部署命令。包括 overcloud 所需的环境文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 等待置备过程完成。
为
tripleo-admin用户启用从 undercloud 到 overcloud 的 SSH 访问。config-download进程使用tripleo-admin用户来执行基于 Ansible 的配置:openstack overcloud admin authorize
$ openstack overcloud admin authorizeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 生成
config-download文件:openstack overcloud config download \ --name overcloud \ --config-dir ~/config-download
$ openstack overcloud config download \ --name overcloud \ --config-dir ~/config-downloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
--name是要用于 Ansible 文件导出的 overcloud 名称。 -
--config-dir是要保存config-download文件的位置。
-
切换到包含
config-download文件的目录:cd ~/config-download
$ cd ~/config-downloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 生成静态清单文件:
tripleo-ansible-inventory \ --stack <overcloud> \ --ansible_ssh_user heat-admin \ --static-yaml-inventory inventory.yaml
$ tripleo-ansible-inventory \ --stack <overcloud> \ --ansible_ssh_user heat-admin \ --static-yaml-inventory inventory.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
用您的 overcloud 的名称替换
<overcloud>。
-
用您的 overcloud 的名称替换
使用
config-download文件和静态清单文件执行配置。要执行部署 playbook,请运行ansible-playbook命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 等待配置过程完成。
要从该配置手动生成
overcloudrc文件,请运行以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 手动将部署状态设置为成功:
openstack workflow execution create tripleo.deployment.v1.set_deployment_status_success '{"plan": "<OVERCLOUD>"}'$ openstack workflow execution create tripleo.deployment.v1.set_deployment_status_success '{"plan": "<OVERCLOUD>"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
用您的 overcloud 的名称替换
<OVERCLOUD>。
-
用您的 overcloud 的名称替换
其他信息
这个
config-download目录中包含一个名为deploy_steps_playbook.yaml的 playbook,用于运行 overcloud 配置。要查看此 playbook,请运行以下命令:less deploy_steps_playbook.yaml
$ less deploy_steps_playbook.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这个 playbook 会使用工作目录中所含的各种任务文件。某些任务文件是所有 OpenStack 平台角色通用的,某些任务文件则特定于某些 OpenStack 平台角色和服务器。
这个
config-download目录中还包含与您在 overcloud 的roles_data文件中定义的各个角色相对应的子目录。例如:ls Controller/
$ ls Controller/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 每个 OpenStack 平台角色目录中还包含相应角色类型的各个服务器的子目录。这些目录采用可组合角色主机名格式:
ls Controller/overcloud-controller-0
$ ls Controller/overcloud-controller-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow deploy_steps_playbook.yaml中的 Ansible 任务已标记。要查看完整的标记列表,在ansible-playbook中使用 CLI 选项--list-tags:ansible-playbook -i tripleo-ansible-inventory.yaml --list-tags deploy_steps_playbook.yaml
$ ansible-playbook -i tripleo-ansible-inventory.yaml --list-tags deploy_steps_playbook.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 然后,在
ansible-playbook-command.sh脚本中通过--tags、--skip-tags或--start-at-task来应用已标记的配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对 overcloud 运行
config-downloadplaybook 时,可能会收到有关每个主机的 SSH 指纹的消息。要避免这些消息,请将--ssh-common-args="-o StrictHostKeyChecking=no"包含到ansible-playbook命令中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow