Add utils function to invoke a returner's save_minions() func

This commit is contained in:
Erik Johnson 2016-03-03 21:23:09 -06:00
parent 0b4616a3eb
commit 504f7df460

View file

@ -83,7 +83,9 @@ def store_job(opts, load, event=None, mminion=None):
if 'user' in ret_:
load.update({'user': ret_['user']})
try:
if 'jid' in load and 'get_load' in mminion.returners and not mminion.returners[getfstr](load.get('jid', '')):
if 'jid' in load \
and 'get_load' in mminion.returners \
and not mminion.returners[getfstr](load.get('jid', '')):
mminion.returners[savefstr](load['jid'], load)
mminion.returners[fstr](load)
@ -98,6 +100,26 @@ def store_job(opts, load, event=None, mminion=None):
raise KeyError(emsg)
def store_minions(opts, jid, minions, mminion=None):
'''
Store additional minions matched on lower-level masters using the configured
master_job_cache
'''
if mminion is None:
mminion = salt.minion.MasterMinion(opts, states=False, rend=False)
job_cache = opts['master_job_cache']
minions_fstr = '{0}.save_minions'.format(job_cache)
try:
mminion.returners[minions_fstr](jid, minions)
except KeyError:
raise KeyError(
'Returner \'{0}\' does not support function save_minions'.format(
job_cache
)
)
def get_retcode(ret):
'''
Determine a retcode for a given return