An error is logged if any of the publisher_acl targets is not present in
the available usernames (as derived using pwd.getpwall()). However, at
some point publisher_acl was expanded to support globs and regexes to
specify user names. When this was done, the code which checks the
publisher_acl entries against the available users was not updated. This
results in spurious errors in the log when this code tries to look for a
regex or glob expression in the list of available usernames.
However, there is no real reason for this check, as all it does is run
pwd.getpwnam() on the publisher_acl entry, and it does this only when
the entry is not in the list of available users. So there is no way for
this to do anything but raise a KeyError.
The if block which checks the entry against the list of available users
has therefore been removed.
Previously, `pillar.get` would always default list merge behavior
based on the value of the opt `pillar_merge_lists`. This isn't
always desirable, particularly when creating a dictionary of
default values in a state and merging those defaults with a pillar
key. Sometimes you want a list in pillar to overwrite the default.
This patch adds a param `deep_merge_lists` that allows a user to
specify whether lists within the returned dictionary should be
merged with or overwrite lists within the `default` dictionary.
If unspecified, the new param defaults to the prior behavior.
If apache-libcloud 2.0.0 is installed, the workaround outlined in issue #32743
no longer applies and should be avoided. However, we still need to support older
versions of apache-libcloud that need this work-around.
The minimum version required of apache-libcloud has been updated to 2.0.0 in pull
request #40837, which will released in Oxygen. #40837 has removed all of the
work-arounds needed for issue #32743 for 2.0.0. Until Oxygen is released, however,
we need to support both the work-around for older versions of apache-libcloud as
well as 2.0.0.
This is the error
```
npm ERR! As of npm@5, the npm cache self-heals from corruption issues and
data extracted from the cache is guaranteed to be valid. If you want to make
sure everything is consistent, use 'npm cache verify' instead.
npm ERR!
npm ERR! If you're sure you want to delete the entire cache, rerun this command
with --force.
```
The note references very old versions of salt + salt-cloud and since
salt-cloud has been incorporated into salt for quite some time, this
notice is no longer needed.
1. Handle non-string environment variables
2. Ensure that we pass a string to subprocess.Popen() when shell=True
3. Avoid traceback in state.single when a non-string ID dec is used
The third case above is not specific to cmd.run, it can happen with any
call to state.single in which the ID dec (i.e. the "name" argument) is
not a string. This is because state.single does not set the __sls__ key
in the chunk being called.