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

Allow AdHocCLI to be more flexible for overriding
pull/10994/merge
Brian Coca 10 years ago
commit 6c884c9e39

@ -65,6 +65,13 @@ class AdHocCLI(CLI):
return True 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): def run(self):
''' use Runner lib to do SSH things ''' ''' use Runner lib to do SSH things '''
@ -117,19 +124,13 @@ class AdHocCLI(CLI):
# results = runner.run() # results = runner.run()
# create a pseudo-play to execute the specified module via a single task # create a pseudo-play to execute the specified module via a single task
play_ds = dict( play_ds = self._play_ds(pattern)
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 = Play().load(play_ds, variable_manager=variable_manager, loader=loader) play = Play().load(play_ds, variable_manager=variable_manager, loader=loader)
# now create a task queue manager to execute the play # now create a task queue manager to execute the play
tqm = None self._tqm = None
try: try:
tqm = TaskQueueManager( self._tqm = TaskQueueManager(
inventory=inventory, inventory=inventory,
variable_manager=variable_manager, variable_manager=variable_manager,
loader=loader, loader=loader,
@ -138,10 +139,10 @@ class AdHocCLI(CLI):
passwords=passwords, passwords=passwords,
stdout_callback='minimal', stdout_callback='minimal',
) )
result = tqm.run(play) result = self._tqm.run(play)
finally: finally:
if tqm: if self._tqm:
tqm.cleanup() self._tqm.cleanup()
return result return result

Loading…
Cancel
Save