Salt Master Events#
These events are fired on the Salt Master event bus. This list is not comprehensive.
Authentication events#
- salt/auth
Fired when a minion performs an authentication check with the master.
- Variables:
id -- The minion ID.
act -- The current status of the minion key:
accept,pend,reject,full,denied,error.pub -- The minion public key.
Note
Minions fire auth events on fairly regular basis for a number of reasons. Writing reactors to respond to events through the auth cycle can lead to infinite reactor event loops (minion tries to auth, reactor responds by doing something that generates another auth event, minion sends auth event, etc.). Consider reacting to
salt/keyorsalt/minion/<MID>/startor firing a custom event tag instead.
Start events#
- salt/minion/<MID>/start
Fired every time a minion connects to the Salt master.
- Variables:
id -- The minion ID.
Key events#
- salt/key
Fired when accepting and rejecting minions keys on the Salt master. These happen as a result of actions undertaken by the salt-key command.
- Variables:
id -- The minion ID.
act -- The new status of the minion key:
accept,delete,
Warning
If a master is in auto_accept mode, salt/key events
will not be fired when the keys are accepted. In addition, pre-seeding
keys (like happens through Salt-Cloud) will not cause
firing of these events.
Job events#
- salt/job/<JID>/new
Fired as a new job is sent out to minions.
- Variables:
jid -- The job ID.
tgt -- The target of the job:
*, a minion ID,G@os_family:RedHat, etc.tgt_type -- The type of targeting used:
glob,grain,compound, etc.fun -- The function to run on minions:
test.version,network.interfaces, etc.arg -- A list of arguments to pass to the function that will be called.
minions -- A list of minion IDs that Salt expects will return data for this job.
user -- The name of the user that ran the command as defined in Salt's Publisher ACL or external auth.
- salt/job/<JID>/start/<MID>
Fired by a minion when it accepts a published job and is about to begin executing the requested function. Opt-in per-job via the
--start-eventCLI flag (orstart_event=TrueinLocalClientkwargs); not fired unless the caller requested it.Useful for confirming that a minion received and started a job without waiting for the full return.
- Variables:
id -- The minion ID.
jid -- The job ID.
fun -- The function the minion is about to run.
tgt -- The target of the job.
tgt_type -- The type of targeting used.
user -- The user that ran the command.
master_id -- Origin master, when set on the published load.
metadata -- Caller-supplied metadata, when set on the published load.
- salt/job/<JID>/ret/<MID>
Fired each time a minion returns data for a job.
- Variables:
id -- The minion ID.
jid -- The job ID.
retcode -- The return code for the job.
fun -- The function the minion ran. E.g.,
test.version.return -- The data returned from the execution module.
- salt/job/<JID>/prog/<MID>/<RUN NUM>
Fired each time a each function in a state run completes execution. Can also be fired on individual state if the fire_event option is set on that state.
Can be enabled for all state runs in the Salt master config with the
state_eventsoption. To enable for an individual state run, passstate_events=Trueto thestatefunction being used.- Variables:
data -- The data returned from the state module function.
id -- The minion ID.
jid -- The job ID.
Runner Events#
- salt/run/<JID>/new
Fired as a runner begins execution
- Variables:
jid -- The job ID.
fun -- The name of the runner function, with
runner.prepended to it (e.g.runner.jobs.lookup_jid)fun_args -- The arguments passed to the runner function (e.g.
['20160829225914848058'])user -- The user who executed the runner (e.g.
root)
- salt/run/<JID>/ret
Fired when a runner function returns
- Variables:
jid -- The job ID.
fun -- The name of the runner function, with
runner.prepended to it (e.g.runner.jobs.lookup_jid)fun_args -- The arguments passed to the runner function (e.g.
['20160829225914848058'])return -- The data returned by the runner function
- salt/run/<JID>/args
New in version 2016.11.0.
Fired by the
state.orchestraterunner- Variables:
name -- The ID declaration for the orchestration job (i.e. the line above
salt.state,salt.function,salt.runner, etc.)type -- The type of orchestration job being run (e.g.
state)tgt -- The target expression (e.g.
*). Included forstateandfunctiontypes only.args -- The args passed to the orchestration job. Note: for
stateandfunctiontypes, also includes atgt_typevalue which shows what kind of match (glob,pcre, etc.) was used. This value was namedexpr_formin the 2016.11 release cycle but has been renamed totgt_typein 2017.7.0 for consistency with other events.
Presence Events#
- salt/presence/present
Events fired on a regular interval about currently connected, newly connected, or recently disconnected minions. Requires the
presence_eventssetting to be enabled.- Variables:
present -- A list of minions that are currently connected to the Salt master.
- salt/presence/change
Fired when the Presence system detects new minions connect or disconnect.
- Variables:
new -- A list of minions that have connected since the last presence event.
lost -- A list of minions that have disconnected since the last presence event.
Cloud Events#
Unlike other Master events, salt-cloud events are not fired on behalf of a
Salt Minion. Instead, salt-cloud events are fired on behalf of a VM. This
is because the minion-to-be may not yet exist to fire events to or also may have
been destroyed.
This behavior is reflected by the name variable in the event data for
salt-cloud events as compared to the id variable for Salt
Minion-triggered events.
- salt/cloud/<VM NAME>/creating
Fired when salt-cloud starts the VM creation process.
- Variables:
name -- the name of the VM being created.
event -- description of the event.
provider -- the cloud provider of the VM being created.
profile -- the cloud profile for the VM being created.
- salt/cloud/<VM NAME>/deploying
Fired when the VM is available and salt-cloud begins deploying Salt to the new VM.
- Variables:
name -- the name of the VM being created.
event -- description of the event.
kwargs -- options available as the deploy script is invoked:
conf_file,deploy_command,display_ssh_output,host,keep_tmp,key_filename,make_minion,minion_conf,name,parallel,preseed_minion_keys,script,script_args,script_env,sock_dir,start_action,sudo,tmp_dir,tty,username
- salt/cloud/<VM NAME>/requesting
Fired when salt-cloud sends the request to create a new VM.
- Variables:
event -- description of the event.
location -- the location of the VM being requested.
kwargs -- options available as the VM is being requested:
Action,ImageId,InstanceType,KeyName,MaxCount,MinCount,SecurityGroup.1
- salt/cloud/<VM NAME>/querying
Fired when salt-cloud queries data for a new instance.
- Variables:
event -- description of the event.
instance_id -- the ID of the new VM.
- salt/cloud/<VM NAME>/tagging
Fired when salt-cloud tags a new instance.
- Variables:
event -- description of the event.
tags -- tags being set on the new instance.
- salt/cloud/<VM NAME>/waiting_for_ssh
Fired while the salt-cloud deploy process is waiting for ssh to become available on the new instance.
- Variables:
event -- description of the event.
ip_address -- IP address of the new instance.
- salt/cloud/<VM NAME>/deploy_script
Fired once the deploy script is finished.
- Variables:
event -- description of the event.
- salt/cloud/<VM NAME>/created
Fired once the new instance has been fully created.
- Variables:
name -- the name of the VM being created.
event -- description of the event.
instance_id -- the ID of the new instance.
provider -- the cloud provider of the VM being created.
profile -- the cloud profile for the VM being created.
- salt/cloud/<VM NAME>/destroying
Fired when salt-cloud requests the destruction of an instance.
- Variables:
name -- the name of the VM being created.
event -- description of the event.
instance_id -- the ID of the new instance.
- salt/cloud/<VM NAME>/destroyed
Fired when an instance has been destroyed.
- Variables:
name -- the name of the VM being created.
event -- description of the event.
instance_id -- the ID of the new instance.