mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Extend support to event.fire_master
This commit is contained in:
parent
8171c73b00
commit
007eef84d7
1 changed files with 14 additions and 6 deletions
|
@ -63,6 +63,13 @@ def fire_master(data, tag, preload=None):
|
|||
ip=salt.utils.ip_bracket(__opts__['interface']),
|
||||
port=__opts__.get('ret_port', '4506') # TODO, no fallback
|
||||
)
|
||||
masters = list()
|
||||
ret = True
|
||||
if 'master_uri_list' in __opts__:
|
||||
for master_uri in __opts__['master_uri_list']:
|
||||
masters.append(master_uri)
|
||||
else:
|
||||
masters.append(__opts__['master_uri'])
|
||||
auth = salt.crypt.SAuth(__opts__)
|
||||
load = {'id': __opts__['id'],
|
||||
'tag': tag,
|
||||
|
@ -73,12 +80,13 @@ def fire_master(data, tag, preload=None):
|
|||
if isinstance(preload, dict):
|
||||
load.update(preload)
|
||||
|
||||
channel = salt.transport.Channel.factory(__opts__)
|
||||
try:
|
||||
channel.send(load)
|
||||
except Exception:
|
||||
pass
|
||||
return True
|
||||
for master in masters:
|
||||
channel = salt.transport.Channel.factory(__opts__, master_uri=master)
|
||||
try:
|
||||
channel.send(load)
|
||||
except Exception:
|
||||
ret = False
|
||||
return ret
|
||||
else:
|
||||
# Usually, we can send the event via the minion, which is faster
|
||||
# because it is already authenticated
|
||||
|
|
Loading…
Add table
Reference in a new issue