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

时间:2016-05-17 11:56:37

标签: ansible ansible-playbook

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

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

听起来效率不高。我想像这样创建流程,

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

为了做到这一点,我试图实现一旦任务失败,我试图用" - 限制"执行游戏书,它会引发跟随错误。

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

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

1 个答案:

答案 0 :(得分:6)

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

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

ansible-playbook stack.yml --start-at-task=START_AT

使用您将开始的任务名称更改“START_AT”。

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