Fixes some issues with Py3 not building
Brings the 2 build_env files more in line with each other
Fixes some typos in the build_env scripts
Removes the need for seperate req files for Py2 and Py3
Setup.py uses the windows req file on Windows
Removes the need to install pycrypto and pyyaml in setup.py. They are
now handled in the req.txt
Uses pypi resources instead of downloading .whl files and .exes for
dependencies
Updates nssm version to address the issue in #46192
Removes nssm from buildenv and downloads 32 and 64 bit versions of nssm
in build_pkg.bat
Removes the AppNoConsole=1 setting from the nsis script since it is not
needed with the new version of nssm
Use `len()` to determine emptiness of a dictionary.
PR#44624 introduced a Python3 incompatible comparison where a dict is
compared against an integer, causing breakage on Ubuntu 18.04/bionic
which uses Python3 by default for SaltStack:
```
File "/usr/lib/python3/dist-packages/salt/modules/upstart.py", line 100, in _find_utmp
if result > 0:
TypeError: '>' not supported between instances of 'dict' and 'int'
```
We were only normalizing the global version of a config parameter if it
had a per-remote counterpart. This was all well and good for gitfs,
which doesn't have any config values that are global-only, but
git_pillar and winrepo have config params which are global-only, and
they were therefore not being normalized.
This fixes that oversight, and also makes a few other changes in
salt.utils.gitfs to ensure that we're not pulling from the un-normalized
values from the opts dict, when we need to fall back to global defaults.
Additionally, it fixes an issue in which the `git_pillar_branch` config
item was overriding the branch set in a git_pillar remote.
This clears up some confusion about discrepancies between the available
files and the files that show up when the runner functions are used, if
the fileserver configuration has been updated since the last time the
master daemon has been restarted.
pip.installed state calls pip.freeze to check for existing installation
and to verify installation post-install. This patch propagates the
env_vars passed to pip.installed to the pip.freeze function. It also modifies
existing pip unit tests to test new functionality and adds an integration test
that verifies the expected correct behavior
Fixes#46127
- Looks like this was originally introduced to resolve an issue with HP
servers putting public_ips in the private_ip list.
- The code has been refactored several times since then.
- This affects the code where 'ssh_interface: private_ips' so we by
definition do not want to use public_ips anyway.
- The original code prevents servers with only private_ips (e.g on
some rackconnect_v3 servers) from building as salt-cloud thinks the
private_ips are not valid.
- ISSUE #46215
In cases where os.umask was being used simply to get the umask, a new
helper function has been added to keep improper direct usage of os.umask
from permanenly modifying the umask.
A recent change to nginx appears to be causing this test to fail to
cache the test file in the temp nginx instance we've spun up. This
causes the return of cp.cache_file to be False, which in and of itself
should be enough to fail the test. But since we're not asserting on the
cp.cache_file results, flow proceeds to the next block of code, in which
we open the "file" that we cached. Some genius thought it would be a
swell idea to make io.open() successfully open a filehandle when the
path passed to it is a boolean False. When you try to read from this
filehandle, an AMAZING thing happens... It just blocks. Forever. I know,
right? Pure genius.
This commit adds an assert so that the test fails gracefully and doesn't
try to read from a bogus filehandle that SHOULDN'T EVEN EXIST.