Merge pull request #11271 from sivel/build-play-method

Allow AdHocCLI to be more flexible for overriding
This commit is contained in:
Brian Coca 2015-06-15 16:21:32 -04:00
commit 6c884c9e39

View file

@ -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