Skip to content

Adding Juniper native minion changes for Salt 3002 to master branch#58979

Merged
dwoz merged 10 commits intosaltstack:masterfrom
dmurphy18:dgm_junos_master
Nov 24, 2020
Merged

Adding Juniper native minion changes for Salt 3002 to master branch#58979
dwoz merged 10 commits intosaltstack:masterfrom
dmurphy18:dgm_junos_master

Conversation

@dmurphy18
Copy link
Copy Markdown
Contributor

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.

@dmurphy18 dmurphy18 added the Aluminium Release Post Mg and Pre Si label Nov 18, 2020
@dmurphy18 dmurphy18 added this to the Approved milestone Nov 18, 2020
@dmurphy18 dmurphy18 requested a review from a team as a code owner November 18, 2020 23:55
@dmurphy18 dmurphy18 requested review from cmcmarrow and cro and removed request for a team November 18, 2020 23:55
@dmurphy18
Copy link
Copy Markdown
Contributor Author

re-run all

@dmurphy18 dmurphy18 added Core relates to code central or existential to Salt Has Testcase and removed has-failing-test labels Nov 21, 2020
@dmurphy18
Copy link
Copy Markdown
Contributor Author

@cro Can you give this a review since you are knowledgeable about this code.

Copy link
Copy Markdown
Contributor

@cmcmarrow cmcmarrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be a good idea to add some doc strings for some of the new funcs

Comment thread salt/modules/junos.py Outdated
@dwoz dwoz merged commit d1924f9 into saltstack:master Nov 24, 2020
Comment thread salt/cli/daemons.py

if not self.values.proxyid:
self.error("salt-proxy requires --proxyid")
## allow for native minion
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why exactly was this commented out?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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

s0undt3ch added a commit that referenced this pull request Nov 25, 2020
s0undt3ch added a commit that referenced this pull request Nov 27, 2020
s0undt3ch added a commit that referenced this pull request Nov 27, 2020
clrpackages pushed a commit to clearlinux-pkgs/salt that referenced this pull request Apr 6, 2021
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 …
@dmurphy18 dmurphy18 deleted the dgm_junos_master branch April 20, 2021 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Aluminium Release Post Mg and Pre Si Core relates to code central or existential to Salt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants