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