diff options
author | Vincent Roy <vincentroy8@gmail.com> | 2016-04-15 22:59:54 -0300 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2016-05-17 15:25:52 -0400 |
commit | 7aba60eb341f5defd27004a2dfa4188b80079362 (patch) | |
tree | 408cd494b995488289dc642274aa3f22413e483c | |
parent | 7f3dd00942ca99e34b5c13453d75c30835710d4c (diff) | |
download | ansible-7aba60eb341f5defd27004a2dfa4188b80079362.tar.gz |
Make sure that serial failures are handled correctly.
-rw-r--r-- | lib/ansible/executor/playbook_executor.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/ansible/executor/playbook_executor.py b/lib/ansible/executor/playbook_executor.py index 29ac3e9b7c..041f51bf70 100644 --- a/lib/ansible/executor/playbook_executor.py +++ b/lib/ansible/executor/playbook_executor.py @@ -128,6 +128,7 @@ class PlaybookExecutor: else: self._tqm._unreachable_hosts.update(self._unreachable_hosts) + break_play = False # we are actually running plays for batch in self._get_serialized_batches(new_play): if len(batch) == 0: @@ -147,8 +148,10 @@ class PlaybookExecutor: failed_hosts_count = len(self._tqm._failed_hosts) + len(self._tqm._unreachable_hosts) if new_play.max_fail_percentage is not None and \ int((new_play.max_fail_percentage)/100.0 * len(batch)) > int((len(batch) - failed_hosts_count) / len(batch) * 100.0): + break_play = True break elif len(batch) == failed_hosts_count: + break_play = True break # save the unreachable hosts from this batch @@ -159,6 +162,9 @@ class PlaybookExecutor: if result not in (0, 3): break + if break_play: + break + i = i + 1 # per play if entry: |