14.6. 手动运行 config-download
/var/lib/mistral/overcloud 中的工作目录包含直接与 ansible-playbook 交互所需的 playbook 和脚本。以下操作过程介绍了如何与这些文件交互。
步骤
更改为 Ansible playbook 的目录:
cd /var/lib/mistral/overcloud/
$ cd /var/lib/mistral/overcloud/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
ansible-playbook-command.sh命令以复制部署:./ansible-playbook-command.sh
$ ./ansible-playbook-command.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可以将额外的 Ansible 参数传递给该脚本,再将其原封不动地传递给
ansible-playbook命令。这样便可更加充分地利用各种 Ansible 功能,如检查模式 (--check)、限制主机 (--limit) 或覆盖变量 (-e)。例如:./ansible-playbook-command.sh --limit Controller
$ ./ansible-playbook-command.sh --limit ControllerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这个工作目录中包含一个名为
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 平台角色和服务器。
这个工作目录中还包含与 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 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来应用已标记的配置。例如:./ansible-playbook-command.sh --tags overcloud
$ ./ansible-playbook-command.sh --tags overcloudCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当
config-download配置 Ceph 时,Ansible 从config-download external_deploy_steps_tasksplaybook 内执行ceph-ansible。手动运行config-download时,第二次执行 Ansible 不继承ssh_args参数。如需传递 Ansible 环境变量,可使用 heat 环境文件。例如:parameter_defaults: CephAnsibleEnvironmentVariables: ANSIBLE_HOST_KEY_CHECKING: 'False' ANSIBLE_PRIVATE_KEY_FILE: '/home/stack/.ssh/id_rsa'parameter_defaults: CephAnsibleEnvironmentVariables: ANSIBLE_HOST_KEY_CHECKING: 'False' ANSIBLE_PRIVATE_KEY_FILE: '/home/stack/.ssh/id_rsa'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在使用 ansible-playbook CLI 参数(如 --tags、--skip-tags 或 --start-at-task)时,请勿随意更改部署配置的运行或应用顺序。利用这些 CLI 参数,可以轻松地重新运行先前失败的任务或在初始部署的基础上进行迭代。但是,为了保证部署的一致性,您必须通过 deploy_steps_playbook.yaml 依序运行所有任务。