salt.returners.etcd_return

Return data to an etcd server or cluster

depends:
  • python-etcd

In order to return to an etcd server, a profile should be created in the master configuration file:

my_etcd_config:
  etcd.host: 127.0.0.1
  etcd.port: 2379

It is technically possible to configure etcd without using a profile, but this is not considered to be a best practice, especially when multiple etcd servers or clusters are available.

etcd.host: 127.0.0.1
etcd.port: 2379

Additionally, two more options must be specified in the top-level configuration in order to use the etcd returner:

etcd.returner: my_etcd_config
etcd.returner_root: /salt/return

The etcd.returner option specifies which configuration profile to use. The etcd.returner_root option specifies the path inside etcd to use as the root of the returner system.

Once the etcd options are configured, the returner may be used:

CLI Example:

salt '*' test.ping --return etcd

A username and password can be set:

etcd.username: larry  # Optional; requires etcd.password to be set
etcd.password: 123pass  # Optional; requires etcd.username to be set

You can also set a TTL (time to live) value for the returner:

etcd.ttl: 5

Authentication with username and password, and ttl, currently requires the master branch of python-etcd.

You may also specify different roles for read and write operations. First, create the profiles as specified above. Then add:

etcd.returner_read_profile: my_etcd_read
etcd.returner_write_profile: my_etcd_write
salt.returners.etcd_return.clean_old_jobs()

Included for API consistency

salt.returners.etcd_return.get_fun(fun)

Return a dict of the last function called for all minions

salt.returners.etcd_return.get_jid(jid)

Return the information returned when the specified job id was executed

salt.returners.etcd_return.get_jids()

Return a list of all job ids

salt.returners.etcd_return.get_load(jid)

Return the load data that marks a specified jid

salt.returners.etcd_return.get_minions()

Return a list of minions

salt.returners.etcd_return.prep_jid(nocache=False, passed_jid=None)

Do any work necessary to prepare a JID, including sending a custom id

salt.returners.etcd_return.returner(ret)

Return data to an etcd server or cluster

salt.returners.etcd_return.save_load(jid, load, minions=None)

Save the load to the specified jid