Merge pull request #11271 from sivel/build-play-method
Allow AdHocCLI to be more flexible for overriding
This commit is contained in:
commit
6c884c9e39
1 changed files with 13 additions and 12 deletions
|
@ -65,6 +65,13 @@ class AdHocCLI(CLI):
|
|||
|
||||
return True
|
||||
|
||||
def _play_ds(self, pattern):
|
||||
return dict(
|
||||
name = "Ansible Ad-Hoc",
|
||||
hosts = pattern,
|
||||
gather_facts = 'no',
|
||||
tasks = [ dict(action=dict(module=self.options.module_name, args=parse_kv(self.options.module_args))), ]
|
||||
)
|
||||
|
||||
def run(self):
|
||||
''' use Runner lib to do SSH things '''
|
||||
|
@ -117,19 +124,13 @@ class AdHocCLI(CLI):
|
|||
# results = runner.run()
|
||||
|
||||
# create a pseudo-play to execute the specified module via a single task
|
||||
play_ds = dict(
|
||||
name = "Ansible Ad-Hoc",
|
||||
hosts = pattern,
|
||||
gather_facts = 'no',
|
||||
tasks = [ dict(action=dict(module=self.options.module_name, args=parse_kv(self.options.module_args))), ]
|
||||
)
|
||||
|
||||
play_ds = self._play_ds(pattern)
|
||||
play = Play().load(play_ds, variable_manager=variable_manager, loader=loader)
|
||||
|
||||
# now create a task queue manager to execute the play
|
||||
tqm = None
|
||||
self._tqm = None
|
||||
try:
|
||||
tqm = TaskQueueManager(
|
||||
self._tqm = TaskQueueManager(
|
||||
inventory=inventory,
|
||||
variable_manager=variable_manager,
|
||||
loader=loader,
|
||||
|
@ -138,10 +139,10 @@ class AdHocCLI(CLI):
|
|||
passwords=passwords,
|
||||
stdout_callback='minimal',
|
||||
)
|
||||
result = tqm.run(play)
|
||||
result = self._tqm.run(play)
|
||||
finally:
|
||||
if tqm:
|
||||
tqm.cleanup()
|
||||
if self._tqm:
|
||||
self._tqm.cleanup()
|
||||
|
||||
return result
|
||||
|
||||
|
|
Loading…
Reference in a new issue