mirror of
https://github.com/valitydev/salt.git
synced 2024-11-08 09:23:56 +00:00
Add publish.runner wrapper function for salt-ssh
This commit is contained in:
parent
215a4d0e89
commit
8d8b1be86b
@ -12,8 +12,10 @@ No access control is needed because calls cannot originate from the minions.
|
|||||||
# Import python libs
|
# Import python libs
|
||||||
import copy
|
import copy
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
# Import salt libs
|
# Import salt libs
|
||||||
import salt.client.ssh
|
import salt.client.ssh
|
||||||
|
import salt.runner
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -206,3 +208,27 @@ def full_data(tgt,
|
|||||||
timeout=timeout,
|
timeout=timeout,
|
||||||
form='full',
|
form='full',
|
||||||
roster=roster)
|
roster=roster)
|
||||||
|
|
||||||
|
|
||||||
|
def runner(fun, arg=None, timeout=5):
|
||||||
|
'''
|
||||||
|
Execute a runner on the master and return the data from the runnr function
|
||||||
|
|
||||||
|
CLI Example:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
salt-ssh '*' publish.runner jobs.lookup_jid 20140916125524463507
|
||||||
|
'''
|
||||||
|
# Form args as list
|
||||||
|
if not isinstance(arg, list):
|
||||||
|
arg = [salt.utils.args.yamlify_arg(arg)]
|
||||||
|
else:
|
||||||
|
arg = [salt.utils.args.yamlify_arg(x) for x in arg]
|
||||||
|
if len(arg) == 1 and arg[0] is None:
|
||||||
|
arg = []
|
||||||
|
|
||||||
|
# Create and run the runner
|
||||||
|
runner = salt.runner.RunnerClient(__opts__['__master_opts__'])
|
||||||
|
return runner.cmd(fun, arg)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user