mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-28 11:10:21 -07:00
Don't run {failed|changed}_when checks until async_status is done
Fixes #5117
This commit is contained in:
parent
4ea12c1b86
commit
c9bf7eb9bb
1 changed files with 9 additions and 6 deletions
|
@ -849,12 +849,15 @@ class Runner(object):
|
||||||
|
|
||||||
changed_when = self.module_vars.get('changed_when')
|
changed_when = self.module_vars.get('changed_when')
|
||||||
failed_when = self.module_vars.get('failed_when')
|
failed_when = self.module_vars.get('failed_when')
|
||||||
if changed_when is not None or failed_when is not None:
|
if (changed_when is not None or failed_when is not None) and self.background == 0:
|
||||||
register = self.module_vars.get('register')
|
register = self.module_vars.get('register')
|
||||||
if register is not None:
|
if register is not None:
|
||||||
if 'stdout' in data:
|
if 'stdout' in data:
|
||||||
data['stdout_lines'] = data['stdout'].splitlines()
|
data['stdout_lines'] = data['stdout'].splitlines()
|
||||||
inject[register] = data
|
inject[register] = data
|
||||||
|
# only run the final checks if the async_status has finished,
|
||||||
|
# or if we're not running an async_status check at all
|
||||||
|
if (module_name == 'async_status' and "finished" in data) or module_name != 'async_status':
|
||||||
if changed_when is not None:
|
if changed_when is not None:
|
||||||
data['changed'] = utils.check_conditional(changed_when, self.basedir, inject, fail_on_undefined=self.error_on_undefined_vars)
|
data['changed'] = utils.check_conditional(changed_when, self.basedir, inject, fail_on_undefined=self.error_on_undefined_vars)
|
||||||
if failed_when is not None:
|
if failed_when is not None:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue