Adding Juniper native minion changes for Salt 3002 to master branch#58979
Adding Juniper native minion changes for Salt 3002 to master branch#58979dwoz merged 10 commits intosaltstack:masterfrom
Conversation
101a9b6 to
5b21222
Compare
|
re-run all |
|
@cro Can you give this a review since you are knowledgeable about this code. |
cmcmarrow
left a comment
There was a problem hiding this comment.
I think it would be a good idea to add some doc strings for some of the new funcs
…and decorator tests
46f5cdc to
a47d3de
Compare
|
|
||
| if not self.values.proxyid: | ||
| self.error("salt-proxy requires --proxyid") | ||
| ## allow for native minion |
There was a problem hiding this comment.
Why exactly was this commented out?
There was a problem hiding this comment.
@s0undt3ch It was interfering with the native minion, maybe I need to go back and change that to be surrounded by a is_junos, which was added long after the --proxyid check was removed.
The native minion leverages the proxy code with a direct connection into using ncclient to adjust the working of the Junos OS on the router, but it does not have a proxy id since that is assocaited with using Pillar which the native minion does not use.
Created #59020 to fix this
AP Orlebeke (1):
Fix 'write' references under the 'read' function
Adam Mendlik (7):
Correct capitalization in service state comment
Update ignored revisions for git-blame
Add tests for states.module
Return error if no functions a passed to module.run
Return None from module.run state with test=true
Create changelog for PR 58752
Remove unneeded empty kwargs dictionary
Alan Somers (14):
Write tests for existing bsd_shadow methods
Add shadow.set_password for BSD operating systems
Update changelog for PR #59140
Fix an unterminated character set in a regex
Add a modicum of error handling to sysrc.set
Fix O(n^2) string concatenation in freebsd_sysctl.py
Fix an O(n^2) performance bug in sysctl.present
Stylistic changes required by ci/pre-commit
Add a changelog entry
Respond to review comments
style changes
Fix test_freebsd_sysctl.FreeBSDSysctlTestCase.test_show on Windows
style
style
Alexander Graul (8):
Set distro requirement to oldest supported version
Remove Python2/import comments from utils.systemd
Add utils.systemd.pid_to_service function
Add zypperpkg.services_need_restart
Add aptpkg.services_need_restart
Add yumpkg.services_need_restart
Add changelog entry for issue #58261
Simplify dnf needs-restarting output parsing
Alexander Kriventsov (3):
add CentOS Stream to _OS_FAMILY_MAP, fix #59161
added changelog and test
fix syntax
Alyssa Rock (1):
[DOCS]: Add topic describing Salt System Architecture for newbies (#58664)
Ben Steinberg (2):
Remove getchildren
Restore line deleted in error
Bo Maryniuk (3):
Add hold function
Add unhold function
Add warnings
Bryce Larson (8):
update requirements to be able to be installed on arm64 version of ubuntu 20.04
remove macos highsierra from ci
cloud-tests don't run right unless they runFull
update to pygit2>=1.4.0 for arch compatibility
Always store git sha in _version.py during installation
rename changelog file
convert images when needed
fix pre-commit
Carlos Álvaro (3):
feat: Update macOS brew list command for casks
doc: Add changelog entry
Remove import headers
Chad Phillips (1):
Fix Pop!_OS 20.04 not using aptpkg
Charles McMarrow (1):
Delete test_x509.py
Christoph Moench-Tegeder (1):
modules.postgres: pass waldir to init
Cédric Bosdonnat (54):
libvirt domain template memory config fixes
virt: make context preprocessing more reusable in _gen_xml
xmlutil.change_xml properly handle xpath node number
xmlutil.change_xml: properly handle updated return value for removals
virt.update: properly handle nosharepages and locked elements
xmlutil: use a comparison function to update XML
virt.update: handle tiny difference in memory values
virt.update: factorize the mapping value definition
virt: add kvm-hint-dedicated feature handling
virt: add clock configuration for guests
virt: add qemu guest agent channel
virt: allow using IO threads on disks
Remove unneeded VM XML definition fragments in tests
virt: canonicalize cpuset before comparing
virt: only live update vcpu max if there is a change
virt: cleanup the consoles and serials support
virt: add stop_on_reboot parameter in guest states and definition
virt: expose live parameter in virt.defined state
Ensure virt.update stop_on_reboot is updated with its default value
Fix the new iothreads virtual disk parameter
Remove deprecated update parameter in virt.defined and virt.running
Fix indentation of Jinja instructions in libvirt_domain.jinja
Use more opt_attribute macro in libvirt_domain.jinja
Unify XML indentation in libvirt_domain.jinja
Move virt network generation tests to pytest
Extract XML space stripping function from virt module
Fix link in virt state documentation
Extract the XML cleanup code from virt.pool_update
virt: expose more properties in virt.network_define
Remove useless code in virt pytest fixture
Add virt.network_update function
Convert the virt network state unit tests to pytest
Let virt.network_update state change existing networks
Add virt.node_devices function
virt: add PCI and USB host devices support to virt init and update
Convert virt domain state unit tests to pytest
Add host_devices to virt running and defined states
Convert virt _diff_nics() unit test to pytest
virt: better compare NICs of running VMs
virt: hostdev network fixes
virt: extract the live update code from the update function
virt: better handle comparison of hostdev NIC interfaces
virt: better compare hostdev networks
Add xmlutil function dumping a node into a string
Fix virtual network generated DNS XML for SRV records
Add missing property in virt.network_define dns srv doc
virt: serial and console fixes
Convert the virt test_update() test to pytest and split it
virt: fix update of efi=True
virt: remove useless try/except
unCamelCase assertEqualUnit in virt module unit tests
Reverse all asserts in code introduced by PR#59189
virt: convert xen pv XML generation test to pytest
virt: better look for grub.xen when generating xen pv definition
Daniel A. Wozniak (36):
Clean up linter and refactor new tests
Fix logging if it happens to be enabled by force
Run loaded methods in a context specific to the laoder
Slow test fixes
Use patch_if to clean up tests
Add more tests and better docstrings
Fix test_loader_globals case
Fix typo
Combine isinstance checks
Syntax cleanup
Make sure test fails without loader changes
Make sure boto apigateway tests pass under pytest
fix pre-commit issues
Fix older pytest runs
Fix broken ssh slow tests
Remove six imports
Need to import builtins
More test fixes
More test fixes
Fix linter
Fix pre-commit
Fix schedule test flakiness
Supress noisy warnings
Wean off IOLoop.run_sync
Fix flaky multimaster tests
Attempt to fix on darwin OSes
Attempt to fix on darwin freebsd
Fix for issue #59773
Add changelog for #59773
_get_initial_pillar function returns pillar
Fix linter issues
Clean up test
Initial pass at fips_mode config option
Fix pre-commit
Fix tests and add changelog
Fix warts in changelog
Daniel Wozniak (1):
Merge 3002.6 bugfix changes (#59822)
David Murphy (15):
Initial support for Juniper native minion for Salt 3002
Adding Juniper native minion changes from 3002 to master
Correct for use of single quotes
Allow for event.fire_master, and typo in string
Fixing tests
Cleanup typos and decorator
Clean up docs and reboot test
Updated install_os tests to allow for status,message conn.sw.install and decorator tests
Fixed documentation
emoved commented out line, per reviewer's request
Initial fixes for proxyid check if not junos
debugging
Cleaned up left-over comments and is_junos
WIP testing tiamat Solaris 11 checks for updated openssl
Updated to allow for Solaris and AIX tiamat based paths
Derek Ardolf (10):
Update SECURITY.md
Update salt/beacons/junos_rre_keys.py
Fix twine call
Remove duplicate sdist
Update salt/states/pkgrepo.py
Update salt/states/pkgrepo.py
Update salt/states/pkgrepo.py
Update salt/states/pkgrepo.py
Update salt/states/pkgrepo.py
Update salt/states/pkgrepo.py
Elias Probst (7):
netapi/rest_cherrypy: fix doc for access/error log config
modules.test: improve documentation consistency
doc: remove `module` suffix from descriptions
states.pkgrepo: drop obsolete notice wrt Ubuntu bug#1249080
states.pkgrepo: improve documentation consistency
Improve wording wrt Zypper repo signing keys
modules/match: add missing "minion_id" in Pillar example
Erik Johnson (4):
Fix incorrect documentation for pillar_source_merging_strategy
Add changelog file
roots: Use rsplit instead of split to read from mtime_map
Shoehorn in the pyupgrade stuff
Frode Gundersen (10):
Update docs for latest
Update man pages 3003
Update RC installation instructions
aluminium reference update to 3003
change back deprecation warnings
Update neutron.py
update changelog/releasenotes for 3003
update releasenotes
update docs 3003
update docs 3003 - newline
Gareth J. Greenaway (100):
When we are checking requisites, run reconcile_procs just on those requisite states not all running states.
Adding changelog.
changes suggested by @s0undt3ch.
removing separate state file and creating it when the test runs.
Update test_state.py
No need for this code to handle dicts since we are handling dicts further down.
Adding test for pkg.unhold changes in yumpkg.py.
Adding changelog.
making searching ret comment more generic for other OSes
Ensure the right versionlock package is installed.
Ensure the right versionlock package is installed in the other tests as well.
Fixing the two failing tests when running on Photon OS. Python 3 installed on Photon OS does not support MD4 hashing, so don't load pdbedit module and skip the test_generate_nt_hash test. Default unmask for files and directories results in them having only user and group permissions so update the test_directory_max_depth test.
Adding changelog.
Allow the nameservers to be populated from systemd-resolve.
Adding changelog file
Override salt.utils.path.which so we do not find systemd-resolve.
Use the existing parse_resolv to parse /run/systemd/resolve/resolv.conf it is exists.
Do not need this patch for salt.utils.path
make sure that the data being passed to salt.utils.json.dumps is in the right format.
Update salt.utils.data.decode to properly handle datetime objects, so we can convert those when they show in events.
Swapping str for isoformat when using datetime.
Need to include the keep argument when calling decode from decode_list and decode_dict.
reduce the complexity of the dict in the simulated event to avoid dictionary ordering changes.
dict ordering is not consistent with older versions of Python so just look for specific strings in the call args, eg. the datetime and the encoded bytes string.
Removing log.debug call.
Fixing expand_repo_def in aptpkg module to include the architecture in the line attribute when it is passed in.
Adding changelog file
Pull comps and architecture from the first generated source_entry object instead of kwargs.
Fixing test.
Adding missing error case to the validation for service beacon. Adding additional tests.
Adding changelog file
Update 56623.fixed
initial investigation for multi line queries.
Adding a new option to pass client_flags to mysql connections.
Adding a test to ensure that the constant value to present when client_flags includes multi_statements.
Adding skipIf.
Adding changelog.
When passing arguments pass them as keyword arguments so that we can be sure the right value is going where.
breaking out opts and pillar parts into separate tests. Adding some beacon data in pillar to tests pillar bits.
Adding changelog files for each issue this PR addresses.
Schedule Items in Pillar Refresh Fixes (#59104)
Fixes to netmiko module and proxy module to handle situations where the device is unreachable during the initial connection phase.
Adding changelog.
Create the ConnectHandler mock when running on a system that does not have netmiko installed.
Fixing _sanitze_comments to use sqlparse instead of re.sub. Adding additional tests.
Adding changelog file
removing six imports and adding sqlparse to requirements. Swapping out range(len()) for enumerate.
Fixing requirements via pre-commit.
Running pre-commit bits manually.
Reworking the state module tests to use temporary files for the states instead of files in the test repo.
Fixing unit tests. Swapping out calls to salt modules for the RUNTIME_VARS.TMP variable.
Fixing pytest tests.
Fixing various tests that test the state system. Adding temp_state_directory helper for when we want to add a temporary state into a directory in the Salt root.
Fixing failing SSH tests looking for state files.
need to cast the pathlib to a str because of problems with Python3.5 and pytest.
Fixing various tests that test the state system. Adding temp_state_directory helper for when we want to add a temporary state into a directory in the Salt root.
Fixing a missed merge conflict.
Some more cleanup. Removing usage of RUNTIME instances.
swapping str for building a string. Removing unused pytest helper. removing skipIf for pytest.
moving test to tests/pytests/integration/modules/test_pillar.py
Adding changelog.
removing the old test.
removing the old test.
requested changes for changelog.
Adding a test for digitalocean changes.
when checking if the mode had changed, only do so if the passed mode is not None.
Adding changelog file
Add more detail to the changelog.
Updates to pkg beacon, fire when installed or removed (#59463)
Adding reactor_niceness to the default minion configuration. Adding tests to ensure reactor_niceness option is available during run function.
Adding changelog.
Skip tests on Windows.
Adding the ability to clear and show the pillar cache enabled when pillar_cache is True. (#59411)
Moving tests/unit/states/test_event.py to pytest.
Adding changelog.
different approach to managing beacons via mod_beacon, using the beacon.present state module rather that salt module.
Fixing error messages when event is unable to fire to indicate correct function where the error occured. Fixing the comparision when adding beacons, ensuring we are not relying on the order in the list. Adding a pytest test for mod_beacon in file state module.
adding interval and updating the comments for pkg and service mod_beacon. Adding tests for pkg and service.
Checking that the beacon kwargs is valid before proceeding. Adding ability to override defaults with beacon_data kwarg. Adding and updating tests.
removing the re.sub to remove slashes from path. Updating tests.
Running pre-commit manually against tests/pytests/unit/states/test_pkg.py
updating docstrings for mod_beacon functions.
Adding changelog.
Fixing the virtual function for the netimiko module to allow it to run outside of a proxy minion. Adding additional tests.
Adding changelog.
moving test to tests/pytests/integration/modules/test_pillar.py
Adding changelog.
Fixing issue that this PR broke when querying pillar lists via index numbers. This change duplicates the handling of pillar values when the pillar key points at a dictionary.
Changing the match module and various matchers to not change ID in opts, which leads to the wrong minion ID being used when running salt proxy minions with multiprocessing disabled. Moving test to pytest.
Cleanup code pulling ID out of opts whe minion_id is None. Pass minion_id in the engine_kwargs when using compound_match. Ensure minion_id is a valid argument for matchers which are called from compound_match.
Look for minion_id in opts if minion_id is passed, cover any current use cases where minion_id is being passed in opts. Fallback to id.
Moving service state tests to pytest.
Fixing docstrings.
bump deprecation warning to Silicon.
Updating warnutil version to Phosphorous.
Update salt/modules/keystone.py
Removing the _ext_nodes deprecation warning and alias.
Adding changelog.
Renaming changelog file.
Update 59804.removed
Hoa-Long Tam (5):
Check $HOMEBREW_PREFIX when linking against libcrypto
Add changelog entry
Make _find_libcrypto fail on Big Sur if it can't find a library
Update _find_libcrypto tests
Fix description of test_find_libcrypto_with_system_before_catalina
Ian Chilton (2):
Fix salt minion restart example in states.x509 docs
Fix typo in the states.x509 docs
Imran Iqbal (8):
build(requirements/zeromq): limit `pyzmq` for Python < `3.6`
feat(swapusage): add `swapusage` beacon (complements `memusage` beacon)
test(test_swapusage): convert to pytest
test(test_memusage): convert to pytest
test(test_diskusage): convert to pytest
test(test_load): convert to pytest
test(test_network_info): convert to pytest
test(test_ps): convert to pytest
Jakub Recman (2):
Fix duplicate IPs
Add ip_fqdn set tests
James Howe (1):
Add SCRAM-SHA-256 support to postgres states (#59034)
Jarrod Funnell (2):
Improve backend mapping logic
Fix fileserver module whitelist logic
Jason Traub (1):
add salt_monitor beacon
Jerzy Drozdz (1):
Changed package manager detection (#59201)
Joe Eacott (31):
update cmd run docstrings to include win case sensitivity
run pre commit
Fix 59214
precommit
new pytest file and remove changes from previous test file
run pre-commit
re-run pre commit to fix other file
pre-commit for stringutils
remove more six usage
further remove usage and precommit
changes for pytest
lint
changelog file
add pytest file
remove old style test file
new branch
pre-commit
add changelog file
update requirement files
blacken file
add deps back
remove scope
upgrade pywinrm to latest
changes
blacken
changes
blacken
update reqs
rm win 3.5 ci stuff and change string
fix pre commit
update version check
Jorge Schrauwen (1):
Fix #59180 solaris_shadow module is broken on py3
Julian Dehm (1):
lxd: fix possible race condition when adding multiple devices
Ken Crowell (21):
Parse gluster version for known extant versions
Run pre-commit on changed files
Fix digitalocean reboot action error messaging
Run pre-commit against changed files
Use "VMware Photon OS" instead of "VMware Photon"
Disable hold-related pkg commands for Photon OS
Add support for Photon pkg integration tests
Make PhotonOS part of the RedHat os_family
Add notes about grains.filter_by for PhotonOS change
Fix variously broken hold/lock zypper functions
Run pre-commit against changed files
Fix result statuses for zypper un/hold
Clean up some split strings in yumpkg
Add versionadded for zypperpkg un/hold
Allow both name and pkgs for zypper un/hold
Add Suse support to installed-hold integration test
Add pkg state doc for zypper hold support
Update test from #58883 to work with new work
Add HAS_BOTO guards for boto3_elasticsearch
Add test to cover no tags provided to boto3 es add_tags
Run pre-commit against changed files
Kirill Ponomarev (2):
Update cffi to 1.14.4 (#59124)
Upgrade msgpack to 1.0.2 (#59139)
Krzysztof Pawłowski (1):
Manage network interface channels using rh_ip module and network.managed state
Leo Davis (1):
Fix test_pkgrepo_01_managed and test_pkgrepo_02_absent for Ubuntu.
Lukas Raska (10):
Implement return_retry_tries minion opts and use it for channel.send
Use default timezone offset in scheduler when correct timezone cannot be determined
Implement TCP transport reqchannel retry logic
Use custom Salt Minion factory for tests, increase the run/wait time
Simplify minion factory fixture
Add comment describing the need of long sleep in test
Rename test_minion to minion/test_return_retries
Update test_return_retries to rely on return_retry_tries config
Use contextlib.suppress instead of except/pass
Implement tcp_reconnect_backoff minion option
Matt Melquiond (1):
Fix empty reactor traceback in reactor.py (#55062)
Matthew Summers (1):
Fixes setup.py for OSX and WINDOWS when USE_STATIC_REQUIREMENTS=0
Max Arnold (1):
Improve the beacons index, fix log_beacon docs
Megan Wilhite (13):
Load system grains when custom grains are set
one less object created on startup of minion
Add vultr create tests for firewall and ssh keys
Do not edit man pages directly
Remove merge-conflict wart
Add changelog for 59134
Add changelog file for 56461
Remove glance state module in favor of glance_image
update wording in changelog
Add changelog for 59808
Patch sys.platform for test_rsax931 tests
Bump deprecation release for neutron
Uncomment Sulfur release name
Nitin Madhok (1):
Updating email references from nmadhok@clemson.edu to nmadhok@g.clemson.edu
Pablo Suárez Hernández (32):
Fix onlyif/unless when multiple conditions
Add unit tests to ensure right onlyif/unless behavior
Add extra unit test to cover valid cases
Add unit tests cases to ensure proper onlyif/unless behavior
Change tests to use 'exit' cmd and work outside Linux
Add changelog file
Fix changelog file
Prevent race condition on SIGTERM for the minion
Prevent race condition when handling signals by CLI clients
Add test case to cover destroy race condition for minion module_refresh
Add changelog
Invalidate file list cache when cache file modified time is in the future (bsc#1176397)
Add test_future_file_list_cache_file_ignored unit test
Add changelog
Add changes suggestion by pre-commit
Do not raise StreamClosedError traceback but only log it (bsc#1175549)
Add unit test to check StreamClosedError is not raised
Add new changes suggested by pre-commit
Revert "Add new changes suggested by pre-commit"
Reduce waiting time for unit test
Add changes suggested by pre-commit
Add changelog
Strip trailing "/" from repo.uri when comparing repos in "apktpkg.mod_repo" (#58962)
Allow extra_filerefs as sanitized kwargs for SSH client
Fix regression on cmd.run when passing tuples as cmd
Add unit tests to ensure cmd.run accepts tuples
Add unit test to check for extra_filerefs on SSH opts
Add changelog file
Fix comment for test case
Fix unit test to avoid failing on Windows
Skip failing test on windows
Fix test to work on Windows
Pedro Algarvio (908):
Set the test daemons log file level to error. We already forward logs to pytest.
Skipping tests on Windows per Shane's(@twangboy) suggestion
Don't set `close_fds` to `True` on FreeBSD when Py<3.9
Bump to pytest 6.2.1 and pytest-salt-factories 0.98.0
Skip test because of https://github.com/saltstack/salt/pull/58979
The `minion_tgt` keyword argument is now mandatory
Bump pytest-salt-factories to 0.98.1
Bump pytest-salt-factories to 0.98.2
Allow running the pre-commit jenkins job in GH Actions
Allow running the lint jenkins job in GH Actions
Allow running the docs jenkins job in GH Actions
Fix lint issues
Update the style conventions doc
Mention the Github Actions that run against a fork
Always build man pages on push events
Store generated documentation as build artifacts
Fix pre-commit Github Action for changed files
Migrate the minion blackout integration tests to PyTest
Fix github actions to pass unquoted paths
Remove unused test files
Add some log calls to know what's going on
Migrate the pillar include integration tests to PyTest
Migrate the cache runner integration tests to PyTest
Migrate `salt` CLI matcher tests to PyTest
Migrate the integration pillar module tests to PyTest
The `file_tree` ext pillar now has a fixture for it's root path
Migrate state file tests which required pillar to PyTest
Fix the `salt_ssh_cli` fixture
Migrate the salt-ssh pillar tests to PyTest
Use a random port for the sdb etcd docker container to use
Migrate the SDB etcd DB integration tests to PyTest
Use a random port for the vault container
Migrate the sdb vault tests to PyTest
Migrate the rpmbuild integration test to PyTest
Remove test suite static pillar
The Syndic Tests are currently broken. See #58975 for more info
Migrate `integration.minion.test_pillar` to PyTest
`temp_file` helper now uses and returns `pathlib.Path`
Fix the filemap checks
Drop Py2 and six usage
Migrate multimaster tests to PyTest
The type of line breaks is not important to the test
`temp_file` now returns a `pathlib.Path` instance
Migrate `tests/integration/states/test_cron.py` to PyTest
Remove unused function. Drop Py2.
Drop Py2 and six on salt/modules/acme.py
Drop Py2 and six on salt/modules/aptpkg.py
Drop Py2 and six on salt/modules/bcache.py
Drop Py2 and six on salt/modules/bigip.py
Drop Py2 and six on salt/modules/boto3_route53.py
Drop Py2 and six on salt/modules/boto3_sns.py
Drop Py2 and six on salt/modules/boto_cloudwatch.py
Drop Py2 and six on salt/modules/boto_datapipeline.py
Drop Py2 and six on salt/modules/boto_dynamodb.py
Drop Py2 and six on salt/modules/boto_elasticache.py
Drop Py2 and six on salt/modules/boto_elb.py
Drop Py2 and six on salt/modules/boto_elbv2.py
Drop Py2 and six on salt/modules/boto_iam.py
Drop Py2 and six on salt/modules/boto_kinesis.py
Drop Py2 and six on salt/modules/boto_secgroup.py
Drop Py2 and six on salt/modules/boto_sns.py
Drop Py2 and six on salt/modules/cabal.py
Drop Py2 and six on salt/modules/dpkg_lowpkg.py
Drop Py2 and six on salt/modules/elasticsearch.py
Drop Py2 and six on salt/modules/inspector.py
Drop Py2 and six on salt/modules/ldap3.py
Drop Py2 and six on salt/modules/mac_brew_pkg.py
Drop Py2 and six on salt/modules/minion.py
Drop Py2 and six on salt/modules/netaddress.py
Drop Py2 and six on salt/modules/network.py
Drop Py2 and six on salt/modules/nftables.py
Drop Py2 and six on salt/modules/nspawn.py
Drop Py2 and six on salt/modules/opkg.py
Drop Py2 and six on salt/modules/pf.py
Drop Py2 and six on salt/modules/pip.py
Drop Py2 and six on salt/modules/rpm_lowpkg.py
Drop Py2 and six on salt/modules/snapper.py
Drop Py2 and six on salt/modules/splunk_search.py
Drop Py2 and six on salt/modules/sysfs.py
Drop Py2 and six on salt/modules/win_network.py
Drop Py2 and six on salt/modules/yumpkg.py
Drop Py2 and six on salt/modules/zypperpkg.py
Drop Py2 and six on salt/runners/salt.py
Drop Py2 and six on salt/states/boto_elbv2.py
Drop Py2 and six on salt/modules/kubernetesmod.py
Drop Py2 and six on salt/modules/boto3_elasticsearch.py
Drop Py2 and six on salt/states/boto3_elasticsearch.py
Drop Py2 and six on salt/modules/lxd.py
Drop Py2 and six on salt/modules/mac_power.py
Drop Py2 and six on salt/modules/mac_system.py
Drop Py2 and six on salt/proxy/ssh_sample.py
Drop Py2 and six on salt/states/salt_proxy.py
Drop Py2 and six on salt/utils/win_dacl.py
Drop Py2 and six on salt/modules/file.py
Drop Py2 and six on salt/states/file.py
Drop Py2 and six on salt/states/elasticsearch_index.py
Drop Py2 and six on salt/states/elasticsearch_index_template.py
Drop Py2 and six on salt/beacons/haproxy.py
Drop Py2 and six on salt/cloud/clouds/gce.py
Drop Py2 and six on salt/pillar/ec2_pillar.py
Drop Py2 and six on salt/utils/win_functions.py
Drop Py2 and six on salt/modules/win_file.py
Drop Py2 and six on salt/grains/napalm.py
Drop Py2 and six on salt/modules/purefb.py
Drop Py2 and six on salt/returners/slack_returner.py
Drop Py2 and six on salt/states/esxcluster.py
Drop Py2 and six on salt/states/postgres_initdb.py
Drop Py2 and six on salt/utils/mattermost.py
Drop Py2 and six on salt/utils/state.py
Bump `pytest-salt-factories` to 0.99.0
Migrate `tests/integration/modules/test_saltutil.py` to PyTest
Drop Py2 and six on tests/integration/cli/test_grains.py
Drop Py2 and six on tests/integration/logging/test_jid_logging.py
Drop Py2 and six on tests/integration/modules/test_grains.py
Drop Py2 and six on tests/integration/modules/test_linux_shadow.py
Drop Py2 and six on tests/integration/modules/test_mac_power.py
Drop Py2 and six on tests/integration/modules/test_mac_timezone.py
Drop Py2 and six on tests/integration/modules/test_status.py
Drop Py2 and six on tests/integration/modules/test_system.py
Drop Py2 and six on tests/integration/modules/test_win_ntp.py
Drop Py2 and six on tests/integration/netapi/rest_cherrypy/test_app.py
Drop Py2 and six on tests/integration/runners/test_state.py
Drop Py2 and six on tests/integration/ssh/test_state.py
Drop Py2 and six on tests/integration/states/test_lxd.py
Drop Py2 and six on tests/integration/states/test_lxd_container.py
Drop Py2 and six on tests/integration/states/test_renderers.py
Drop Py2 and six on tests/unit/modules/test_random_org.py
Drop Py2 and six on tests/unit/serializers/test_serializers.py
Drop Py2 and six on tests/unit/transport/test_tcp.py
Drop Py2 and six on tests/unit/transport/test_ipc.py
Drop Py2 and six on tests/unit/transport/test_zeromq.py
Drop Py2 and six on salt/client/api.py
Drop Py2 and six on salt/client/mixins.py
Drop Py2 and six on salt/daemons/masterapi.py
Drop Py2 and six on salt/engines/fluent.py
Drop Py2 and six on salt/engines/http_logstash.py
Drop Py2 and six on salt/engines/logentries.py
Drop Py2 and six on salt/engines/logstash_engine.py
Drop Py2 and six on salt/engines/test.py
Drop Py2 and six on salt/fileserver/roots.py
Drop Py2 and six on salt/fileserver/svnfs.py
Drop Py2 and six on salt/key.py
Drop Py2 and six on salt/modules/beacons.py
Drop Py2 and six on salt/modules/event.py
Drop Py2 and six on salt/modules/schedule.py
Drop Py2 and six on salt/modules/win_status.py
Drop Py2 and six on salt/netapi/rest_tornado/saltnado.py
Drop Py2 and six on salt/runner.py
Drop Py2 and six on salt/runners/reactor.py
Drop Py2 and six on salt/utils/cloud.py
Drop Py2 and six on salt/utils/reactor.py
Drop Py2 and six on salt/transport/ipc.py
Drop Py2 and six on salt/cli/key.py
Drop Py2 and six on salt/runners/lxc.py
Drop Py2 and six on salt/runners/virt.py
Drop Py2 and six on salt/thorium/key.py
Drop Py2 and six on salt/wheel/key.py
Drop Py2 and six on salt/master.py
Drop Py2 and six on salt/cloud/clouds/saltify.py
Drop Py2 and six on salt/cloud/clouds/vagrant.py
Drop Py2 and six on salt/engines/redis_sentinel.py
Drop Py2 and six on salt/engines/slack.py
Drop Py2 and six on salt/modules/highstate_doc.py
Drop Py2 and six on salt/utils/master.py
Drop Py2 and six on tests/unit/cli/test_batch.py
Drop Py2 and six on tests/unit/cloud/clouds/test_saltify.py
Drop Py2 and six on salt/cli/batch.py
Drop Py2 and six on salt/cli/cp.py
Drop Py2 and six on salt/cloud/__init__.py
Drop Py2 and six on salt/cloud/clouds/lxc.py
Drop Py2 and six on salt/cloud/clouds/dimensiondata.py
Drop Py2 and six on salt/cloud/libcloudfuncs.py
Drop Py2 and six on salt/runners/doc.py
Drop Py2 and six on salt/runners/jobs.py
Drop Py2 and six on salt/runners/smartos_vmadm.py
Drop Py2 and six on salt/runners/survey.py
Drop Py2 and six on salt/spm/__init__.py
Drop Py2 and six on salt/thorium/local.py
Drop Py2 and six on tests/unit/test_spm.py
Drop Py2 and six on salt/minion.py
Drop Py2 and six on salt/client/ssh/client.py
Drop Py2 and six on salt/runners/manage.py
Halite is long gone
Bump `pytest-salt-factories` to 0.99.2
Drop Py2 and six on salt/utils/verify.py
Drop Py2 and six on tests/unit/utils/test_verify.py
Concentrate getting user from passwords database in a private function.
Pass `CI_RUN` as an environment variable to the test run.
Migrate `unit.setup` to PyTest
Be sure to always terminate salt's event classes
Just skip the setup tests on Arch and Fedora 33
Skip the transport tests on Darwin and FreeBSD.
Replace the `@slowTest` decorator with the `slow_test` pytest marker
Bump `pytest-salt-factories` to version 0.100.0
Migrate `integration.reactor.test_reactor` to PyTest
Migrate the disabled `integration.modules.test_event` tests to PyTest
Fix/adjust tests to v0.100.0 of `pytest-salt-factories`
Migrate `unit.serializers` to PyTest
Migrate `integration.logging` to PyTest
Migrate `integration.ssh.test_grains` and `integration.cli.test_grains` to PyTest
Migrate `integration.modules.test_grains` to PyTest
Remove duplicate test logic. Duplicate dictionary keys are impossible.
The reactor tests were migrated to PyTest
Deprecate `shutdown` and `stop` in favor of a common `close` method
Add `close_all_instances` classmethod to the TCP transport singleton.
Implement the context manager protocol for `TCPReqServerChannel`
Implement the context manager protocol for `AsyncReqMessageClientPool` and `AsyncZeroMQPubChannel`
Implement the context manager protocol for the tcp transport `SaltMessageClientPool`
Implement the context manager protocol for the several ipc transport classes
Implement the context manager protocol for `salt.key.Key`
Let the instance's `req_server` close the socket as it should
Add a `destroy` method to make sure the event class is also destroyed
Make sure all local clients are "destroyed" after being used
Drop Py2 and six on salt/modules/mac_assistive.py
Drop Py2 and six on salt/modules/mac_desktop.py
Drop Py2 and six on salt/modules/mac_group.py
Drop Py2 and six on salt/modules/mac_keychain.py
Drop Py2 and six on salt/modules/mac_pkgutil.py
Drop Py2 and six on salt/modules/mac_portspkg.py
Drop Py2 and six on salt/modules/mac_shadow.py
Drop Py2 and six on salt/modules/mac_softwareupdate.py
Drop Py2 and six on salt/modules/mac_sysctl.py
Drop Py2 and six on salt/modules/mac_timezone.py
Drop Py2 and six on salt/modules/mac_user.py
Drop Py2 and six on salt/modules/mac_xattr.py
Drop Py2 and six on salt/modules/macdefaults.py
Drop Py2 and six on salt/modules/macpackage.py
Drop Py2 and six on salt/states/mac_assistive.py
Drop Py2 and six on salt/states/mac_keychain.py
Drop Py2 and six on salt/states/mac_xattr.py
Drop Py2 and six on salt/states/macdefaults.py
Drop Py2 and six on salt/states/macpackage.py
Drop Py2 and six on tests/integration/modules/test_mac_assistive.py
Drop Py2 and six on tests/integration/modules/test_mac_brew_pkg.py
Drop Py2 and six on tests/integration/modules/test_mac_desktop.py
Drop Py2 and six on tests/integration/modules/test_mac_group.py
Drop Py2 and six on tests/integration/modules/test_mac_keychain.py
Drop Py2 and six on tests/integration/modules/test_mac_pkgutil.py
Drop Py2 and six on tests/integration/modules/test_mac_portspkg.py
Drop Py2 and six on tests/integration/modules/test_mac_shadow.py
Drop Py2 and six on tests/integration/modules/test_mac_softwareupdate.py
Drop Py2 and six on tests/integration/modules/test_mac_sysctl.py
Drop Py2 and six on tests/integration/modules/test_mac_user.py
Drop Py2 and six on tests/integration/modules/test_mac_xattr.py
Drop Py2 and six on tests/integration/modules/test_macdefaults.py
Drop Py2 and six on tests/unit/modules/test_mac_assistive.py
Drop Py2 and six on tests/unit/modules/test_mac_desktop.py
Drop Py2 and six on tests/unit/modules/test_mac_group.py
Drop Py2 and six on tests/unit/modules/test_mac_keychain.py
Drop Py2 and six on tests/unit/modules/test_mac_pkgutil.py
Drop Py2 and six on tests/unit/modules/test_mac_power.py
Drop Py2 and six on tests/unit/modules/test_mac_softwareupdate.py
Drop Py2 and six on tests/unit/modules/test_mac_sysctl.py
Drop Py2 and six on tests/unit/modules/test_mac_user.py
Drop Py2 and six on tests/unit/modules/test_mac_xattr.py
Drop Py2 and six on tests/unit/modules/test_macdefaults.py
Drop Py2 and six on tests/unit/modules/test_macpackage.py
Drop Py2 and six on tests/unit/states/test_mac_assistive.py
Drop Py2 and six on tests/unit/states/test_mac_keychain.py
Drop Py2 and six on tests/unit/states/test_mac_xattr.py
Drop Py2 and six on tests/unit/states/test_macdefaults.py
Drop Py2 and six on tests/unit/states/test_macpackage.py
Add `flaky` as a new PyTest tests dependency
Bump `pytest-salt-factories` to v0.101.0
Logging integration tests were migrated to PyTest
Increate timeout. Windows 2019 is slower than 2016.
Bump to `pytest-salt-factories >= 0.102.0`
Skip reactor integration tests on windows for now.
Migrate the ZeroMQ and TCP transport unit tests to PyTest
Migrate the IPC transport tests to PyTest
Migrate `integration/master/test_clear_funcs.py` to PyTest
Migrate `unit.modules.test_linux_sysctl` to PyTest
Drop Py2 and six on salt/modules/linux_sysctl.py
Bump to `pytest-salt-factories >= 0.120.0`
Switch to using the pytest-salt-factories loader mock support
Update unit test docs to use pytest and the salt factories loader plugin
The `event_listener` fixture is now provided by `pytest-salt-factories`
Account for slow CI systems
Drop Py2 and six on salt/beacons/__init__.py
Drop Py2 and six on salt/beacons/adb.py
Drop Py2 and six on salt/beacons/aix_account.py
Drop Py2 and six on salt/beacons/avahi_announce.py
Drop Py2 and six on salt/beacons/bonjour_announce.py
Drop Py2 and six on salt/beacons/cert_info.py
Drop Py2 and six on salt/beacons/diskusage.py
Drop Py2 and six on salt/beacons/glxinfo.py
Drop Py2 and six on salt/beacons/haproxy.py
Drop Py2 and six on salt/beacons/inotify.py
Drop Py2 and six on salt/beacons/journald.py
Drop Py2 and six on salt/beacons/load.py
Drop Py2 and six on salt/beacons/log_beacon.py
Drop Py2 and six on salt/beacons/memusage.py
Drop Py2 and six on salt/beacons/network_info.py
Drop Py2 and six on salt/beacons/network_settings.py
Drop Py2 and six on salt/beacons/pkg.py
Drop Py2 and six on salt/beacons/proxy_example.py
Drop Py2 and six on salt/beacons/ps.py
Drop Py2 and six on salt/beacons/salt_proxy.py
Drop Py2 and six on salt/beacons/sensehat.py
Drop Py2 and six on salt/beacons/service.py
Drop Py2 and six on salt/beacons/sh.py
Drop Py2 and six on salt/beacons/smartos_imgadm.py
Drop Py2 and six on salt/beacons/smartos_vmadm.py
Drop Py2 and six on salt/beacons/status.py
Drop Py2 and six on salt/beacons/telegram_bot_msg.py
Drop Py2 and six on salt/beacons/twilio_txt_msg.py
Drop Py2 and six on salt/beacons/watchdog.py
Bump `lxml` requirement to 4.6.2
Account for processes that go away while iterating.
Migrate `integration.modules.test_beacons` to PyTest
Migrate `integration.shell.test_cloud` to PyTest
Move unnecessary integration tests to functional
Fix `--from-filenames` matching on Windows
Improve test module glob matching based on changed files.
Do not consider `conftest.py` a test module
Re-enable reactor integration tests on windows.
Bump `remove-import-headers` pre-commit hook to 1.1.0
Drop Py2 and six on salt/utils/atomicfile.py
Drop Py2 and six on salt/modules/aliases.py
Switch to `salt.utils.atomicfile.atomic_rename` to avoid issues on windows
Migrate `integration.modules.test_aliases` to PyTest
Drop Py2 and six on salt/modules/archive.py
Drop Py2 and six on tests/integration/modules/test_archive.py
Migrate `integration.modules.test_archive` to PyTest
Drop Py2 and six on tests/integration/modules/test_cmdmod.py
Concentrate common requirements in a single `.in` file
Drop Py2 and six on tests/unit/modules/test_boto_vpc.py
Boto has become more strict
Drop Py2 and six on tests/integration/cli/__init__.py
Drop Py2 and six on tests/integration/cli/test_batch.py
Drop Py2 and six on tests/integration/cli/test_custom_module.py
Drop Py2 and six on tests/integration/shell/__init__.py
Drop Py2 and six on tests/integration/shell/test_arguments.py
Drop Py2 and six on tests/integration/shell/test_master_tops.py
Drop Py2 and six on tests/integration/shell/test_spm.py
Skip reactor integration tests on windows, for now
Functional tests now use the module loaded from salt's loader
Upgrade to `pytest-salt-factories==0.120.2`
Add `pytest-subtests` to requirements
Add `salt-rewrite` to pre-commit hooks
Apply salt-rewrite fixes
Don't mask `_disabled`; Account for `None` the same as other functions.
Drop Py2 and six on salt/renderers/pydsl.py
Drop Py2 and six on salt/template.py
Drop Py2 and six on tests/integration/states/test_file.py
Move test to the correct test module
Migrate `integration.modules.test_state` to PyTest
Not using the pip state speeds up the tests
Duplicate test in integration tests just for windows testing
Only skip tests on CI runs
Fix PEP440 compliance.
Fix and migrate `tests/unit/test_version.py` to PyTest
Skip test if `easy_install` is not available
We also need to be PEP440 compliant when there's no git history
Allow passing env variables to use with `VirtualEnv`
Parametrize setup tests with `USE_STATIC_REQUIREMENTS`
For CI/CD purposes, address pycurl issues on windows when not using static requirements
Remove `runtests.py` and it's supporting code
Remove `runtests` CI/CD jobs
Provide `runtests.py` command to help with the pytest migration
We no longer need the distinction between running under PyTest or not
We no longer need to maintain `whitelist.txt`
Update `salt.module.mac_brew_pkg` to work with brew's JSON v2 output
`brew info cask <pkg>` is now disabled.
Fix mac brew pkg unit tests
Drop Py2 and six on tests/integration/cloud/clouds/test_tencentcloud.py
Drop Py2 and six on tests/integration/cloud/test_cloud.py
Drop Py2 and six on tests/integration/cloud/helpers/cloud_test_base.py
Drop Py2 and six on tests/integration/cloud/clouds/test_openstack.py
Drop Py2 and six on tests/integration/modules/test_disk.py
Drop Py2 and six on tests/integration/modules/test_dockermod.py
Drop Py2 and six on tests/integration/modules/test_gem.py
Drop Py2 and six on tests/integration/modules/test_groupadd.py
Drop Py2 and six on tests/integration/modules/test_linux_shadow.py
Drop Py2 and six on tests/integration/modules/test_mac_system.py
Drop Py2 and six on tests/integration/modules/test_mysql.py
Drop Py2 and six on tests/integration/modules/test_nilrt_ip.py
Drop Py2 and six on tests/integration/modules/test_pw_user.py
Drop Py2 and six on tests/integration/modules/test_sysrc.py
Drop Py2 and six on tests/integration/modules/test_timezone.py
Drop Py2 and six on tests/integration/modules/test_useradd.py
Drop Py2 and six on tests/integration/modules/test_vault.py
Drop Py2 and six on tests/integration/modules/test_win_dns_client.py
Drop Py2 and six on tests/integration/modules/test_win_dsc.py
Drop Py2 and six on tests/integration/modules/test_win_firewall.py
Drop Py2 and six on tests/integration/modules/test_win_task.py
Drop Py2 and six on tests/integration/netapi/rest_cherrypy/test_app_pam.py
Drop Py2 and six on tests/integration/renderers/test_pydsl.py
Drop Py2 and six on tests/integration/spm/test_build.py
Drop Py2 and six on tests/integration/spm/test_files.py
Drop Py2 and six on tests/integration/spm/test_info.py
Drop Py2 and six on tests/integration/spm/test_install.py
Drop Py2 and six on tests/integration/spm/test_remove.py
Drop Py2 and six on tests/integration/spm/test_repo.py
Drop Py2 and six on tests/integration/states/test_alternatives.py
Drop Py2 and six on tests/integration/states/test_bower.py
Drop Py2 and six on tests/integration/states/test_docker_container.py
Drop Py2 and six on tests/integration/states/test_docker_network.py
Drop Py2 and six on tests/integration/states/test_keystone.py
Drop Py2 and six on tests/integration/states/test_mysql_database.py
Drop Py2 and six on tests/integration/states/test_mysql_grants.py
Drop Py2 and six on tests/integration/states/test_network.py
Drop Py2 and six on tests/integration/states/test_npm.py
Drop Py2 and six on tests/integration/states/test_pip_state.py
Drop Py2 and six on tests/integration/states/test_pkg.py
Drop Py2 and six on tests/integration/states/test_pkgrepo.py
Drop Py2 and six on tests/integration/states/test_reg.py
Drop Py2 and six on tests/integration/states/test_ssh_auth.py
Drop Py2 and six on tests/integration/states/test_user.py
Drop Py2 and six on tests/integration/states/test_zookeeper.py
Drop Py2 and six on tests/support/helpers.py
Drop Py2 and six on tests/unit/modules/test_gpg.py
Drop Py2 and six on tests/unit/modules/test_reg.py
Drop Py2 and six on tests/unit/modules/test_win_lgpo.py
Drop Py2 and six on tests/unit/modules/test_win_task.py
Drop Py2 and six on tests/unit/states/test_file.py
Drop Py2 and six on tests/unit/states/test_reg.py
Drop Py2 and six on tests/unit/states/test_win_lgpo.py
Drop Py2 and six on tests/unit/utils/test_win_dacl.py
Drop Py2 and six on tests/unit/utils/test_win_lgpo_netsh.py
Drop Py2 and six on tests/unit/utils/test_win_reg.py
Drop Py2 and six on tests/integration/client/test_kwarg.py
Drop Py2 and six on tests/integration/client/test_runner.py
Drop Py2 and six on tests/integration/client/test_standard.py
Drop Py2 and six on tests/integration/externalapi/test_venafiapi.py
Drop Py2 and six on tests/integration/grains/test_core.py
Drop Py2 and six on tests/integration/grains/test_custom.py
Drop Py2 and six on tests/integration/loader/test_ext_grains.py
Drop Py2 and six on tests/integration/loader/test_ext_modules.py
Drop Py2 and six on tests/integration/minion/test_executor.py
Drop Py2 and six on tests/integration/minion/test_timeout.py
Drop Py2 and six on tests/integration/modules/test_config.py
Drop Py2 and six on tests/integration/modules/test_cp.py
Drop Py2 and six on tests/integration/modules/test_data.py
Drop Py2 and six on tests/integration/modules/test_decorators.py
Drop Py2 and six on tests/integration/modules/test_hosts.py
Drop Py2 and six on tests/integration/modules/test_key.py
Drop Py2 and six on tests/integration/modules/test_mine.py
Drop Py2 and six on tests/integration/modules/test_network.py
Drop Py2 and six on tests/integration/modules/test_pip.py
Drop Py2 and six on tests/integration/modules/test_publish.py
Drop Py2 and six on tests/integration/modules/test_ssh.py
Drop Py2 and six on tests/integration/modules/test_test.py
Drop Py2 and six on tests/integration/modules/test_virtualenv_mod.py
Drop Py2 and six on tests/integration/modules/test_win_autoruns.py
Drop Py2 and six on tests/integration/modules/test_win_servermanager.py
Drop Py2 and six on tests/integration/output/test_output.py
Drop Py2 and six on tests/integration/renderers/test_jinja.py
Drop Py2 and six on tests/integration/runners/test_jobs.py
Drop Py2 and six on tests/integration/runners/test_manage.py
Drop Py2 and six on tests/integration/runners/test_nacl.py
Drop Py2 and six on tests/integration/runners/test_runner_returns.py
Drop Py2 and six on tests/integration/runners/test_salt.py
Drop Py2 and six on tests/integration/sdb/test_env.py
Drop Py2 and six on tests/integration/shell/test_arguments.py
Drop Py2 and six on tests/unit/modules/test_zcbuildout.py
Only upgrade to `setuptools<50.0.0` since the test requires `easy_install`
Drop Py2 and six on tests/unit/modules/test_zfs.py
Drop Py2 and six on tests/unit/modules/test_zpool.py
Drop Py2 and six on tests/unit/returners/test_local_cache.py
Drop Py2 and six on tests/unit/runners/test_queue.py
Drop Py2 and six on tests/unit/states/test_boto_apigateway.py
Drop Py2 and six on tests/unit/states/test_boto_cloudtrail.py
Drop Py2 and six on tests/unit/states/test_boto_cognitoidentity.py
Drop Py2 and six on tests/unit/states/test_boto_iot.py
Drop Py2 and six on tests/unit/states/test_boto_lambda.py
Drop Py2 and six on tests/unit/states/test_boto_s3_bucket.py
Drop Py2 and six on tests/unit/states/test_boto_vpc.py
Drop Py2 and six on tests/unit/states/test_loop.py
Drop Py2 and six on tests/unit/states/test_pip_state.py
Drop Py2 and six on tests/unit/states/test_zcbuildout.py
Drop Py2 and six on tests/unit/states/test_zfs.py
Drop Py2 and six on tests/unit/test_cloud.py
Drop Py2 and six on tests/unit/test_config.py
Drop Py2 and six on tests/unit/test_crypt.py
Drop Py2 and six on tests/unit/test_engines.py
Drop Py2 and six on tests/unit/test_minion.py
Drop Py2 and six on tests/unit/test_payload.py
Drop Py2 and six on tests/unit/utils/scheduler/test_postpone.py
Drop Py2 and six on tests/unit/utils/scheduler/test_skip.py
Drop Py2 and six on tests/unit/utils/test_context.py
Drop Py2 and six on tests/unit/utils/test_process.py
Drop Py2 and six on tests/unit/utils/test_pydsl.py
Drop Py2 and six on tests/unit/utils/test_thin.py
Drop Py2 and six on tests/unit/utils/test_timeout.py
Drop Py2 and six on tests/unit/utils/test_win_lgpo_auditpol.py
Drop Py2 and six on tests/integration/modules/test_lxc.py
Drop Py2 and six on tests/integration/modules/test_rabbitmq.py
Drop Py2 and six on tests/integration/states/test_rabbitmq_user.py
Drop Py2 and six on tests/integration/states/test_rabbitmq_vhost.py
Drop Py2 and six on tests/unit/modules/test_linux_shadow.py
Drop Py2 and six on tests/integration/modules/test_linux_acl.py
Drop Py2 and six on tests/unit/modules/test_k8s.py
Drop Py2 and six on salt/renderers/toml.py
Drop Py2 and six on salt/serializers/toml.py
Drop Py2 and six on tests/unit/renderers/test_toml.py
Rename `salt.renderers.toml` to `salt.renderers.tomlmod`.
Migrate `unit.renderers.test_toml` to PyTest
Drop Py2 and six on tests/integration/ssh/test_jinja_filters.py
Drop Py2 and six on tests/integration/ssh/test_mine.py
Drop Py2 and six on tests/integration/ssh/test_raw.py
Drop Py2 and six on tests/integration/ssh/test_saltcheck.py
Drop Py2 and six on tests/integration/states/test_archive.py
Drop Py2 and six on tests/integration/states/test_git.py
Drop Py2 and six on tests/integration/states/test_handle_error.py
Drop Py2 and six on tests/integration/states/test_host.py
Drop Py2 and six on tests/integration/states/test_match.py
Drop Py2 and six on tests/integration/states/test_renderers.py
Drop Py2 and six on tests/integration/states/test_ssh_known_hosts.py
Drop Py2 and six on tests/integration/states/test_svn.py
Drop Py2 and six on tests/integration/wheel/test_client.py
Drop Py2 and six on tests/integration/wheel/test_key.py
Drop Py2 and six on tests/unit/beacons/test_watchdog.py
Drop Py2 and six on tests/unit/cli/test_api.py
Drop Py2 and six on tests/unit/cli/test_daemons.py
Drop Py2 and six on tests/unit/client/test_ssh.py
Drop Py2 and six on tests/unit/cloud/__init__.py
Drop Py2 and six on tests/unit/fileserver/test_gitfs.py
Drop Py2 and six on tests/unit/modules/test_beacons.py
Drop Py2 and six on tests/unit/modules/test_debian_ip.py
Drop Py2 and six on tests/unit/modules/test_dockermod.py
Drop Py2 and six on tests/unit/modules/test_guestfs.py
Drop Py2 and six on tests/unit/modules/test_qemu_nbd.py
Drop Py2 and six on tests/unit/modules/test_schedule.py
Drop Py2 and six on tests/unit/modules/test_seed.py
Drop Py2 and six on tests/unit/modules/test_win_ip.py
Drop Py2 and six on tests/unit/modules/test_win_service.py
These tests are slow not expensive($)
Replace `@expensiveTest` with `@pytest.mark.expensive_test`
Replace `@destructiveTest` with `@pytest.mark.destructive_test`
Split into `setUp` and `tearDown`
Replace `@slowTest` with `@pytest.mark.slow_test`
Replace `@skip_if_not_root` with `@pytest.mark.skip_if_not_root`
Replace `@skip_if_binaries_missing` with `@pytest.mark.skip_if_binaries_missing`
Only depend on the top level `pyobjc` requirement.
Drop Py2 and six on salt/engines/__init__.py
Drop Py2 and six on salt/engines/docker_events.py
Drop Py2 and six on salt/engines/http_logstash.py
Drop Py2 and six on salt/engines/ircbot.py
Drop Py2 and six on salt/engines/junos_syslog.py
Drop Py2 and six on salt/engines/libvirt_events.py
Drop Py2 and six on salt/engines/logentries.py
Drop Py2 and six on salt/engines/napalm_syslog.py
Drop Py2 and six on salt/engines/reactor.py
Drop Py2 and six on salt/engines/redis_sentinel.py
Drop Py2 and six on salt/engines/script.py
Drop Py2 and six on salt/engines/slack.py
Drop Py2 and six on salt/engines/sqs_events.py
Drop Py2 and six on salt/engines/test.py
Drop Py2 and six on salt/engines/thorium.py
Drop Py2 and six on salt/engines/webhook.py
Drop Py2 and six on tests/unit/engines/__init__.py
Drop Py2 and six on tests/unit/engines/test_libvirt_events.py
Drop Py2 and six on tests/unit/engines/test_script.py
Drop Py2 and six on tests/unit/engines/test_slack.py
Drop Py2 and six on tests/unit/engines/test_sqs_events.py
Replace `@requires_salt_modules` with `@pytest.mark.requires_salt_modules`
Replace `@requires_salt_states` with `@pytest.mark.requires_salt_states`
Replace `@requires_network` with `@pytest.mark.requires_network`
Deprecate some test decorators
salt-rewrite can now run on the whole test suite
Drop Py2 support
Don't prefix the command with env vars. Address close_fds for FreeBSD.
Fix inotify beacon config so it actually loads.
Fix `UnboundLocalError` introduced in https://github.com/saltstack/salt/pull/59244
Prevent badly named changelog files from being committed
Drop Py2 and six on salt/utils/cache.py
Account for `NamedLoaderContext`'s'
Fix and migrate `tests/unit/utils/test_cache.py` to PyTest
Account for slower systems
Update release notes
Drop Py2 and six on salt/cache/etcd_cache.py
Drop Py2 and six on salt/cache/mysql_cache.py
Drop Py2 and six on salt/cloud/clouds/clc.py
Drop Py2 and six on salt/cloud/clouds/gogrid.py
Drop Py2 and six on salt/cloud/clouds/scaleway.py
Drop Py2 and six on salt/modules/aix_group.py
Drop Py2 and six on salt/modules/apkpkg.py
Drop Py2 and six on salt/modules/aws_sqs.py
Drop Py2 and six on salt/modules/bamboohr.py
Drop Py2 and six on salt/modules/baredoc.py
Drop Py2 and six on salt/modules/dockermod.py
Drop Py2 and six on salt/modules/etcd_mod.py
Drop Py2 and six on salt/modules/gcp_addon.py
Drop Py2 and six on salt/modules/genesis.py
Drop Py2 and six on salt/modules/groupadd.py
Drop Py2 and six on salt/modules/introspect.py
Drop Py2 and six on salt/modules/iwtools.py
Drop Py2 and six on salt/modules/jira_mod.py
Drop Py2 and six on salt/modules/lxc.py
Drop Py2 and six on salt/modules/netscaler.py
Drop Py2 and six on salt/modules/nxos_upgrade.py
Drop Py2 and six on salt/modules/openvswitch.py
Drop Py2 and six on salt/modules/pacmanpkg.py
Drop Py2 and six on salt/modules/pagerduty.py
Drop Py2 and six on salt/modules/pagerduty_util.py
Drop Py2 and six on salt/modules/postfix.py
Drop Py2 and six on salt/modules/pw_group.py
Drop Py2 and six on salt/modules/s3.py
Drop Py2 and six on salt/modules/splunk.py
Drop Py2 and six on salt/modules/sysmod.py
Drop Py2 and six on salt/modules/system.py
Drop Py2 and six on salt/modules/systemd_service.py
Drop Py2 and six on salt/modules/telemetry.py
Drop Py2 and six on salt/modules/zabbix.py
Drop Py2 and six on salt/modules/zenoss.py
Drop Py2 and six on salt/runners/state.py
Drop Py2 and six on salt/sdb/confidant.py
Drop Py2 and six on salt/states/github.py
Drop Py2 and six on salt/states/netusers.py
Drop Py2 and six on salt/states/network.py
Drop Py2 and six on salt/states/splunk.py
Drop Py2 and six on salt/utils/etcd_util.py
Drop Py2 and six on salt/cloud/clouds/__init__.py
Drop Py2 and six on salt/cloud/clouds/aliyun.py
Drop Py2 and six on salt/cloud/clouds/azurearm.py
Drop Py2 and six on salt/cloud/clouds/cloudstack.py
Drop Py2 and six on salt/cloud/clouds/dimensiondata.py
Drop Py2 and six on salt/cloud/clouds/ec2.py
Drop Py2 and six on salt/cloud/clouds/gce.py
Drop Py2 and six on salt/cloud/clouds/joyent.py
Drop Py2 and six on salt/cloud/clouds/libvirt.py
Drop Py2 and six on salt/cloud/clouds/linode.py
Drop Py2 and six on salt/cloud/clouds/msazure.py
Drop Py2 and six on salt/cloud/clouds/oneandone.py
Drop Py2 and six on salt/cloud/clouds/opennebula.py
Drop Py2 and six on salt/cloud/clouds/openstack.py
Drop Py2 and six on salt/cloud/clouds/packet.py
Drop Py2 and six on salt/cloud/clouds/parallels.py
Drop Py2 and six on salt/cloud/clouds/profitbricks.py
Drop Py2 and six on salt/cloud/clouds/proxmox.py
Drop Py2 and six on salt/cloud/clouds/pyrax.py
Drop Py2 and six on salt/cloud/clouds/qingcloud.py
Drop Py2 and six on salt/cloud/clouds/softlayer.py
Drop Py2 and six on salt/cloud/clouds/softlayer_hw.py
Drop Py2 and six on salt/cloud/clouds/tencentcloud.py
Drop Py2 and six on salt/cloud/clouds/virtualbox.py
Drop Py2 and six on salt/cloud/clouds/vmware.py
Drop Py2 and six on salt/cloud/clouds/vultrpy.py
Drop Py2 and six on salt/cloud/clouds/xen.py
Drop Py2 and six on salt/modules/splunk_search.py
Drop Py2 and six on salt/modules/status.py
Drop Py2 and six on salt/utils/vault.py
Drop Py2 and six on salt/auth/sharedsecret.py
Drop Py2 and six on salt/defaults/events.py
Drop Py2 and six on salt/grains/mdata.py
Drop Py2 and six on salt/grains/smartos.py
Drop Py2 and six on salt/modules/glassfish.py
Drop Py2 and six on salt/modules/pyenv.py
Drop Py2 and six on salt/runners/ddns.py
Drop Py2 and six on salt/states/glassfish.py
Drop Py2 and six on salt/states/grains.py
Drop Py2 and six on salt/states/logadm.py
Drop Py2 and six on salt/utils/kickstart.py
Drop Py2 and six on salt/utils/pkg/win.py
Drop Py2 and six on salt/utils/preseed.py
Drop Py2 and six on salt/utils/yast.py
Don't expose `timeoutDecorator_cleankwargs` nor `timeoutDecorator` to salt
Don't expose decorators to the salt loader
Drop Py2 and six on salt/modules/aixpkg.py
Drop Py2 and six on salt/modules/alternatives.py
Drop Py2 and six on salt/modules/apf.py
Drop Py2 and six on salt/modules/bower.py
Drop Py2 and six on salt/modules/csf.py
Drop Py2 and six on salt/modules/ebuildpkg.py
Drop Py2 and six on salt/modules/environ.py
Drop Py2 and six on salt/modules/freebsdpkg.py
Drop Py2 and six on salt/modules/git.py
Drop Py2 and six on salt/modules/k8s.py
Drop Py2 and six on salt/modules/keystone.py
Drop Py2 and six on salt/modules/lvs.py
Drop Py2 and six on salt/modules/mine.py
Drop Py2 and six on salt/modules/mod_random.py
Drop Py2 and six on salt/modules/napalm_mod.py
Drop Py2 and six on salt/modules/napalm_probes.py
Drop Py2 and six on salt/modules/neutron.py
Drop Py2 and six on salt/modules/npm.py
Drop Py2 and six on salt/modules/pkgin.py
Drop Py2 and six on salt/modules/pkgng.py
Drop Py2 and six on salt/modules/portage_config.py
Drop Py2 and six on salt/modules/solarisipspkg.py
Drop Py2 and six on salt/modules/ssh_service.py
Drop Py2 and six on salt/modules/telegram.py
Drop Py2 and six on salt/modules/vagrant.py
Drop Py2 and six on salt/modules/vmctl.py
Drop Py2 and six on salt/modules/xbpspkg.py
Drop Py2 and six on salt/runners/cache.py
Drop Py2 and six on salt/runners/saltutil.py
Drop Py2 and six on salt/states/archive.py
Drop Py2 and six on salt/states/git.py
Drop Py2 and six on salt/states/heat.py
Drop Py2 and six on salt/states/reg.py
Drop Py2 and six on salt/states/service.py
Drop Py2 and six on salt/client/ssh/wrapper/config.py
Drop Py2 and six on salt/executors/docker.py
Drop Py2 and six on salt/grains/nxos.py
Drop Py2 and six on salt/modules/cisconso.py
Drop Py2 and six on salt/modules/config.py
Drop Py2 and six on salt/modules/redismod.py
Drop Py2 and six on salt/modules/rest_service.py
Drop Py2 and six on salt/proxy/docker.py
Drop Py2 and six on salt/proxy/nxos.py
Drop Py2 and six on salt/states/acme.py
Drop Py2 and six on salt/states/cisconso.py
Drop Py2 and six on salt/states/docker_image.py
Drop Py2 and six on salt/states/kubernetes.py
Drop Py2 and six on salt/states/netntp.py
Drop Py2 and six on salt/states/netsnmp.py
Drop Py2 and six on salt/states/nxos.py
Drop Py2 and six on salt/states/nxos_upgrade.py
Drop Py2 and six on salt/states/probes.py
Drop Py2 and six on salt/states/redismod.py
Drop Py2 and six on salt/utils/dictupdate.py
Drop Py2 and six on salt/states/ssh_known_hosts.py
Drop Py2 and six on salt/modules/ssh.py
Drop Py2 and six on salt/modules/cassandra_cql.py
Drop Py2 and six on salt/modules/celery.py
Drop Py2 and six on salt/modules/heat.py
Drop Py2 and six on salt/modules/runit.py
Drop Py2 and six on salt/states/saltutil.py
Drop Py2 and six on salt/utils/pyobjects.py
Drop Py2 and six on salt/states/postgres_cluster.py
Deprecate the flaky decorator
Replace the custom flaky decorator with https://pypi.org/project/flaky
Don't reuse the base class
Only terminate the instance being tested
Leave no process behind!
Add missing and required config keys
We still left some processes behind
Drop Py2 and six on salt/cloud/clouds/parallels.py
Drop Py2 and six on salt/modules/artifactory.py
Drop Py2 and six on salt/modules/ilo.py
Drop Py2 and six on salt/modules/nexus.py
Drop Py2 and six on salt/proxy/cimc.py
Drop Py2 and six on salt/proxy/panos.py
Drop Py2 and six on salt/states/boto_cfn.py
Drop Py2 and six on salt/states/boto_iam.py
Drop Py2 and six on salt/states/panos.py
Drop Py2 and six on salt/utils/aws.py
Drop Py2 and six on salt/utils/s3.py
Drop Py2 and six on tests/unit/utils/test_xmlutil.py
Drop Py2 and six on salt/states/telemetry_alert.py
Drop Py2 and six on …
What does this PR do?
Eventually brings in changes to support Juniper native minions previously released for Salt 3001 and 3002 branches into the master branch
What issues does this PR fix or reference?
Fixes: Finally getting Juniper native minion support into the Salt master branch which was delayed for Neon, Sodium, and Magnesium. These changes have been previously been made available from private branches for these releases, and tested by Juniper and certified. Adding now to master branch to so CI/CD can be enabled easily for Juniper builds.
Previous Behavior
Salt was missing functionality to allow for proper operation on Juniper routers, for example: grains, handling exceptions
New Behavior
Salt now has correct functionality to allow for proper operation on Juniper routers, for example: correct reporting in grains for Junos, correct handling of exceptions, supports keywords correctly
Merge requirements satisfied?
[NOTICE] Bug fixes or features added to Salt require tests.
Commits signed with GPG?
Yes
Please review Salt's Contributing Guide for best practices.
See GitHub's page on GPG signing for more information about signing commits with GPG.