Conflicts:
- salt/cli/daemons.py
- salt/config/__init__.py
- salt/exceptions.py
- salt/pillar/foreman.py
- salt/returners/local_cache.py
- salt/states/saltmod.py
- salt/utils/__init__.py
- salt/utils/cloud.py
The merge conflicts in salt/cli/daemons.py are still present in this commit.
@s0undt3ch is going to resolve them after this commit.
`EXPOSE` and `VOLUME` declaration of a Dockerfile are exactly like
user declaration those parameters in their sls for dockerng.running
Considering Dockerfile containing this line:
```
EXPOSE 80
```
Those 2 sls are now considered strictly equivalent.
```yaml
container:
dockerng.running:
image: alpine
ports:
- 80/tcp
```
```yaml
container:
dockerng.running:
image: alpine
```
Usage of GlusterFS states did not change except the state 'created' was deprecated in favor of more descriptive name 'volume_present'.
- Improved separation of functionality in the execution module from the states. Module functions now return booleans instead of varying
strings. Parsing those strings in the states was very error-prone. In glusterfs.peer() function this problem was earlier solved by returning
a dict containing both the exit value and output string of the gluster call. This could be a good idea, although without calling the gluster
calls twice, and applied to other functios too.
- Calls to gluster are now logged more verbosely, while a failing call no longer raises an immediate exception.
- Improved checking and verbosity in the state level. Cleaned code a lot, removed some bugs and other odd behaviour.
- Updated tests to match the changes. Refactored some test code to be more readable. Added assertions to test that some functions are not
called when things are already in the desired state. Preferred changing behaviour of the mocked functions while proceeding instead of listing
all of the return values first.
- Replaced glusterfs.list_peers() with more informative peer_status() and deprecated the old name. The function now returns a dict with UUIDs as its keys.
- glusterfs.info() can now be called without volume name. It always returns a dictionary. Use this function instead of status() in sates.
- Functions glusterfs.delete() and glusterfs.create() were deprecated and renamed to delete_volume() and create_volume().
When removing settings from dockerng.running state definition,
changes where ignored as `_compare()` was iterating only over user defined
parameters.
By looping over all available options we are now sure to not miss
removed entries.
Extend definition of expected default values:
- Some default values are predictable and hardcoded in the VALID_CREATE_OPTS dict.
- Some default needs to be read from images (`image_path`)
- Some defaults values are unpredictable (hostname, mac_address)
we are comparing desired value against value reported by the container
(`get_default_from_container`).
The addition of the new skip_verify argument to
salt.modules.file.manage_file() means that the position of contents
param in returner.call_args[0] has changed. This commit updates this
test to reflect the new position.
Additionally, a comment has been added to hopefully make failures in
this test easier to grok for people moving forward.
Reworked the test structure design for the gluster module and state so I
could create a test that mimiced the behavior difference between 3.7 and
prior versions when reverse probing by ip a server that already exists.
Added the additional data given by gluster 3.7 to the output of
glusterfs.list_peers to allow us to compare a requested peering against
a host's aliases.
Fixes#30932