Function is expecting two arguments. But after processing state only one
parameter (it contain two words) is pushed into list of options.
This patch reverts the parsing of "iptables --match-set" to the behaviour
of salt v2014.*.
This is a backport of https://github.com/saltstack/salt/pull/28325Closes#23643
* Pass an actual error message when raising exception
* debian_service.py: ignore retcode when checking service's status
This prevents spurious errors from being logged when a nonexistant
service is polled, or the service is not running.
* freebsdservice.py: ignore retcode when checking service's status
This prevents spurious errors from being logged when a nonexistant
service is polled, or the service is not running.
* netbsdservice.py: ignore retcode when checking service's status
This prevents spurious errors from being logged when a nonexistant
service is polled, or the service is not running.
* openbsdservice.py: ignore retcode when checking service's status
This prevents spurious errors from being logged when a nonexistant
service is polled, or the service is not running.
* Check rendered YAML for invalid keys
PyYAML will for some reason allow improper YAML, specifically double
curly-braces like ``{{ }}``, to be formed into an unhashable dict (that
is, one with a dict as a key). This commit will change the YAML renderer
such that the rendered data is recursively checked for keys that are
dicts, and raises an SaltRenderError if such a key is encountered.
Resolves#33073.
* Fix smtp returner test
This test was using jinja placeholders but was not passing the template
through the jinja renderer. This commit adds the use of the jinja
renderer to this test to fix the failure caused by the addition of
verification of the loaded YAML inthe previous commit.
* Gate jnpr imports in salt.proxy.junos.py
Fixes#31975
The doc build fails when these are not gated because jnpr raises
an ImportError.
* Remove logging line for copy/paste
* Fix file.managed for Windows (#33181)
* Revert back to import string_types
For some reason, there is a problem with the following
code when run from the file.py module:
```
from salt.ext import six
comment = 'This is a string'
isinstance(comment, six.string_types)
```
When run from within the python shell it works fine.
* Add six import
* Fix some lint
* Use correct six import
* Changed it back to explicit import
* Additional comments specific to 2015.5
* Fix file.managed for real
* Move comment to clarify purpose
* update 2015.5.11 release notes (#33197)
* Add pip installed and removed test (#33178)
* Resolve issue with pkg module on Mint Linux (#33205)
Closes#32198
* Properly handle redirected stderr
When running subprocess.Popen.communicate() on a command run with stderr
redirected to subprocess.STDOUT, the 2nd element of the return tuple
(representing the stderr) will be None, since all of the standard error
was sent to stdout.
Functions interpreting the return data from cmd.run_all will be
expecting the ``stderr`` key in the return dict to contain a string, not
a NoneType, so this commit forces the stderr to be set to an empty
string when redirect_stderr is True.
* Look at stdout instead of stderr for error text when redirect_stderr is True
* Revert back to import string_types
For some reason, there is a problem with the following
code when run from the file.py module:
```
from salt.ext import six
comment = 'This is a string'
isinstance(comment, six.string_types)
```
When run from within the python shell it works fine.
* Add six import
* Fix some lint
* Use correct six import
* Changed it back to explicit import
* Additional comments specific to 2015.5
* Fix file.managed for real
* Move comment to clarify purpose
* Hash fileclients by opts
There was an issue whereby the cache of the fileclient was being overwritten
by dueling minion instances in multimaster mode. This protects them by hashing
by the id of opts.
Closes#25040
* Silly typo!
* Remove tests which do not test any actual functionality or are too tightly coupled to the implementation
* Handle empty acl_name in linux_acl state
Calls to setfacl interpret an empty group or user name to mean to be the
owner of the file they're operating on. For example, for a directory
owned by group 'admin', the ACL 'default:group::rwx' is equivalent to
'default:group:admin:rwx'.
The output of the getfacl execution module returns ACLs in the format of
'group:admin:rwx' instead of 'group::rwx'. This commit changes the
acl.present state to look for the owner of the file if the acl_name
paremeter is empty.
* Fix acl.present/acl.absent changing default ACLs
The behaviour of the acl.present and acl.absent is to check the data
structure returned by getfacl contains a key by the name of acl_type.
However, this data structure does not contain any default ACLs if none
exist, so this check will fail. We omit the check if a default ACL was
passed into the state functions.
Unfortunately, the call to modfacl may fail if the user passes in an
acl_type such as 'default:random'. In this case the state will appear to
succeed, but do nothing.
This fixes the state module to allow setting default ACLs on files which
have none.