Ensure play order is obeyed (#49897)

* Ensure play order is obeyed

 it was being ignored depending on other options
 also added tests for each order (except shuffle) both serial and not
 fixes #49846
This commit is contained in:
Brian Coca
2019-02-27 18:20:16 -05:00
committed by GitHub
parent 6583ed0df9
commit cfba6dfe91
8 changed files with 59 additions and 3 deletions

View File

@@ -226,7 +226,9 @@ class StrategyBase:
# make sure that all of the hosts are advanced to their final task.
# This should be safe, as everything should be ITERATING_COMPLETE by
# this point, though the strategy may not advance the hosts itself.
[iterator.get_next_task_for_host(host) for host in self._inventory.get_hosts(iterator._play.hosts) if host.name not in self._tqm._unreachable_hosts]
inv_hosts = self._inventory.get_hosts(iterator._play.hosts, order=iterator._play.order)
[iterator.get_next_task_for_host(host) for host in inv_hosts if host.name not in self._tqm._unreachable_hosts]
# save the failed/unreachable hosts, as the run_handlers()
# method will clear that information during its execution