the setup affected is using the orchestrate runner to call salt.wait_for_event
the event is being sent by a reactor (effectively, chaining events)
```
send_ready_event:
local.cmd.run:
- tgt: 'salt-minion-running-on-salt-master'
- arg:
- "salt-call event.send 'core/instance/test-instance/ready' '{minion: test-instance}'"
```
this is the dict for the event when a match is found while listening:
```
{
tag: core/instance/test-instance/ready,
data: {
_stamp: 2016-12-18T05:05:28.047408,
pretag: None,
cmd: _minion_event,
tag: core/instance/test-instance/ready,
data: {
__pub_user: root,
__pub_arg: [
core/instance/test-instance/ready,
{minion: test-instance}
],
minion: test-instance,
__pub_fun: event.send,
__pub_jid: 20161218000528008327,
__pub_tgt: test-instance,
__pub_tgt_type: glob,
__pub_ret:
},
id: test-instance
}
}
```
these changes keep the previous functionality intact and uses the inner 'data' dictionary when available to get the proper event data.
the event parsing implemented here: https://github.com/saltstack/salt/blob/develop/salt/thorium/status.py would leave me to believe that this is expected behavior for reading event data.
now my wait_for_event blocking call works as expected when the event is fired :)
Add Mattermost features consisting of:
- An execution module to post messages to Mattermost
- A returner to return messages during an execution module execution and
the possibility to return the events caught on the master
- A runner to send messages from the master (our use case was to use it
with reactors)
- Utils function to make the queries
### What does this PR do?
**module: boto_rds**
* updated `boto_rds.create`'s of describe return value changes from `{'db_instance_status': string}` to `{'rds': 'DBInstanceStatus': string}` -- fixes Runtime Exception
* updated `boto_rds.get_endpoint`:
- return the same values as in previous `boto2.rds2` implementation -- since: fae87f1d5e (diff-59e36191d3e2ecda4e684feddb25b2d0L452)
- Added sanity check for 'Endpoint' index to avoid exception when endpoint is not available (happens during initial "backing-up" stage after creation.)
- Returns only string endpoint (Address) with no port value. Previous rds2 implementation only returned address.
- Rolled back a change to describe here: b5a2e11e60
> Should either roll back to what it was, or if it should include the port (return a dict instead of string??)..I'd listen to reason :)
> i've already updated states to split port off if colon is found.. so either implementation will work for me now.. not sure of scope of impact to any others..
* updated `boto_rds.delete` to accept tags param and pass it thru to `__salt__['boto_rds.exists']` when checking if rds has been completely deleted to be consistent with other uses of the exists calls in the module
**state: boto_rds**
* updated `boto_rds.present`'s sample code-block to reflect the new syntax with tags in a dict instead of list of lists. In the latest implementation in the module, `boto_rds._tag_doc` is used to build the tag list according to the boto3 api reference: http://boto3.readthedocs.io/en/latest/reference/services/rds.html?highlight=rds#RDS.Client.create_db_instance
* fix docblocks to reflect that the tags is expected to be a 'dict'
* fixed use of `boto_rds.exists` return data to expect `{'exists': bool}` instead of `bool`
* updated `boto_rds.absent` to pass in tags to `__salt__['boto_rds.delete']` to go along with the change in the method signature in the module
### What issues does this PR fix or reference?
Rebasing #38284 (totally deleted branch by accident, lol)
Cheers 👍
As IPv4 addresses delivered by DHCP server never are known to OpenNebula and thus SaltStack I give the VM an IPv6 address which then can be used by salt-cloud.
Add the following configuration options to tell a minion to
set up its beacons and/or scheduler before a connection to the master
has been made: `beacons_before_connect`, `scheduler_before_connect`.
An example where this option would be useful is if we are using the
avahi_announce or bonjour_announce beacon and we would like mDNS
announcements to occur before connect, so that there is always an
announcement even if the master is down or an incorrect master hostname
is configured.
Signed-off-by: Sergey Kizunov <sergey.kizunov@ni.com>