mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 13:22:48 +00:00
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:
@@ -190,7 +190,7 @@ class PlayIterator:
|
||||
|
||||
self._host_states = {}
|
||||
start_at_matched = False
|
||||
batch = inventory.get_hosts(self._play.hosts)
|
||||
batch = inventory.get_hosts(self._play.hosts, order=self._play.order)
|
||||
self.batch_size = len(batch)
|
||||
for host in batch:
|
||||
self._host_states[host.name] = HostState(blocks=self._blocks)
|
||||
|
||||
@@ -255,7 +255,7 @@ class PlaybookExecutor:
|
||||
'''
|
||||
|
||||
# make sure we have a unique list of hosts
|
||||
all_hosts = self._inventory.get_hosts(play.hosts)
|
||||
all_hosts = self._inventory.get_hosts(play.hosts, order=play.order)
|
||||
all_hosts_len = len(all_hosts)
|
||||
|
||||
# the serial value can be listed as a scalar or a list of
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user