Ansible:从失败的任务中重新运行playbook

tgc*_*oud 3 ansible ansible-playbook

我只在一台主机上执行游戏书.

我的当前任务执行流程是:
1)执行任务
2)如果任何任务之间失败,清理所有内容
3)从头开始重新运行.

这听起来效率不高.我想创建非常像这样的流程,

1)执行任务
2)任务失败
.3)如果我们重新运行游戏书,ansible应该从失败的任务执行任务.它不应该从一开始就重新运行.

为了做到这一点,我试图实现,一旦任务失败,我试图用"--limit"执行游戏书,它抛出跟随错误.

root@centos:/etc/ansible# ansible-playbook stack.yml --limit -vvvv
ERROR: provided hosts list is empty

root@centos:/etc/ansible# cat /root/stack.retry
10.17.10.150
Run Code Online (Sandbox Code Playgroud)

我不确定这是重新运行游戏书以实现此工作流程的正确方法.

小智 6

使用选项--start-at-task = START_AT

这将在与给定名称匹配的任务中启动您的剧本.在你的情况下:

ansible-playbook stack.yml --start-at-task=START_AT
Run Code Online (Sandbox Code Playgroud)

使用您将开始执行的任务的名称更改"START_AT".

您使用的--limit选项是将playbook限制为与模式匹配的主机,而不是限制任务