============================
Salt 2016.11.4 Release Notes
============================

Version 2016.11.4 is a bugfix release for :ref:`2016.11.0 <release-2016-11-0>`.


Statistics
==========

- Total Merges: **276**
- Total Issue References: **63**
- Total PR References: **223**

- Contributors: **62** (`Ch3LL`_, `DennisHarper`_, `DmitryKuzmenko`_, `L4rS6`_, `MasterNayru`_, `Seb-Solon`_, `The-Loeki`_, `UtahDave`_, `aabognah`_, `alankrita`_, `amontalban`_, `ardakuyumcu`_, `attiasr`_, `bdrung`_, `bewing`_, `cachedout`_, `cro`_, `defanator`_, `discountbin`_, `dmurphy18`_, `drawsmcgraw`_, `eldadru`_, `garethgreenaway`_, `githubcdr`_, `gtmanfred`_, `hkrist`_, `isbm`_, `jbadson`_, `jeanpralo`_, `jettero`_, `jinm`_, `joe-niland`_, `kaszuba`_, `lomeroe`_, `lorengordon`_, `mateiw`_, `mcalmer`_, `mchugh19`_, `meaksh`_, `mirceaulinic`_, `mlalpho`_, `narendraingale2`_, `nmadhok`_, `rallytime`_, `redbaron4`_, `roaldnefs`_, `s0undt3ch`_, `skazi0`_, `skizunov`_, `smarsching`_, `sofixa`_, `sp1r`_, `sthrasher`_, `techhat`_, `terminalmage`_, `thatch45`_, `thor`_, `ticosax`_, `twangboy`_, `vutny`_, `whiteinge`_, `zer0def`_)


AIX Support Expanded
====================

AIX support has been added for the following execution modules:

- :mod:`user <salt.modules.useradd>`
- :mod:`group <salt.modules.aix_group>`
- :mod:`network <salt.modules.network>`
- :mod:`status <salt.modules.network>`
- :mod:`timezone <salt.modules.timezone>`

Additionally, AIX is now supported in the :py:func:`disk.iostat
<salt.modules.disk.iostat>` remote-execution function, and the :mod:`status
<salt.beacons.status>` beacon is now supported.

Minion Data Cache Enhancement
=============================

Memcache is now supported as a data store for the minion data cache.

Memcache is an additional cache layer that keeps a limited amount of data
fetched from the minion data cache for a limited period of time in memory that
makes cache operations faster. It doesn't make much sense for the ``localfs``
cache driver but helps for more complex drivers like ``consul``.

For more details see ``memcache_expire_seconds`` and other ``memcache_*``
options in the master config reverence.


Docker Fixes
============

- Docker authentication has been re-organized. Instead of attempting a login
  for each push/pull (which was unnecessary), a new function called
  :py:func:`dockerng.login <salt.modules.dockerng.login>` has been added, which
  authenticates to the registry and adds the credential token to the
  ``~/.docker/config.json``. After upgrading, if you have not already performed
  a ``docker login`` on the minion using the docker CLI, you will need to run
  :py:func:`dockerng.login <salt.modules.dockerng.login>` to login. This only
  needs to be done once.
- A bug in resolving the tag name for images in a custom registry (where a
  colon can appear in the image name, e.g.
  ``myregistry.com:5000/image:tagname``) has been fixed. In previous releases,
  Salt would use the colon to separate the tag name from the image name, and if
  there was no colon, the default tag name of ``latest`` would be assumed.
  However, this caused custom registry images to be misidentified when no
  explicit tag name was passed (e.g. ``myregistry.com:5000/image``). To work
  around this in earlier releases, simply specify the tag name.

Salt-Cloud Fixes
================

2016.11.0 added support for templating userdata files for the :mod:`ec2
<salt.cloud.clouds.ec2>` driver, using the :conf_master:`renderer` option from
the master config file. However, as the default renderer first evaluates jinja
templating, followed by loading the data as a YAML dictionary, this results in
unpredictable results when userdata files are comprised of non-YAML data (which
they generally are).

2016.11.4 fixes this by only templating the userdata_file when it is explicitly
configured to do so. This is done by adding a new optional parameter to the
cloud profile called ``userdata_template``. This option is used in the same way
as the ``template`` argument in :py:func:`file.managed
<salt.states.file.managed>` states, it is simply set to the desired templating
renderer:

.. code-block:: yaml

    my-ec2-config:
      # Pass userdata to the instance to be created
      userdata_file: /etc/salt/my-userdata-file
      userdata_template: jinja

If no ``userdata_template``  option is set in the cloud profile, then
salt-cloud will check for the presence of the master configuration parameter
:conf_master:`userdata_renderer`. If this is also not set, then no templating
will be performed on the userdata_file.

In addition, the other cloud drivers which support setting a ``userdata_file``
(:mod:`azurearm <salt.cloud.clouds.azurearm>`, :mod:`nova
<salt.cloud.clouds.nova>`, and :mod:`openstack <salt.cloud.clouds.openstack>`)
have had templating support added to bring them to feature parity with the ec2
driver's implementation of the ``userdata_file`` option.


Changelog for v2016.11.3..v2016.11.4
====================================

*Generated at: 2018-05-27 19:46:47 UTC*

* **PR** `#40708`_: (`Ch3LL`_) Add 2016.11.4 Release Note ChangeLog
  @ *2017-04-14 22:12:57 UTC*

  * e5cd6086a7 Merge pull request `#40708`_ from Ch3LL/2016.11.4_release

  * d228fb6e02 Add 2016.11.4 Release Note ChangeLog

* **PR** `#40685`_: (`Ch3LL`_) Fix errno code for filecache test for other operating systems.
  @ *2017-04-14 16:54:25 UTC*

  * 77028a6c4e Merge pull request `#40685`_ from Ch3LL/fix_mac_file

  * 9ea6e8b456 remove io and change to EROFS

  * 688791ff60 remove try-except and change errno

  * e30afc4c01 add exception type

  * acf333df08 change errno code for fileclient test

* **ISSUE** `#40688`_: (`jbadson`_) Syslog returner does not work with Python 2.6 (refs: `#40689`_)

* **PR** `#40689`_: (`jbadson`_) Fixes bug that prevents syslog returner from working under Python 2.6
  @ *2017-04-14 10:45:13 UTC*

  * bc70772f9d Merge pull request `#40689`_ from jbadson/fix-syslog-returner

  * e5a3a7d217 Fixes bug that prevents syslog returner from working under Python 2.6

* **ISSUE** `#40658`_: (`sebw`_) State tomcat.war_deployed regression when WAR filename contains version (refs: `#40690`_)

* **PR** `#40690`_: (`thor`_) Fixes `#40658`_: even clearer and working(!) Tomcat version handling
  @ *2017-04-14 10:44:02 UTC*

  * 983d35ad38 Merge pull request `#40690`_ from thor/2016.11-tomcat

  * 09145ea1a5 Fixes unindexed strfmt curly braces for python 2.6

  * b78fc46b91 Fixes `#40658`_: clearer version handling

* **PR** `#40686`_: (`twangboy`_) Fix 'salt-minion' service for Win 10 Creators Update 1703
  @ *2017-04-13 20:00:12 UTC*

  * 3cd9a50b22 Merge pull request `#40686`_ from twangboy/fix_service

  * b6ac4aa86d Fix service for win10 update

* **PR** `#40675`_: (`gtmanfred`_) use loader for getting war version
  @ *2017-04-13 19:58:30 UTC*

  * ad4d6839fd Merge pull request `#40675`_ from gtmanfred/2016.11

  * a61fc824c4 use loader for war extraction

* **ISSUE** `#38497`_: (`chrisLeeTW`_) local_batch client ignore external auth (refs: `#40598`_)

* **PR** `#40680`_: (`rallytime`_) Back-port `#40598`_ to 2016.11
  @ *2017-04-13 19:58:16 UTC*

  * **PR** `#40598`_: (`mchugh19`_) Ensure batch uses passed eauth token or credentials (refs: `#40680`_)

  * 7ea526f59e Merge pull request `#40680`_ from rallytime/bp-40598

  * cc1643eb1f Fix netapi lint

  * e790930f5a re-add batch support to cherrypy saltapi

  * 6eec04b2db pop out of kwargs

  * 260dd84758 Create eauth dict for passing into batch class

  * 5fb8190d44 Ensure batch uses passed eauth token or credentials

* **PR** `#40681`_: (`cachedout`_) Allow status beacon to run on all operating systems
  @ *2017-04-13 19:33:10 UTC*

  * db68df23dd Merge pull request `#40681`_ from cachedout/status_beacon

  * ecbb0d186f Allow status beacon to run on all operating systems

* **PR** `#40678`_: (`Ch3LL`_) fix test_fstype test for mac
  @ *2017-04-13 19:20:32 UTC*

  * 39dd6e284d Merge pull request `#40678`_ from Ch3LL/fix_mac_fstype

  * 60724980ec fix test_fstype test for mac

* **PR** `#40665`_: (`rallytime`_) Back-port `#35665`_ to 2016.11
  @ *2017-04-12 21:06:36 UTC*

  * **PR** `#35665`_: (`sthrasher`_) Speed up /jobs for salt-api when run under cherrypy. (refs: `#40665`_)

  * 6df76f6687 Merge pull request `#40665`_ from rallytime/bp-35665

  * 0f897b2426 Switch from comprehension to logic used in jobs runner. This makes it easier to deal with potential unicode in returns.

  * 78dd629f09 Fix compat issues with /jobs return values.

  * 4778bc7365 Speed up /jobs for salt-api when run under cherrypy.

* **PR** `#40666`_: (`gtmanfred`_) make sure userdata is always defined in ec2
  @ *2017-04-12 21:06:00 UTC*

  * 3e41a248a5 Merge pull request `#40666`_ from gtmanfred/userdata

  * 5e92fd0948 make sure userdata is always defined in ec2

* **PR** `#40662`_: (`twangboy`_) Backport msi-conformant-version function
  @ *2017-04-12 18:49:23 UTC*

  * b245abbea5 Merge pull request `#40662`_ from twangboy/backport_msi_versioning

  * 825832812b Backport msi-conformant-version function

* **ISSUE** `#39868`_: (`amontalban`_) archive.extracted issue when source_hash_update=True and extracted files does not exist (refs: `#40551`_)

* **PR** `#40551`_: (`terminalmage`_) Fix four issues in archive.extracted state
  @ *2017-04-12 18:37:52 UTC*

  * 92b5f03beb Merge pull request `#40551`_ from terminalmage/issue39868

  * a722ca9ccf archive.extracted: also cleanup fileclient's cached location

  * 5ea1f607b0 Fix mocking in unit tests

  * 8dfa51f31f Moar fixes for source_hash_update

  * 7103707d49 Remove unnecessary versionadded lines

  * a717881f53 Just get a hash for the source archive

  * 9da4eb18bf Check hash of cached source against source_hash before downloading archive

  * ad24faa59d Fix three issues in archive.extracted state

* **PR** `#40637`_: (`twangboy`_) Add unicode_literals import
  @ *2017-04-12 16:55:03 UTC*

  * 0638418d22 Merge pull request `#40637`_ from twangboy/fix_unicode_issues

  * 021783dbae Add unicode_literals import

* **PR** `#40651`_: (`twangboy`_) Fix status.diskusage for Windows on Py3
  @ *2017-04-12 16:21:29 UTC*

  * 491661f323 Merge pull request `#40651`_ from twangboy/fix_diskusage_py3

  * 7c5079ec91 Correct capitalization problem with api call

* **ISSUE** `#40624`_: (`sumeetisp`_) Issue - grains.append (refs: `#40631`_)

* **PR** `#40631`_: (`gtmanfred`_) if grain is defined as None still convert in append
  @ *2017-04-12 16:19:16 UTC*

  * 3aabd85e53 Merge pull request `#40631`_ from gtmanfred/grains

  * b0bd99c26d add comment and unit test

  * b21bc7528f if grain is defined as None still convert in append

* **ISSUE** `#40167`_: (`alias454`_) file.replace diff results output showing additional characters (refs: `#40629`_)

* **PR** `#40629`_: (`aabognah`_) Fixing issue # 40167
  @ *2017-04-11 22:45:08 UTC*

  * 3737289bee Merge pull request `#40629`_ from aabognah/fix-bug-40167

  * 28f7744cb6 Fixing issue # 40167 with file.replace where the diff output does not display correctly.

* **PR** `#40646`_: (`twangboy`_) Keep network.py execution module
  @ *2017-04-11 22:03:02 UTC*

  * 2a22bea290 Merge pull request `#40646`_ from twangboy/fix_win_network

  * 0f7a81cd34 Keep network.py execution module

* **PR** `#40645`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-04-11 20:59:13 UTC*

  * e1f5a5dfc3 Merge pull request `#40645`_ from rallytime/merge-2016.11

  * 8de6497933 Merge branch '2016.3' into '2016.11'

    * 2ae9eaa176 Merge pull request `#40638`_ from rallytime/bp-40571

      * 2d1c4be2df pkgrepo.managed: properly handle comments for debian

* **ISSUE** `#40594`_: (`anlutro`_) salt-ssh file.recurse adds a lot of unwanted directories (refs: `#40642`_)

* **ISSUE** `#38458`_: (`duk3luk3`_) salt-ssh uses sudo to create cache dir, later fails to access it (refs: `#40442`_)

* **PR** `#40642`_: (`DmitryKuzmenko`_) Correctly resolve relative cache path to absolute.
  @ *2017-04-11 20:43:57 UTC*

  * **PR** `#40442`_: (`gtmanfred`_) allow file_client to figure out cachedir (refs: `#40642`_)

  * 6c4ae3c914 Merge pull request `#40642`_ from DSRCorporation/bugs/40594_ssh_cachedir

  * 055256c518 Correctly resolve relative cache path to absolute.

* **ISSUE** `#40075`_: (`afletch`_) salt-ssh temporary files - insecure permissions (refs: `#40609`_)

* **PR** `#40609`_: (`gtmanfred`_) stat_file when keep is set, instead of mirroring all file permissions
  @ *2017-04-11 18:48:47 UTC*

  * 8492cef7a5 Merge pull request `#40609`_ from gtmanfred/2016.11

  * 6e34c2b5e5 stat file when placing it on server instead of caching

* **PR** `#40620`_: (`mateiw`_) SUSE specific changes to salt-api.service
  @ *2017-04-11 14:45:00 UTC*

  * 05ac613ecf Merge pull request `#40620`_ from mateiw/2016.11-suse-saltapi-service

  * ee911a74b4 suse specific changes to salt-api.service

* **ISSUE** `#39463`_: (`githubcdr`_) Transport TCP minions don't reconnect/recover (refs: `#40614`_)

* **PR** `#40614`_: (`gtmanfred`_) add retries on authentications of the salt minion reconnecting
  @ *2017-04-10 22:42:16 UTC*

  * b0a2414d68 Merge pull request `#40614`_ from gtmanfred/tcp

  * a86b101ae6 add retries on authentications of the salt minion reconnecting

* **PR** `#40606`_: (`kaszuba`_) Use correct exec_driver in dockerng.sls module
  @ *2017-04-10 22:25:31 UTC*

  * f7e121a9ee Merge pull request `#40606`_ from kaszuba/fix-dockerng-sls

  * 3a0d61f108 Use correct exec_driver in dockerng.sls module

* **ISSUE** `#39863`_: (`daswathn`_) Salt-Master not responding when the list of minions are high after upgrade to 2016.11.2 (refs: `#40615`_)

* **PR** `#40615`_: (`rallytime`_) Call out to _pki_minions() once, rather than in a loop in _check_list_minions()
  @ *2017-04-10 22:22:18 UTC*

  * **PR** `#34920`_: (`cachedout`_) Key cache (refs: `#40615`_)

  * b6cf948afe Merge pull request `#40615`_ from rallytime/fix-39863

  * 1a9f03ab92 Call out to _pki_minions() once, rather than in a loop in _check_list_minions()

* **PR** `#40588`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-04-07 19:30:14 UTC*

  * 4fa58be222 Merge pull request `#40588`_ from rallytime/merge-2016.11

  * 5a419b8aae Merge branch '2016.3' into '2016.11'

  * 83f6d3d3bb Merge pull request `#40567`_ from terminalmage/fix-pillar-get-merge-lists

    * cb4db56eb5 Allow pillar.get to merge list as well as dictionaries

  * a8304cd5a1 Merge pull request `#40552`_ from terminalmage/fix-hash-type-refs

    * 8c61f333ae Don't use __opts__.get() for hash_type

  * 705e1d8a08 Merge pull request `#40562`_ from terminalmage/fix-get-client

    * 7f1ef72f83 Fix dockerng _get_client() regression

  * 00f8ef0c55 Merge pull request `#40548`_ from Ch3LL/fix_vultrpy

    * 7710355e3a check for salt install fail on vultur test

    * aae3d14ea4 fix vultr cloud race condition to match on 0*

* **PR** `#40575`_: (`rallytime`_) Back-port `#40559`_ to 2016.11
  @ *2017-04-07 15:42:26 UTC*

  * **PR** `#40559`_: (`jinm`_) Fix v3 for https://github.com/saltstack/salt/issues/38472 (refs: `#40575`_)

  * 3d07f637ca Merge pull request `#40575`_ from rallytime/bp-40559

  * 8280e5256e Fix v3 for https://github.com/saltstack/salt/issues/38472

* **PR** `#40576`_: (`rallytime`_) Back-port `#40573`_ to 2016.11
  @ *2017-04-07 15:20:11 UTC*

  * **PR** `#40573`_: (`ardakuyumcu`_) Fix typo in IAM state for managed policies (refs: `#40576`_)

  * 9041ca2ba5 Merge pull request `#40576`_ from rallytime/bp-40573

  * 12180808ee Fix typo in IAM state for managed policies

* **PR** `#40563`_: (`terminalmage`_) Merge-forward 2016.3 -> 2016.11
  @ *2017-04-07 15:08:20 UTC*

  * **PR** `#40562`_: (`terminalmage`_) Fix dockerng _get_client() regression (refs: `#40563`_)

  * **PR** `#40481`_: (`terminalmage`_) Backport auth and custom registry fixes from `#40480`_ to 2016.3 branch (refs: `#40563`_, `#40562`_)

  * **PR** `#40480`_: (`terminalmage`_) Improved Docker auth handling and other misc. Docker improvements (refs: `#40481`_)

  * f8bc423ef9 Merge pull request `#40563`_ from terminalmage/merge-2016.3-2016.11

  * 0c608d7417 Add client_args_mock back to test

  * a7a78da984 remove unused imports

  * a6d68f50fe Merge remote-tracking branch 'upstream/2016.3' into merge-2016.3-2016.11

    * 0918311330 Don't mark files that already were deleted as errors

    * 51d88a16c8 Merge branch 'zer0def-fix-31363' into 2016.3

      * 7f3cbd5cf9 Merge branch 'fix-31363' of https://github.com/zer0def/salt into zer0def-fix-31363

      * 3c750c2b24 Changed rm_rf's argument to actually remove intended file. (refs `#31363`_)

      * 9ed85f3c59 Remove directory content instead of directory itself when using `force_clone` in `git.latest` state. (refs `#31363`_)

    * cfba4cb422 Merge pull request `#40534`_ from terminalmage/issue39892

      * ad88c58a09 Check master's ssh_minion_opts for fileserver/pillar values and ignore them

    * 8da27c9e1d Merge pull request `#40306`_ from terminalmage/issue40279

      * 57ace1f336 Merge branch 'issue40279' of https://github.com/terminalmage/salt into issue40279

        * 8bcdf1a761 Remove unused import for lint

      * 808ad76419 systemd.py: when getting all services, don't repeat gathering of systemd services

      * 2d219af67a Don't use context caching for gathering systemd services

    * 97caac4c0a Merge pull request `#40481`_ from terminalmage/docker-auth-handling-2016.3

      * dcef1e0d4b Make sure we keep the cached client when clearing context

      * 1e2a04cfc5 Backport auth and custom registry fixes from `#40480`_ to 2016.3 branch

    * e62603d5eb Merge pull request `#40505`_ from gtmanfred/2016.3

      * 6e2f9080ca update docs for logging handlers

* **ISSUE** `#39778`_: (`Talkless`_) pkgrepo.managed state always report changes with test=True on APT system (refs: `#40571`_)

* **PR** `#40571`_: (`terminalmage`_) pkgrepo.managed: properly handle comments for debian (refs: `#40638`_)
  @ *2017-04-06 21:55:46 UTC*

  * fd757fffa3 Merge pull request `#40571`_ from terminalmage/issue39778

  * 191610482d pkgrepo.managed: properly handle comments for debian

* **ISSUE** `#40278`_: (`UtahDave`_) cloud.action giving errors on 2016.11.1 (refs: `#40572`_)

* **PR** `#40572`_: (`rallytime`_) Clean out kwargs dict in cloud.action before calling cloud driver function
  @ *2017-04-06 21:53:40 UTC*

  * b1698e830e Merge pull request `#40572`_ from rallytime/fix-40278

  * c978486452 Clean out kwargs dict in cloud.action before calling cloud driver function

* **ISSUE** `#39842`_: (`smarsching`_) File module removes trailing newline on Windows (refs: `#39882`_)

* **PR** `#39882`_: (`smarsching`_) Fix handling of trailing newlines on Windows
  @ *2017-04-06 21:12:24 UTC*

  * 62d8ad2b4b Merge pull request `#39882`_ from smarsching/issue-39842

  * d485d1af44 Fix context for _splitlines_preserving_trailing_newline.

  * 76cb7bf612 Fix trailing newlines on Windows (`#39842`_).

* **PR** `#40451`_: (`isbm`_) Fileclient testcase (2016.11)
  @ *2017-04-06 19:53:31 UTC*

  * ae13de622a Merge pull request `#40451`_ from isbm/isbm-fileclient-testcase-2016.11

  * 74c65557dd Add space before in-lint comment for lint

  * 35fcb8b52d Fix race condition on cache directory creation

  * aba94495a5 Lintfix (Py3 code compat)

  * 9f9dc6e4e7 Add unit test case for fileclient

* **ISSUE** `#40084`_: (`podstava`_) profile fields in azurearm salt-cloud need to be actualized to sources (refs: `#40564`_)

* **PR** `#40564`_: (`techhat`_) Update Azure ARM docs
  @ *2017-04-06 18:17:32 UTC*

  * 74366c57a4 Merge pull request `#40564`_ from techhat/azuredocs

  * 08d071bc68 Update Azure ARM docs

* **ISSUE** `#40005`_: (`vutny`_) `ssh_known_hosts.present` does not support SHA256 key fingerprints (refs: `#40543`_)

* **PR** `#40543`_: (`rallytime`_) Add the "fingerprint_hash_type" option to ssh state and module
  @ *2017-04-05 21:21:16 UTC*

  * cb9dcb1e1b Merge pull request `#40543`_ from rallytime/fix-40005

  * 1ef81e6a55 Add the "fingerprint_hash_type" option to ssh state and module

* **PR** `#40540`_: (`DmitryKuzmenko`_) A quick fix for Cache has no 'list' attribute.
  @ *2017-04-05 18:50:18 UTC*

  * **PR** `#40494`_: (`rallytime`_) [develop] Merge forward from 2016.11 to develop (refs: `#40540`_)

  * 3f0695575a Merge pull request `#40540`_ from DSRCorporation/bugs/40494_merge_forward_cache_list_fix

  * c0fd5634cf A quick fix for Cache has no 'list' attribute.

* **ISSUE** `#32662`_: (`anlutro`_) salt-cloud: allow templating of EC2 userdata, similar to deploy script (refs: `#32698`_)

* **PR** `#40464`_: (`terminalmage`_) salt-cloud: Do not pass userdata_file through yaml renderer
  @ *2017-04-05 17:32:07 UTC*

  * **PR** `#32698`_: (`techhat`_) Allow EC2 userdata to be templated (refs: `#40464`_)

  * 28fc048030 Merge pull request `#40464`_ from terminalmage/userdata-renderer

  * 84ee693006 Nova and openstack don't accept base64-encoded userdata

  * 73f4c43e2a Allow for userdata_template to be disabled in a cloud_profile

  * 78b4798b1b Update compile_template test to use StringIO

  * 5f7c5613ce Properly handle renderers which return StringIO objects

  * d551b0d857 Bring in salt.utils.stringio from develop branch

  * 6a6ef0adf8 Move userdata templating to salt.utils.cloud

  * b440d0c679 Update 2016.11.4 release notes for userdata_renderer -> userdata_template

  * a6183d93d3 Preserve windows newlines in salt.template.compile_template()

  * 04f02df5fe Try to read compiled template as StringIO

  * 79cc253bbf Only template the userdata_file if explicitly configured to do so

  * b580654f85 Update cloud docs to reflect userdata_renderer -> userdata_template

  * a6064fb2e4 Rename userdata_renderer -> userdata_template in master config docs

  * 50f2b2831f Remove userdata_renderer value

  * cc2186f35a Add templating support for other cloud drivers that support userdata_file

  * be8d34c59b ec2: Add support for using userdata_renderer to template userdata_file

  * eddbd41265 Openstack did not have templating support for userdata_file before 2016.11.4

  * a85a416c72 Add userdata_renderer fix info to 2016.11.4 release notes

  * 111188742a Add documentation for userdata_renderer

  * 9ee2dcfc2d Add userdata_renderer master config param

* **PR** `#40530`_: (`dmurphy18`_) Update release information for 2016.11.4 for additional AIX support
  @ *2017-04-05 16:20:22 UTC*

  * 990bde4c07 Merge pull request `#40530`_ from dmurphy18/aix_docupd

  * fd93caf206 Added further support for functionality on AIX for 2016.11.4

  * 17b58917f2 Update release information for new AIX support

* **PR** `#40528`_: (`dmurphy18`_) Allow for nightly build designations in Salt versions
  @ *2017-04-04 20:34:26 UTC*

  * 4d932691f1 Merge pull request `#40528`_ from dmurphy18/salt_nightlybuild

  * d62a119fc1 Allow for nightly build designations in Salt versions

* **ISSUE** `#37699`_: (`gstachowiak`_) Artifactory state. Incorrect timeout error reporting. (refs: `#40465`_)

* **PR** `#40465`_: (`rallytime`_) Artifactory Execution & State Module: Fixup Error Handling
  @ *2017-04-04 20:12:21 UTC*

  * 0ed385210f Merge pull request `#40465`_ from rallytime/fix-37699

  * 8f084f7056 Update unit test to look for actual string comment

  * ef664b46ae Artifactory State: Only wrap main function call to module in try/except and wrap exc comment in str()

  * f1015e3900 Artifactory Module: catch URLErrors as well as HTTPErrors

* **ISSUE** `#39275`_: (`yhekma`_) Cache backend gets hit a *lot* (refs: `#40497`_, `#40429`_)

* **PR** `#40497`_: (`DmitryKuzmenko`_) Memcache documentation and minor updates.
  @ *2017-04-04 19:55:18 UTC*

  * **PR** `#40429`_: (`DmitryKuzmenko`_) MemCache - a minion data cache booster. (refs: `#40497`_, `#40468`_)

  * 7a04ed2439 Merge pull request `#40497`_ from DSRCorporation/features/39275_memcache

  * 82c45b1a52 Memcache documentation and minor updates.

* **ISSUE** `#38683`_: (`gstachowiak`_) require/order/failhard combination error (refs: `#40504`_)

* **PR** `#40504`_: (`rallytime`_) Group checks for failhard setting in () in state.check_failhard function
  @ *2017-04-04 19:53:48 UTC*

  * d654de52ed Merge pull request `#40504`_ from rallytime/fix-38683

  * ede4c28887 Group checks for failhard setting in () in state.check_failhard function

* **PR** `#40503`_: (`thatch45`_) first pass at adding support for pycryptodome installed as
  @ *2017-04-04 19:39:02 UTC*

  * 4d5d7d9712 Merge pull request `#40503`_ from thatch45/2016.11

  * e21fd54d1b fix lint on the lint ignores...

  * 60113248b1 pycryptodome adds RSA to the key header which the openssl

  * 206dec63ff fix the cryptodome version lookup for the versions report

  * d3b77092b5 good catch

  * 31c6a10d1b first pass at adding support for pycryptodome installed as

* **PR** `#40525`_: (`dmurphy18`_) Add support for disk.iostat on AIX
  @ *2017-04-04 19:31:41 UTC*

  * 0dd92c63ea Merge pull request `#40525`_ from dmurphy18/aix_dskiostat

  * 712537272b Added support on AIX for disk.iostat

* **PR** `#40496`_: (`rallytime`_) Back-port `#40415`_ to 2016.11
  @ *2017-04-04 17:19:39 UTC*

  * **PR** `#40415`_: (`defanator`_) Fix boto_vpc.create_route() to work with interface_id (refs: `#40496`_)

  * a6291b17c1 Merge pull request `#40496`_ from rallytime/bp-40415

  * f8b3006898 Fix boto_vpc.create_route() to work with interface_id

* **ISSUE** `#39275`_: (`yhekma`_) Cache backend gets hit a *lot* (refs: `#40497`_, `#40429`_)

* **PR** `#40468`_: (`techhat`_) Add __func_alias__ back in
  @ *2017-04-04 17:02:43 UTC*

  * **PR** `#40429`_: (`DmitryKuzmenko`_) MemCache - a minion data cache booster. (refs: `#40497`_, `#40468`_)

  * 3eb8e0baf1 Merge pull request `#40468`_ from techhat/cachealias

  * 6ec0baa9a0 Swap around aliases

  * 76e54a2900 Add __func_alias__ back in

* **ISSUE** `#29104`_: (`adithep`_) Merging Order warning (refs: `#39109`_)

* **PR** `#39109`_: (`bdrung`_) Fix top_file_merging_strategy warning if env_order is set
  @ *2017-04-04 14:20:56 UTC*

  * 8c0befaa8b Merge pull request `#39109`_ from bdrung/fix-merge-order-warning

  * fbf8fcfa98 Simplify _get_envs() by using list comprehensions

  * 74a3b066ea Fix top_file_merging_strategy warning if env_order is set

  * ec219b5f42 Remove duplicate client_envs variable definitions

  * 6279f7c120 fix do to pre correct on python randome function

  * 66b9515af7 Fix up the doc for failover clarity

* **PR** `#40495`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-04-03 18:36:16 UTC*

  * 02a1f642ab Merge pull request `#40495`_ from rallytime/merge-2016.11

  * 8111909bb1 Merge branch '2016.3' into '2016.11'

  * 3d45a004b0 Merge pull request `#40427`_ from terminalmage/clarify-master-tops-docs

    * bda781d8f9 Grammar fix

    * 0d7b0c4ef0 Improve the master_tops documentation

    * d27340a9f2 Add saltutil.sync_tops runner func

* **PR** `#40466`_: (`dmurphy18`_) Support for execution module status on AIX
  @ *2017-04-01 00:28:51 UTC*

  * ac82972cb3 Merge pull request `#40466`_ from dmurphy18/aix_status

  * 7c0b30d9a4 Support for AIX

* **ISSUE** `#39275`_: (`yhekma`_) Cache backend gets hit a *lot* (refs: `#40497`_, `#40429`_)

* **PR** `#40429`_: (`DmitryKuzmenko`_) MemCache - a minion data cache booster. (refs: `#40497`_, `#40468`_)
  @ *2017-03-31 20:21:00 UTC*

  * fdb0250c95 Merge pull request `#40429`_ from DSRCorporation/features/39275_memcache

  * 4475d1757d In-memory minion data cache.

* **ISSUE** `#38458`_: (`duk3luk3`_) salt-ssh uses sudo to create cache dir, later fails to access it (refs: `#40442`_)

* **PR** `#40442`_: (`gtmanfred`_) allow file_client to figure out cachedir (refs: `#40642`_)
  @ *2017-03-31 20:14:27 UTC*

  * 31d4e6949c Merge pull request `#40442`_ from gtmanfred/salt-ssh

  * 8367735063 allow file_client to figure out cachedir

* **PR** `#40456`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-31 17:51:11 UTC*

  * 0cfcd188a9 Merge pull request `#40456`_ from rallytime/merge-2016.11

  * 0da4c46b68 Merge branch '2016.3' into '2016.11'

  * c26f4cc76c Merge pull request `#40371`_ from terminalmage/pr-40344

    * a8bcaa73d7 Force use of posixpath when joining salt fileserver paths in gitfs

    * cafa08d8e0 Add ability for salt.utils.path_join to force the use of posixpath

  * df9df82959 Merge pull request `#40379`_ from rallytime/tests-for-39855

    * 96259d6c63 Lint fix

    * 4f7ac1431e Create a unit test for the _replace_auth_key function in the ssh module

* **PR** `#40443`_: (`gtmanfred`_) prepend ssh_log_file with root_dir
  @ *2017-03-31 09:23:46 UTC*

  * 8617be9c6d Merge pull request `#40443`_ from gtmanfred/sshlog

  * 7f6046deec prepend ssh_log_file with root_dir

* **PR** `#40376`_: (`nmadhok`_) Backporting changes in vmware cloud driver from develop branch to 2016.11 branch
  @ *2017-03-30 22:35:13 UTC*

  * 132d8b7b88 Merge pull request `#40376`_ from nmadhok/2016.11

  * dd62310941 Adding unit tests for vmware_test

  * 36edf0af64 Add additional VMware related exceptions

  * 034ef30f7c Remove old vmware unit tests

  * 7c144888da Backporting changes in vmware cloud driver from develop branch to 2016.11 branch

* **ISSUE** `#39692`_: (`djsly`_) tuned module and state are broken on 7.3 families.  (refs: `#40387`_, `#39719`_, `#39768`_)

* **PR** `#40387`_: (`redbaron4`_) More complete fix for 39692
  @ *2017-03-30 22:29:05 UTC*

  * dfaa670b66 Merge pull request `#40387`_ from redbaron4/fix-39692

  * 77a40a0c44 Lint fixes

  * 8c1adfafd5 More complete fix for 39692

* **ISSUE** `#7287`_: (`dragozov`_) django.loaddata treats fixture list as arguments and prepends "--" for each (refs: `#40404`_)

* **PR** `#40404`_: (`roaldnefs`_) Fix for fixtures in the djangomod module
  @ *2017-03-30 22:26:09 UTC*

  * 313d21626f Merge pull request `#40404`_ from roaldnefs/fix-djangomod-loaddata

  * 92285cb045 Fix for fixtures in the djangomod module

* **PR** `#40416`_: (`lorengordon`_) Adds some missing file functions on Windows
  @ *2017-03-30 22:22:44 UTC*

  * 5379899442 Merge pull request `#40416`_ from lorengordon/win-file-funcs

  * 8edaf25e10 Adds some missing file functions on Windows

* **ISSUE** `#40417`_: (`lorengordon`_) `temp.file` does not close the file handle (refs: `#40418`_)

* **PR** `#40418`_: (`lorengordon`_) Closes handle to temporary file before returning the path
  @ *2017-03-30 22:22:03 UTC*

  * 1f5d6b88f9 Merge pull request `#40418`_ from lorengordon/close-temp-file

  * 7baf2809cf Closes handle to temporary file before returning the path

* **PR** `#40430`_: (`twangboy`_) Fix logic for __virtual__ in win_dsc and win_psget
  @ *2017-03-30 22:06:16 UTC*

  * 5c78d55eab Merge pull request `#40430`_ from twangboy/fix_virtual

  * 08e95ce4f0 Add logging on __virtual__ failures

  * 43ecb1a597 Fix logic for __virtual__

* **PR** `#40431`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-30 21:37:39 UTC*

  * b855f29928 Merge pull request `#40431`_ from rallytime/merge-2016.11

  * d5576d75e7 Merge branch '2016.3' into '2016.11'

  * b6770fd81f Merge pull request `#40407`_ from aesdana/fix_rabbitmq_version_check

    * 4c0763fa2f Added split to cut off debian_revision from rabbitmq-server version Fixes `#40396`_

  * d4fb45d9f8 Merge pull request `#40424`_ from terminalmage/fix-open-filehandle

    * 66251263cf Fix open filehandles

  * 8708096365 Merge pull request `#40399`_ from terminalmage/docker-py_version

    * 14c6575655 Add docker-py version to the versions report

  * ff1266b3a6 Merge pull request `#40391`_ from Ch3LL/2016.3.7_release_notes

    * f532ec5288 initial 2016.3.7 release notes

  * 96bf9427b0 Merge pull request `#40368`_ from Ch3LL/bump_version_3

    * a02fa7dd1f [2016.3] Bump previous version to 2016.3.6

* **PR** `#40401`_: (`roaldnefs`_) fix Ubuntu notation in docs/faq.rst
  @ *2017-03-29 20:28:31 UTC*

  * 7d900d31ea Merge pull request `#40401`_ from roaldnefs/fix-doc-faq

  * 21f161fecc fix Ubuntu notation in docs/faq.rst

* **ISSUE** `#29028`_: (`kevins9`_) state.sls fails to render state with pillar data: Jinja variable 'dict object' has no attribute (refs: `#37795`_)

* **PR** `#40390`_: (`rallytime`_) Back-port `#37795`_ to 2016.11
  @ *2017-03-29 19:05:12 UTC*

  * **PR** `#37795`_: (`jettero`_) please tell me where is the “error: 'dict' object has no …” (refs: `#40390`_)

  * 70a3f963ec Merge pull request `#40390`_ from rallytime/bp-37795

  * 1ba15577bd Pylint fix

  * ec65924659 please tell me where is the "error: 'dict' object has no attribute 'seek'" ??

* **PR** `#40395`_: (`rallytime`_) Handle AttributeError for dockerng_mod.docker attempt fails and docker is installed
  @ *2017-03-29 17:47:11 UTC*

  * f8fbfff7dc Merge pull request `#40395`_ from rallytime/catch-attribute-error-docker-test

  * 99c8dcc18e Handle AttributeError for dockerng_mod.docker attempt fails and docker is installed

* **PR** `#40362`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-28 22:50:32 UTC*

  * d7d3d68035 Merge pull request `#40362`_ from rallytime/merge-2016.11

  * 4f1543c2a1 Merge branch '2016.3' into '2016.11'

    * 1381f97292 Merge pull request `#40264`_ from meaksh/2016.3-gather_job_timeout-fix

      * 68dccae5b4 Makes sure "gather_job_timeout" is an integer

* **PR** `#40372`_: (`zer0def`_) Fixes related to cache directory argument changes in pip>=6.
  @ *2017-03-28 22:48:41 UTC*

  * 2febd05896 Merge pull request `#40372`_ from zer0def/pip-cache-fixes

  * d68067f1d7 Merge remote-tracking branch 'main/2016.11' into pip-cache-fixes

  * 4f23a23ca8 Fixed the `test_install_download_cache_argument_in_resulting_command` to accomodate introduced cache directory argument fixes and renamed it to `test_install_download_cache_dir_arguments_in_resulting_command`.

  * 9d0f94eeba Fixed unnecessary API changes introduced with suggested changes.

* **PR** `#40369`_: (`Ch3LL`_) [2016.11] Bump previous version to 2016.3.6
  @ *2017-03-28 18:50:39 UTC*

  * 6162698c87 Merge pull request `#40369`_ from Ch3LL/bump_version_11

  * 7597d96edb [2016.11] Bump previous version to 2016.3.6

* **ISSUE** `#40322`_: (`Whissi`_) ssh_auth.absent: Wrong comment when test=True (refs: `#40333`_)

* **ISSUE** `#40321`_: (`Whissi`_) state.alternatives: Wrong comment when test=True (refs: `#40333`_)

* **PR** `#40333`_: (`gtmanfred`_) fix some test=True comments
  @ *2017-03-28 16:11:01 UTC*

  * 2d2cb5b837 Merge pull request `#40333`_ from gtmanfred/2016.11

  * 5596620dfb fix some test=True comments

* **PR** `#40347`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-28 02:39:31 UTC*

  * bb37f133fc Merge pull request `#40347`_ from rallytime/merge-2016.11

  * e77e86db3a Merge branch '2016.3' into '2016.11'

  * 17ab1da0ab Merge pull request `#40345`_ from twangboy/fix_osx_build

    * 3207d670c5 Fix osx build

  * 7ab10491ab Merge pull request `#40338`_ from UtahDave/fix_cherrypy_ssl_error_link

    * 280b501950 Upstream cherrypy moved to Github from Bitbucket

  * **PR** `saltstack/salt#40332`_: (`zer0def`_) Fixes related to cache directory argument changes in pip>=6. (refs: `#40346`_)

* **PR** `#40346`_: (`cachedout`_) Revert "Fixes related to cache directory argument changes in pip>=6."
  @ *2017-03-27 23:17:29 UTC*

  * a572b46183 Merge pull request `#40346`_ from saltstack/revert-40332-pip-cache-fixes

  * b4753d1a5a Revert "Fixes related to cache directory argument changes in pip>=6."

* **ISSUE** `#40296`_: (`L4rS6`_) Wrong documentation in mount.mounted (refs: `#40326`_)

* **PR** `#40326`_: (`L4rS6`_) Update mount state documentation (Fixes: `#40296`_)
  @ *2017-03-27 23:15:53 UTC*

  * a91bab867e Merge pull request `#40326`_ from L4rS6/update-mount-state-doc

  * a717c527a1 Update mount state documentation (Fixes: `#40296`_)

* **PR** `#40328`_: (`L4rS6`_) Fixes wrong compared extra_mount_ignore_fs_keys key.
  @ *2017-03-27 23:14:22 UTC*

  * ca2980cfb0 Merge pull request `#40328`_ from L4rS6/fix-mount-state-extra-ignore-fs-key

  * f0f68b9033 Fixes wrong compared extra_mount_ignore_fs_keys key.

* **PR** `#40329`_: (`isbm`_) Merge tops (backport)
  @ *2017-03-27 23:13:47 UTC*

  * 3a6c5d0297 Merge pull request `#40329`_ from isbm/isbm-merge-tops-201611

  * a762c9edda Merge output from master_tops

* **PR** `#40285`_: (`rallytime`_) Dockerng unit tests fixes: isolate global variables
  @ *2017-03-27 23:05:03 UTC*

  * 2b7b2f1cb4 Merge pull request `#40285`_ from rallytime/docker-test-fixes

  * 0f263a52e0 Mock out the get_client_args mocks in the dockerng module tests more aggressively

  * f1352fe253 Add one more dockerng.version mock that was missed previously

  * 0d31d2c4d1 Add a couple more patches for docker.version information

  * a9c5eebaf0 Clean up dockerng unit tests to avoid global variables and fixup some patching

* **PR** `#40341`_: (`twangboy`_) Fix service.create, fix docs
  @ *2017-03-27 21:46:19 UTC*

  * 01efc842c1 Merge pull request `#40341`_ from twangboy/fix_win_service

  * 6736457ec8 Docs for create

  * 652cf08f8a Fix service.create, fix docs

* **PR** `#40332`_: (`zer0def`_) Fixes related to cache directory argument changes in pip>=6.
  @ *2017-03-27 21:01:15 UTC*

  * 8eabcca6dc Merge pull request `#40332`_ from zer0def/pip-cache-fixes

  * 7976840100 Fixes related to cache directory changes in pip>=6.

* **PR** `#40337`_: (`Ch3LL`_) Add archive.extracted with use_cmd_unzip argument
  @ *2017-03-27 21:00:23 UTC*

  * ceba1b9bc6 Merge pull request `#40337`_ from Ch3LL/add_unzip_test

  * 8b21b4c8bb add use_cmd_unzip test

* **PR** `#40312`_: (`rallytime`_) Update minion data cache documentation
  @ *2017-03-27 20:56:55 UTC*

  * a192597ec2 Merge pull request `#40312`_ from rallytime/cache-docs

  * 5363e0b58b Update minion data cache documentation

* **PR** `#40315`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-27 15:11:25 UTC*

  * 7f16754619 Merge pull request `#40315`_ from rallytime/merge-2016.11

  * c65d602f60 Merge branch '2016.3' into '2016.11'

    * 7c21153d3a Merge pull request `#40300`_ from meaksh/2016.3-adding-timeouts-parameters-to-cmd_batch

      * 9174e6f281 Fixes testing opts dict for batch unit tests

      * b1de79abcf Adds custom 'timeout' and 'gather_job_timeout' to 'local_batch' client

* **PR** `#40313`_: (`techhat`_) Add minimum and maximum to calls to calc
  @ *2017-03-27 14:54:15 UTC*

  * a9a73bf8dc Merge pull request `#40313`_ from techhat/calcref

  * 7106a86258 Use named kwargs

  * 822f3b81c3 Add minimum and maximum to calls to calc

* **ISSUE** `#40247`_: (`eldadru`_) boto_rds.delete wait_for_deletion checks rds status incorrectly and always loop until timeout (refs: `#40277`_)

* **PR** `#40277`_: (`eldadru`_) Fixing boto_rds.py delete() wait_for_deletion,  if statement was inco…
  @ *2017-03-24 22:29:25 UTC*

  * 9d0762deca Merge pull request `#40277`_ from eldadru/Fix-40247-boto_rds-delete-wait-for-deletion-failure

  * 3c15a32764 Fixing boto_rds.py delete() wait_for_deletion,  if statement was incorrectly checking the return value of boto_rds.py exists() method.

* **PR** `#40280`_: (`bewing`_) Clean up temporary file in net.load_template
  @ *2017-03-24 22:27:04 UTC*

  * **PR** `#40273`_: (`bewing`_) Clean up temporary file in net.load_template (refs: `#40280`_)

  * 6c29c81d01 Merge pull request `#40280`_ from bewing/bp_40273

  * f028e939f5 Clean up temporary file in net.load_template

* **ISSUE** `#37972`_: (`ebauman`_) salt-run execution for master with no AAAA record adds significant execution time (refs: `#40310`_)

* **PR** `#40310`_: (`gtmanfred`_) add warning when no host/dns record is found for fqdn_ip
  @ *2017-03-24 21:55:20 UTC*

  * 839b620f32 Merge pull request `#40310`_ from gtmanfred/2016.11

  * cff027ddc6 add warning when no host/dns record is found for fqdn

* **PR** `#40288`_: (`dmurphy18`_) Execution module network support for AIX
  @ *2017-03-24 20:10:36 UTC*

  * eb86d55478 Merge pull request `#40288`_ from dmurphy18/aix_network

  * b53a95dab1 Further update to us in  similar to review comments

  * 59c0bdc14d Updated for review comments

  * 031c9457ba Execution module network support for AIX

* **PR** `#40308`_: (`rallytime`_) Back-port `#38835`_ to 2016.11
  @ *2017-03-24 19:00:46 UTC*

  * **PR** `#38835`_: (`UtahDave`_) Cache docs (refs: `#40308`_)

  * 4928026253 Merge pull request `#40308`_ from rallytime/bp-38835

  * 3ba50d3c52 add info about what is cached

  * 77e8f6aff9 fix config example

  * 61f2fa9339 Add documentation for the Minion data cache

* **PR** `#40287`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-24 16:50:23 UTC*

  * 12a9fc43c9 Merge pull request `#40287`_ from rallytime/merge-2016.11

  * 77415369cc Merge branch '2016.3' into '2016.11'

  * 0e2d52c3ea Merge pull request `#40260`_ from lubyou/fix-join_domain

    * 1cb15d1ea8 use win32api.FormatMessage() to get the error message for the system code

  * 0c62bb37d3 Merge pull request `#40275`_ from UtahDave/2016.3local

    * 9f0c9802c2 remove reference to auth_minion.

  * 57ce474d73 Merge pull request `#40265`_ from terminalmage/issue40219

    * 1a731e0216 Pop off the version when aggregating pkg states

    * 0055fda3e9 Properly aggregate version when passed with name

    * 62d76f50fc Don't aggregate both name/pkgs and sources in pkg states

  * b208630d85 Merge pull request `#40201`_ from sergeizv/cloud-roster-fixes-2016.3

    * d87b377ad2 cloud roster: Don't stop if minion wasn't found in cloud cache index

    * a6865e0283 cloud roster: Check whether show_instance succeeded on node

    * 1b45c8e8c2 cloud roster: Check provider and profile configs for ssh_username

    * a18250b2e4 cloud roster: Return proper target name

    * 637930b2b3 cloud roster: Fix extracting instance's info

    * dd1d3aac74 cloud roster: Work with custom conf dir

* **PR** `#40250`_: (`techhat`_) Add wait_for_fun() to set_tags()
  @ *2017-03-23 16:42:13 UTC*

  * **PR** `#40225`_: (`techhat`_) Add wait_for_fun() to set_tags() (refs: `#40250`_)

  * b7f9100e6d Merge pull request `#40250`_ from techhat/settags

  * baff7a046d Add wait_for_fun() to set_tags()

* **ISSUE** `#39976`_: (`peterhirn`_) win_lgpo missing policies, eg. `Prevent the usage of OneDrive for file storage` (refs: `#40255`_, `#40253`_)

* **PR** `#40255`_: (`lomeroe`_) backport `#40253`_
  @ *2017-03-23 16:36:44 UTC*

  * **PR** `#40253`_: (`lomeroe`_) correct method of getting 'text' of the XML object to compare to the … (refs: `#40255`_)

  * 904e144ae4 Merge pull request `#40255`_ from lomeroe/fix_39976_2016.11

  * 0e9f5820cc backport `#40253`_

* **PR** `#40240`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-23 14:14:11 UTC*

  * **PR** `#40237`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11 (refs: `#40240`_)

  * 720a362c7a Merge pull request `#40240`_ from rallytime/merge-2016.11

  * 5c5b74b09a Merge branch '2016.3' into '2016.11'

    * 35ced607dd Merge pull request `#40226`_ from terminalmage/issue40149

      * 2a8df9384c Fix wrong errno in systemd.py

    * 24c4ae9c21 Merge pull request `#40232`_ from rallytime/update-release-notes

      * 2ead188b4f Update release notes for 2016.3.6

    * c59ae9a82c Merge pull request `#39855`_ from Foxlik/use_regex_to_compare_authorized_keys

      * d46845a5b6 Add newline at end of file

      * d4a3c8a66a Use regular expression instead of split when replacing authorized_keys

    * fd10430018 Merge pull request `#40221`_ from rallytime/bp-39179

      * 07dc2de084 fix error parsing

    * a27a2cc3bb Merge pull request `#40206`_ from cro/sign_pub_take2

      * 01048de83f leave sign_pub_messages off on minion by default.

      * a82b005507 Leave sign_pub_messages off by default.

    * d1abb4cbaa Merge pull request `#40193`_ from rallytime/bp-40117

      * cf1857904b More optimization.

      * 5a08266814 Removed debug statemnt

      * f557f7c6bb Added fix for issue 39393

      * bb62278b73 Reverting changes.

      * a9107cde44 Added if condition for broken link.

    * 0f1ff4d4a8 Merge pull request `#40196`_ from twangboy/win_fix_deps

      * 6761527793 Update dependencies for PyOpenSSL

    * b0501515cb Merge pull request `#40184`_ from terminalmage/link-reactor-example

      * a42be82993 Link to minion start reactor example from FAQ.

* **ISSUE** `#39445`_: (`systemtrap`_) state file.copy for directories does not set ownership recursively (refs: `#40030`_)

* **PR** `#40231`_: (`rallytime`_) Back-port `#40030`_ to 2016.11
  @ *2017-03-22 23:14:40 UTC*

  * **PR** `#40030`_: (`narendraingale2`_) Added changes for fix_39445 (refs: `#40231`_)

  * c40376250f Merge pull request `#40231`_ from rallytime/bp-40030

  * 4d1c687cbd Using lchown insted of chown.

  * 52b3d986b5 Added changes for fix_39445

  * **PR** `saltstack/salt#40225`_: (`techhat`_) Add wait_for_fun() to set_tags() (refs: `#40239`_)

* **PR** `#40239`_: (`cachedout`_) Revert "Add wait_for_fun() to set_tags()"
  @ *2017-03-22 22:59:16 UTC*

  * e39f5cbf40 Merge pull request `#40239`_ from saltstack/revert-40225-waitforfun

  * 95bdab87b4 Revert "Add wait_for_fun() to set_tags()"

* **PR** `#40225`_: (`techhat`_) Add wait_for_fun() to set_tags() (refs: `#40250`_)
  @ *2017-03-22 18:15:35 UTC*

  * 11d2f5abec Merge pull request `#40225`_ from techhat/waitforfun

  * 89b5010883 Add wait_for_fun() to set_tags()

* **PR** `#40172`_: (`dmurphy18`_) Fix solaris network
  @ *2017-03-22 17:41:56 UTC*

  * c8cfbb7df6 Merge pull request `#40172`_ from dmurphy18/fix_solaris_network

  * a6218b9484 Updated use of tail on Solaris and Sun-like OS

  * 90e6a1d8f6 Further update to support correct tail in network for Solaris

  * 5b6d33dd70 Fix use of correct tail on Solaris for active_tcp

* **PR** `#40210`_: (`rallytime`_) Skip flaky test for now
  @ *2017-03-22 16:34:41 UTC*

  * e9a4e8548b Merge pull request `#40210`_ from rallytime/test-skip

  * 0ba773d86b Skip flaky test for now

* **ISSUE** `#40204`_: (`sofixa`_) InfluxDB returner present on salt-minion(installed via salt-bootstrap and updated via apt-get) has a bug (refs: `#40209`_)

* **PR** `#40209`_: (`sofixa`_) change InfluxDB get_version to expect status code 204
  @ *2017-03-21 21:42:26 UTC*

  * 0b00489eb2 Merge pull request `#40209`_ from sofixa/2016.11

  * e1cc7234ff change InfluxDB get_version to expect status code 204

* **ISSUE** `#39775`_: (`mirceaulinic`_) Proxy `mine_interval` config ignored (refs: `#39935`_, #saltstack/salt`#39935`_, `#39776`_)

  * **PR** `saltstack/salt#39935`_: (`cro`_) Add special token to insert the minion id into the default_include path (refs: `#40202`_)

* **PR** `#40202`_: (`cro`_) Revert "Add special token to insert the minion id into the default_include path"
  @ *2017-03-21 21:37:33 UTC*

  * 66bc680d0a Merge pull request `#40202`_ from saltstack/revert-39935-namespace_proxy_cfg

  * bb71710747 Revert "Add special token to insert the minion id into the default_include path"

* **PR** `#40199`_: (`whiteinge`_) Ponysay emergency hotfix
  @ *2017-03-21 21:10:21 UTC*

  * d8f0b79997 Merge pull request `#40199`_ from whiteinge/ponysay-emergency-hotfix

  * 85ea61b544 Add depends note

  * 5a271acfdc Fix ponysay outputter hardcoded path

* **PR** `#40194`_: (`terminalmage`_) Change imports for dockerng tests
  @ *2017-03-21 19:34:55 UTC*

  * 82cee58e72 Merge pull request `#40194`_ from terminalmage/fix-docker-test-imports

  * 6caedb0de8 Change imports for dockerng tests

* **PR** `#40189`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-21 18:02:51 UTC*

  * 0b512f9ffb Merge pull request `#40189`_ from rallytime/merge-2016.11

  * a55c4138a8 Merge branch '2016.3' into '2016.11'

    * d4e6c58526 Merge pull request `#40182`_ from terminalmage/dockerng-mod_watch-stopped

      * 4629a26fb7 Add support for "stopped" state to dockerng's mod_watch

    * a0b4082484 Merge pull request `#40171`_ from Ch3LL/2016.3.6_release

      * 9c6d8d892f additional PRs/issues for 2016.3.6 release notes

    * 33ba7821f7 Merge pull request `#40120`_ from sergeizv/gce-expand-node-fix

      * 9d0fbe7e01 gce: Exclude GCENodeDriver objects from _expand_node result

    * 48843977c3 Merge pull request `#40122`_ from meaksh/2016.3-yum-downloadonly-support

      * 067f3f77c2 Adding downloadonly support to yum/dnf module

    * 60e1d4e2f3 Merge pull request `#40159`_ from cro/sign_pub

      * e663b761fb Fix small syntax error

      * 0a0f46fb14 Turn on sign_pub_messages by default.  Make sure messages with no 'sig' are dropped with error when sign_pub_messages is True.

* **ISSUE** `#39779`_: (`sp1r`_) Pillar scheduling is broken (refs: `#40034`_)

* **ISSUE** `#38523`_: (`MorphBonehunter`_) schedule not changed on pillar update after minion restart (refs: `#40034`_)

* **ISSUE** `#36134`_: (`Ch3LL`_) carbon: multi-master with failover does not failover when master goes down (refs: `#36437`_)

* **PR** `#40034`_: (`sp1r`_) Disallow modification of jobs from pillar with schedule execution module
  @ *2017-03-21 16:36:34 UTC*

  * **PR** `#36437`_: (`DmitryKuzmenko`_) Keep the schedule jobs in ONE place. (refs: `#40034`_)

  * d9cb222aa8 Merge pull request `#40034`_ from sp1r/fix-pillar-scheduling

  * 595f786327 fix evaluating jobs when "pillar" is missing in opts

  * 9d5db1910c fix initial data structure for schedule tests

  * d3a2489c9c schedule tests to ensure pillar jobs are not modified

  * 27385ff49c added a check ensuring schedule is a dict before merging

  * 14d71918b2 Fixes `#39779`_

* **PR** `#40160`_: (`eldadru`_) Fix this issue: https://github.com/saltstack/salt/issues/40073, descr…
  @ *2017-03-20 21:37:43 UTC*

  * 257c862c52 Merge pull request `#40160`_ from eldadru/fix-issue-40073-boto-rds-describe-empty-dict

  * 954c871332 Fix this issue: https://github.com/saltstack/salt/issues/40073, describe return dictionary returned empty , probably as result of incorrect past merge (see discussion on issue)

* **PR** `#40162`_: (`rallytime`_) Make sure the tornado web server is stopped at the end of the test class
  @ *2017-03-20 20:35:21 UTC*

  * aec504173a Merge pull request `#40162`_ from rallytime/archive-integration-test-fixes

  * dd193cc740 Make sure the tornado web server is stopped at the end of the test class

* **PR** `#40158`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-20 20:34:23 UTC*

  * 461e15f0f4 Merge pull request `#40158`_ from rallytime/merge-2016.11

  * 88f3ebd7e9 Remove extra "connect" kwarg caught by linter

  * f4d4768a6d Merge branch '2016.3' into '2016.11'

    * 28e4fc17b6 Merge pull request `#40123`_ from twangboy/win_fix_network

      * 06dfd55ef9 Adds support for inet_pton in Windows to network util

    * 35ddb79f59 Merge pull request `#40141`_ from bobrik/fallback-resolve

      * af1545deed Use the first address if cannot connect to any

* **PR** `#40165`_: (`rallytime`_) Don't try to run the dockerng unit tests if docker-py is missing
  @ *2017-03-20 20:33:19 UTC*

  * b235f0953f Merge pull request `#40165`_ from rallytime/gate-docker-unit-tests

  * f32d8a8683 Don't try to run the dockerng unit tests if docker-py is missing

* **PR** `#40085`_: (`mirceaulinic`_) VRF arg and better doc for ping and traceroute
  @ *2017-03-20 19:48:57 UTC*

  * db9fb58b82 Merge pull request `#40085`_ from cloudflare/fix-ping-tr

  * 6cbdd61b54 Strip trailing whitespaces

  * 897a2a37c3 VRF arg and better doc for ping and traceroute

* **PR** `#40095`_: (`skizunov`_) dns_check should not try to connect when connect=False
  @ *2017-03-17 17:31:42 UTC*

  * 3bac06f099 Merge pull request `#40095`_ from skizunov/develop2

  * 880790f743 dns_check should not try to connect when connect=False

* **PR** `#40096`_: (`skizunov`_) When building up the 'master_uri_list', do not try to connect
  @ *2017-03-17 17:13:41 UTC*

  * 31da90edd9 Merge pull request `#40096`_ from skizunov/develop3

  * eb9a0a6fd1 When building up the 'master_uri_list', do not try to connect

* **PR** `#40111`_: (`eldadru`_) Fixing simple issue 40081 - the key parameter of the method create ov…
  @ *2017-03-17 17:00:03 UTC*

  * 5303386d93 Merge pull request `#40111`_ from eldadru/fix-issue-40081-boto-rds-create-overwritten-key-parameter

  * 78b5d112d7 Fixing simple issue 40081 - the key parameter of the method create overwritten by internal loop.

* **PR** `#40118`_: (`rallytime`_) Add CLI Example for dockerng.get_client_args
  @ *2017-03-17 16:34:13 UTC*

  * d2e376e8f2 Merge pull request `#40118`_ from rallytime/cli-example

  * bb496bb7f4 Add CLI Example for dockerng.get_client_args

* **PR** `#40097`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-17 15:17:08 UTC*

  * baef5009aa Merge pull request `#40097`_ from rallytime/merge-2016.11

  * ef1ff38f8d Merge branch '2016.3' into '2016.11'

  * 116201f345 Merge pull request `#40059`_ from terminalmage/fix-virtualenv-traceback

    * e3cfd29d6b Fix traceback when virtualenv.managed is invoked with nonexistant user

  * a01b52b9a3 Merge pull request `#40090`_ from rallytime/bp-40056

    * ae012db87a update mention bot blacklist

  * d1570bba4c Merge pull request `#40057`_ from cachedout/ollie_blacklist

    * 0ac2e83d37 Merge branch '2016.3' into ollie_blacklist

    * 5592c680b5 More mentionbot blacklists

* **ISSUE** `#39771`_: (`mirceaulinic`_) Empty __proxy__ dunder inside scheduler (refs: `#40077`_)

* **PR** `#40077`_: (`mirceaulinic`_) Fix `#39771`_ (Empty __proxy__ dunder inside scheduler)
  @ *2017-03-16 20:56:02 UTC*

  * 9ef3e070c2 Merge pull request `#40077`_ from cloudflare/fix-39771

  * cd319e7e39 Add proxy kwarg to scheduler

  * c6e6dd1a04 ProxyMinion: correctly build the scheduler

* **PR** `#40088`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-16 19:58:44 UTC*

  * b12720a56f Merge pull request `#40088`_ from rallytime/merge-2016.11

  * 626bd03885 Merge branch '2016.3' into '2016.11'

  * d36bdb1a6e Merge pull request `#40070`_ from Ch3LL/2016.3.6_release

    * a1f8b49bd1 update 2016.3.6 release notes with additional PR's

  * 8dcffc7751 Merge pull request `#40018`_ from meaksh/2016.3-handling-timeouts-for-manage.up-runner

    * 9f5c3b7dcd Allows to set custom timeouts for 'manage.up' and 'manage.status'

    * 2102d9c75c Allows to set 'timeout' and 'gather_job_timeout' via kwargs

  * 22fc5299a2 Merge pull request `#40038`_ from velom/fix-pip-freeze-parsing

    * 3fae91d879 correctly parse "pkg_name===version" from pip freeze

  * 3584f935fa Merge pull request `#40053`_ from saltstack/rh_ip_patch

    * 219947acdb Update rh_ip.py

  * 837432d3d2 Merge pull request `#40041`_ from terminalmage/issue40011

    * 5b5d1b375c Fix transposed lines in salt.utils.process

* **PR** `#40055`_: (`rallytime`_) Update "yaml" code-block references with "jinja" where needed
  @ *2017-03-16 16:30:38 UTC*

  * 703ab23953 Merge pull request `#40055`_ from rallytime/doc-build-warnings

  * 72d16c9fa9 Update "yaml" code-block references with "jinja" where needed

* **PR** `#40072`_: (`meaksh`_) [2016.11] Allows overriding 'timeout' and 'gather_job_timeout' to 'manage.up' runner call
  @ *2017-03-16 15:31:46 UTC*

  * **PR** `#40018`_: (`meaksh`_) Allows overriding 'timeout' and 'gather_job_timeout' to 'manage.up' runner call (refs: `#40072`_)

  * e73a1d0e54 Merge pull request `#40072`_ from meaksh/2016.11-handling-timeouts-for-manage.up-runner

  * 40246d3723 Allows to set custom timeouts for 'manage.up' and 'manage.status'

  * ad232fdc01 Allows to set 'timeout' and 'gather_job_timeout' via kwargs

* **PR** `#40045`_: (`terminalmage`_) Fix error when chhome is invoked by user.present state in Windows
  @ *2017-03-15 19:00:41 UTC*

  * 2f28ec26ee Merge pull request `#40045`_ from terminalmage/fix-windows-user-present

  * 359af3bb2b Fix error when chhome is invoked by user.present state in Windows

* **PR** `#40047`_: (`rallytime`_) Back-port `#40000`_ to 2016.11
  @ *2017-03-15 17:47:37 UTC*

  * **PR** `#40000`_: (`skizunov`_) Fix exception in salt-call when master_type is 'disable' (refs: `#40047`_)

  * 4067625676 Merge pull request `#40047`_ from rallytime/bp-40000

  * 11766c7259 Fix exception in salt-call when master_type is 'disable'

* **PR** `#40023`_: (`jeanpralo`_) We need to match on .p not just strip '.p' otherwise it will remove a…
  @ *2017-03-14 23:14:56 UTC*

  * 86f7195e0e Merge pull request `#40023`_ from jeanpralo/fix-minions-cant-finish-by-char-p

  * d7b0c8ae88 We need to match on .p not just strip '.p' otherwise it will remove any p from the string even if we have no dot

* **PR** `#40025`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-14 23:14:33 UTC*

  * 277bd17ff2 Merge pull request `#40025`_ from rallytime/merge-2016.11

  * 029f28bbd5 Merge branch '2016.3' into '2016.11'

  * ee7f3b1200 Merge pull request `#40021`_ from Ch3LL/2016.3.6_release

    * f3e7e4fb2a Add 2016.3.6 Release Notes

  * 26895b7be2 Merge pull request `#40016`_ from terminalmage/fix-grains-test

    * 0ec81a4cde Fixup a syntax error

    * 5d84b40bfd Attempt to fix failing grains tests in 2016.3

  * 0c61d064ad Merge pull request `#39980`_ from vutny/cmd-run-state-bg

    * a81dc9dfc1 [2016.3] Allow to use `bg` kwarg for `cmd.run` state function

  * b042484455 Merge pull request `#39994`_ from rallytime/ulimits-dockerng-version

    * 37bd800fac Add a versionadded tag for dockerng ulimits addition

  * e125c94ba5 Merge pull request `#39988`_ from terminalmage/dockerng-timeout

    * bd2519ed1b Add comment explaining change from `#39973`_

* **PR** `#40020`_: (`dmurphy18`_) Full support for execution module timezone on AIX
  @ *2017-03-14 21:05:31 UTC*

  * 8db74fb275 Merge pull request `#40020`_ from dmurphy18/aix_timezone

  * aabbbffd45 Full support to execution module timezone on AIX

  * 16d5c7ce4a WIP: timezone support for AIX

* **PR** `#39924`_: (`dmurphy18`_) Add AIX support for user and group execution modules
  @ *2017-03-14 21:04:02 UTC*

  * 60066da614 Merge pull request `#39924`_ from dmurphy18/salt_aix_fixMar

  * 5077c989bb Updated changes file for added AIX support

  * 8e107bd43e WIP: support for useradd on AIX

  * 2f87d727d6 WIP: group support for AIX

* **PR** `#40010`_: (`jettero`_) S3 bucket path broken
  @ *2017-03-14 19:01:01 UTC*

  * cd73eafec8 Merge pull request `#40010`_ from jettero/s3-bucket-path-broken

  * acee5bf7c8 clarify this, because it messes people up in the mailing lists, and myself briefly before I thought about it

  * 8102ac8e3c same here

  * 21b79e00be In order for the heredoc to be correct, bucket and path have to default to '', not None

* **PR** `#39991`_: (`terminalmage`_) Document the fact that the checksum type can be omitted in file.managed states
  @ *2017-03-14 15:58:11 UTC*

  * 61f1fb04c5 Merge pull request `#39991`_ from terminalmage/source_hash-docs

  * 537fc36029 Document the fact that the checksum type can be omitted in file.managed states

* **PR** `#39984`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-13 18:30:16 UTC*

  * 53d14d8ad9 Merge pull request `#39984`_ from rallytime/merge-2016.11

  * ef6f4b15ca Merge branch '2016.3' into '2016.11'

  * cd0336e868 Merge pull request `#39973`_ from terminalmage/dockerng-timeout

    * 869416e7db Don't use docker.Client instance from context if missing attributes

* **PR** `#39967`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-10 23:45:33 UTC*

  * 31c00740e7 Merge pull request `#39967`_ from rallytime/merge-2016.11

  * 3022466615 Merge branch '2016.3' into '2016.11'

  * 282c607d26 Merge pull request `#39962`_ from cachedout/disable_mentionbot_delay_3

    * 7a638f204b Disable mention bot delay on 2016.3

  * 1e0c88ae08 Merge pull request `#39937`_ from cachedout/gpg_zypper

    * 13ed0d1209 Fix --non-gpg-checks in zypper module

* **PR** `#39963`_: (`cachedout`_) Mention bot delay disable for 2016.11
  @ *2017-03-10 20:25:25 UTC*

  * 269a2fd739 Merge pull request `#39963`_ from cachedout/disable_mentionbot_delay_11

  * 5fcea05691 Mention bot delay disable for 2016.11

* **ISSUE** `#7997`_: (`shantanub`_) Proper way to upgrade salt-minions / salt-master packages without losing minion connectivity (refs: `#39952`_)

* **PR** `#39952`_: (`vutny`_) Fix `#7997`_: describe how to upgrade Salt Minion in a proper way
  @ *2017-03-10 18:41:57 UTC*

  * 6350b07384 Merge pull request `#39952`_ from vutny/doc-faq-minion-upgrade-restart

  * d989d749d6 Fix `#7997`_: describe how to upgrade Salt Minion in a proper way

* **ISSUE** `#39775`_: (`mirceaulinic`_) Proxy `mine_interval` config ignored (refs: `#39935`_, #saltstack/salt`#39935`_, `#39776`_)

* **PR** `#39935`_: (`cro`_) Add special token to insert the minion id into the default_include path
  @ *2017-03-10 17:51:55 UTC*

  * dc7d4f4224 Merge pull request `#39935`_ from cro/namespace_proxy_cfg

  * e4aef54c73 Add special token to insert the minion id into the default_include path

* **PR** `#39936`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-10 17:05:04 UTC*

  * 9503a1d0c6 Merge pull request `#39936`_ from rallytime/merge-2016.11

  * c8b5d390b5 Merge branch '2016.3' into '2016.11'

    * 4526fc6e08 Merge pull request `#39929`_ from terminalmage/pr-39770-2016.3

      * cf0100dabe Scrap event-based approach for refreshing grains

    * 111110caf8 Merge pull request `#39919`_ from The-Loeki/patch-1

      * 170cbadc54 CIDR matching supports IPv6, update docs

    * caf10e9988 Merge pull request `#39899`_ from techhat/cleanupdisks

      * baf4579e63 Update cleanup function for azure

    * fcf95f3654 Merge pull request `#39871`_ from terminalmage/squelch-import-warning

      * 2b2ec69d04 Squelch warning for pygit2 import

    * f223fa8906 Merge pull request `#39794`_ from cachedout/clean_monitor_socket_shutdown

      * 2e683e788b Clean up errors which might be thrown when the monitor socket shuts down

    * 4002dc1947 Merge pull request `#39819`_ from terminalmage/top-file-matching-docs

      * 7178e77eee Improve the Top File matching docs

    * c08aaeb7fd Merge pull request `#39820`_ from ni3mm4nd/beacons_topic_doc_typo

      * 804b12048c Add missing apostrophe

    * cbd2a4e3cc Merge pull request `#39826`_ from cachedout/yubikey_fix

      * 6125eff02d Add group func to yubikey auth

    * f575ef459f Merge pull request `#39624`_ from drawsmcgraw/39622

      * 13da50be33 Fix indention lint errors

      * 545026352f Address issue 39622

    * 1f3619c1e5 Merge pull request `#39796`_ from cachedout/master_shutdown

      * e31d46c1b8 Stop the process manager when it no longer has processes to manage

    * 53341cf152 Merge pull request `#39791`_ from gtmanfred/2016.3

      * 3ab4f843bf load runners if role is master

    * c234c25092 Merge pull request `#39784`_ from sergeizv/fix-39782

      * b71c3fe13c Revert "cloud.clouds.ec2: cache each named node (`#33164`_)"

    * 4ee59be22c Merge pull request `#39766`_ from rallytime/fix-ipv6-connection

      * 65b239664e Restore ipv6 connectivity and "master: <ip>:<port>" support

* **ISSUE** `#38121`_: (`Da-Juan`_) Beacon configuration doesn't work as a list (refs: `#39932`_, `#39930`_)

* **PR** `#39932`_: (`rallytime`_) Cherry-pick the beacon fixes made in `#39930`_ to 2016.11
  @ *2017-03-10 00:21:09 UTC*

  * **PR** `#39930`_: (`s0undt3ch`_) Moar Py3 and a fix for `#38121`_ (refs: `#39932`_)

  * 899e037f0a Merge pull request `#39932`_ from rallytime/cp-beacon-fixes

  * 4a52cca926 Pylint fixes

  * 4627c4ea6d Code cleanup and make sure the beacons config file is deleted after testing

  * c7fc09f97d Support the new list configuration format.

  * be06df9b64 Remove `*args, **kwargs`. Not needed, not useful.

  * 4a242829ee These tests aren't even using mock!

  * 6408b123e7 These tests are not destructive

  * 50e51b5b9d The beacons configuration is now a list. Handle it!

* **PR** `#39933`_: (`hkrist`_) Fixed rawfile_json returner output format.
  @ *2017-03-10 00:20:52 UTC*

  * 2e68edee4a Merge pull request `#39933`_ from hkrist/fix-rawfile_json_returner-format

  * 4d0ddcd110 Fixed rawfile_json returner output format. It outputted python object instead of standard json.

* **PR** `#39934`_: (`dmurphy18`_) Correct comment lines output from execution module's host.list_hosts
  @ *2017-03-10 00:20:14 UTC*

  * fb0dc33c42 Merge pull request `#39934`_ from dmurphy18/fix_host_list

  * e7b9a45079 Correct comment lines output got list_hosts

* **PR** `#39900`_: (`twangboy`_) Namespace the line function properly in win_file
  @ *2017-03-09 22:19:12 UTC*

  * a6f88d03df Merge pull request `#39900`_ from twangboy/win_fix_line

  * 462bdecd33 Namespace the line function properly in win_file

* **ISSUE** `#37741`_: (`discountbin`_) Check in file.replace state for ignore_if_missing (refs: `#37743`_, `#39910`_)

* **PR** `#39910`_: (`rallytime`_) Back-port `#37743`_ to 2016.11
  @ *2017-03-09 22:16:58 UTC*

  * **PR** `#37743`_: (`discountbin`_) Adding check for ignore_if_missing param when calling _check_file. (refs: `#39910`_)

  * 77ecff4e02 Merge pull request `#39910`_ from rallytime/bp-37743

  * ca306c0860 Replace pass with updated comment for return

  * 1a78878b47 Adding check for ignore_if_missing param when calling _check_file.

* **PR** `#39770`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-03-09 22:00:17 UTC*

  * c2d4d17589 Merge pull request `#39770`_ from rallytime/merge-2016.11

  * dbaea3de73 Remove extra refresh reference that snuck in

  * d9f48ac6ea Don't shadow refresh_pillar

  * d86b03dc90 Remove manual refresh code from minion.py

  * a7e419e35f Scrap event-based approach for refreshing grains

  * 776a9431b9 Merge branch '2016.3' into '2016.11'

    * a24da31131 Merge pull request `#39761`_ from cachedout/issue_33187

      * c2df29edb2 Properly display error in jboss7 state

    * 0888bc32ef Merge pull request `#39728`_ from rallytime/update-release-ver-2016.3

      * c9bc8af8f2 [2016.3] Bump latest release version to 2016.11.3

    * b52dbeec68 Merge pull request `#39619`_ from terminalmage/zd1207

      * c7dfb494a6 Fix mocking for grains refresh

      * 7e0ced3b45 Properly hand proxy minions

      * 692c456da3 Add a function to simply refresh the grains

* **PR** `#39872`_: (`techhat`_) Add installation tips for azurearm driver
  @ *2017-03-07 23:18:04 UTC*

  * 801ff28053 Merge pull request `#39872`_ from techhat/fixdocs

  * 35440c5936 Add installation tips for azure

  * 2a1ae0bf2e Change example master in azure docs

* **PR** `#39837`_: (`terminalmage`_) Fix regression in archive.extracted when it runs file.directory
  @ *2017-03-07 04:09:51 UTC*

  * 6d0f15c31a Merge pull request `#39837`_ from terminalmage/more-issue39751

  * 0285ff3c7d Fix regression in archive.extracted when it runs file.directory

* **PR** `#39858`_: (`techhat`_) Reorder keys that were being declared in the wrong place
  @ *2017-03-07 03:51:56 UTC*

  * 68752a2a18 Merge pull request `#39858`_ from techhat/statuskey

  * 507a4f7f93 Reorder keys that were being declared in the wrong place

* **ISSUE** `#38830`_: (`danielmotaleite`_) salt-ssh: vault fails to use config (refs: `#38943`_)

* **PR** `#39862`_: (`rallytime`_) Back-port `#38943`_ to 2016.11
  @ *2017-03-07 03:34:40 UTC*

  * **PR** `#38943`_: (`thatch45`_) When we generate the pillar we should send in the master opts (refs: `#39862`_)

  * 49c8faa141 Merge pull request `#39862`_ from rallytime/bp-38943

  * e21b16c002 try it with a different init sequence

  * 92cac0ff8b make it a deepcopy

  * 58cb8cd4f5 make sure to copy the top dict reference since we are moding it

  * a0b671ea43 When we generate the pillar we should send in the master opts

* **PR** `#39852`_: (`rallytime`_) Back-port `#39651`_ to 2016.11
  @ *2017-03-06 21:18:34 UTC*

  * **PR** `#39651`_: (`DennisHarper`_) Checking Instance when calling a function that can return None (refs: `#39852`_)

  * 8ecc719f90 Merge pull request `#39852`_ from rallytime/bp-39651

  * bb5ddbe18c Checking instance exists in master._get_cached_minion_data when cache.fetch returns None

  * 79f2a7cbb7 Update __init__.py

  * e2a232921d Checking instance exists in master._get_cached_minion_data when cache.fetch returns None

  * 838774291d Update __init__.py

  * ff6f63e9dd Checking instance exists in master._get_cached_minion_data when cache.fetch returns None

  * 855f87554c Checking instance exists in master._get_cached_minion_data when cache.fetch returns None

* **ISSUE** `#39052`_: (`githubcdr`_) Minion restart very slow since 2016.11.2 (refs: `#39104`_)

* **PR** `#39851`_: (`rallytime`_) Back-port `#39104`_ to 2016.11
  @ *2017-03-06 21:17:43 UTC*

  * **PR** `#39104`_: (`githubcdr`_) Do not use name resolving for --notrim check (refs: `#39851`_)

  * 897275ae5f Merge pull request `#39851`_ from rallytime/bp-39104

  * 6539dbdbca Do not use name resolving for --notrim check

* **ISSUE** `#38231`_: (`tjuup`_) Typo: salt-key deleteed (refs: `#39799`_)

* **PR** `#39799`_: (`Ch3LL`_) Fix deleteed message when key is deleted
  @ *2017-03-03 05:17:43 UTC*

  * d0440e2a2a Merge pull request `#39799`_ from Ch3LL/fix_salt_key_msg

  * 8346682cf7 Fix deleteed message when key is deleted

* **ISSUE** `#38962`_: (`gstachowiak`_) Broken /jobs in salt-api in salt 2016.11.1 (Carbon) (refs: `#39472`_)

* **PR** `#39472`_: (`whiteinge`_) Update _reformat_low to not run kwarg dicts through parse_input
  @ *2017-03-02 17:46:20 UTC*

  * 9f70ad7164 Merge pull request `#39472`_ from whiteinge/_reformat_low-update

  * d11f5381a4 Add RunnerClient test for old/new-style arg/kwarg parsing

  * ec377ab379 Reenable skipped RunnerClient tests

  * 27f7fd9ad4 Update _reformat_low to run arg through parse_input

  * 5177153459 Revert parse_input change from `#32005`_

* **PR** `#39727`_: (`terminalmage`_) salt.modules.state: check gathered pillar for errors instead of in-memory pillar
  @ *2017-03-02 17:06:43 UTC*

  * 7dfc4b572a Merge pull request `#39727`_ from terminalmage/issue39627

  * 3bb0ebd872 Update tests for PR 39727

  * c334b59c96 salt.modules.state: check gathered pillar for errors instead of in-memory pillar

  * 97dd8a13d9 Ensure that ext_pillar begins with pillar_override if ext_pillar_first is True

  * f951266944 Add log message for successful makostack processing

* **ISSUE** `#39775`_: (`mirceaulinic`_) Proxy `mine_interval` config ignored (refs: `#39935`_, #saltstack/salt`#39935`_, `#39776`_)

* **PR** `#39776`_: (`mirceaulinic`_) WIP: Save _schedule.conf under <proxy ID> dir
  @ *2017-03-02 16:27:45 UTC*

  * 965f474316 Merge pull request `#39776`_ from cloudflare/proxy-schedule

  * 35b8b8fd64 Save _schedule.conf under <minion ID> dir

* **PR** `#39788`_: (`cachedout`_) Disable one API test that is flaky
  @ *2017-03-02 16:17:31 UTC*

  * 555f1473f6 Merge pull request `#39788`_ from cachedout/disable_api_test

  * 523e377b33 Disable one API test that is flaky

* **PR** `#39762`_: (`terminalmage`_) Fix regression in file.get_managed
  @ *2017-03-02 02:59:34 UTC*

  * 793979cbe6 Merge pull request `#39762`_ from terminalmage/issue39751

  * 64db0b8563 Add integration tests for remote file sources

  * f9f894d981 Fix regression in file.get_managed when skip_verify=True

  * 28651a6699 Remove next(iter()) extraction

* **ISSUE** `#35088`_: (`Modulus`_) salt/cloud/ec2.py encoding problems. (refs: `#37912`_)

* **PR** `#39767`_: (`rallytime`_) Back-port `#38316`_ to 2016.11
  @ *2017-03-02 02:54:57 UTC*

  * **PR** `#38316`_: (`mlalpho`_) salt utils aws encoding fix (refs: `#39767`_)

  * **PR** `#37912`_: (`attiasr`_) fix encoding problem aws responses (refs: `#38316`_)

  * 91a9337ab3 Merge pull request `#39767`_ from rallytime/bp-38316

  * 1dcf018df7 requests api says Response.encoding can sometimes be None http://docs.python-requests.org/en/master/api/#requests.Response.encoding and result.text.encode() doesn't accept None and expects a string.

* **ISSUE** `#39692`_: (`djsly`_) tuned module and state are broken on 7.3 families.  (refs: `#40387`_, `#39719`_, `#39768`_)

* **PR** `#39768`_: (`rallytime`_) Back-port `#39719`_ to 2016.11
  @ *2017-03-02 02:54:40 UTC*

  * **PR** `#39719`_: (`Seb-Solon`_) Support new version of tuned-adm binary (refs: `#39768`_)

  * 4a01bd64ea Merge pull request `#39768`_ from rallytime/bp-39719

  * d7cb70f203 Enh: Support new version of tuned-adm binary

* **PR** `#39760`_: (`Ch3LL`_) Initial 2016.11.4 Release Notes Doc
  @ *2017-03-01 18:43:39 UTC*

  * 780457f934 Merge pull request `#39760`_ from Ch3LL/2016.11.4_notes

  * 1853c998c4 add initial 2016.11.4 release notes

* **PR** `#39731`_: (`twangboy`_) Add docs for Kwargs in pkg.refresh_db
  @ *2017-02-28 22:02:59 UTC*

  * 0147f78ab5 Merge pull request `#39731`_ from twangboy/win_pkg_docs

  * 423e6f7448 Add docs for Kwargs in pkg.refresh_db

* **ISSUE** `#39710`_: (`huangfupeng`_) schedule.add parameter can not use “after“ (refs: `#39734`_)

* **PR** `#39734`_: (`garethgreenaway`_) Missing parameter in the schedule.add function
  @ *2017-02-28 20:43:08 UTC*

  * fce2d184f3 Merge pull request `#39734`_ from garethgreenaway/39710_missing_schedule_add_parameter

  * 63eb610245 Per `#39710`_, missing parameter in the schedule.add function

* **PR** `#39729`_: (`rallytime`_) [2016.11] Bump latest release version to 2016.11.3
  @ *2017-02-28 18:08:25 UTC*

  * 7b4865c058 Merge pull request `#39729`_ from rallytime/update-release-ver-2016.11

  * b5a7111ad9 [2016.11] Bump latest release version to 2016.11.3

* **PR** `#39721`_: (`vutny`_) DOCS: add 2nd level header for advanced targeting methods
  @ *2017-02-28 17:57:46 UTC*

  * 47e494fe07 Merge pull request `#39721`_ from vutny/doc-targeting

  * 1d86cf1161 DOCS: add 2nd level header for advanced targeting methods

* **ISSUE** `#39683`_: (`alankrita`_) Error in Saltstack's rest auth "Authentication module threw 'status' " (refs: `#39711`_)

* **PR** `#39711`_: (`alankrita`_) Fix error in Saltstack's rest auth "Authentication module threw 'status' "
  @ *2017-02-28 15:56:09 UTC*

  * d39b679d82 Merge pull request `#39711`_ from alankrita/fix-rest-eauth

  * ee426562a7 Fix error in Saltstack's rest auth "Authentication module threw 'status' "

* **PR** `#39699`_: (`techhat`_) Strip shabang line from rendered HTTP data
  @ *2017-02-28 00:05:01 UTC*

  * 3940321462 Merge pull request `#39699`_ from techhat/httpshabang

  * 559eb93576 Strip shabang line from rendered HTTP data

* **PR** `#39694`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-02-27 22:13:49 UTC*

  * 00f121eade Merge pull request `#39694`_ from rallytime/merge-2016.11

  * 756f1de2d2 Merge branch '2016.3' into '2016.11'

    * 3f8b5e6733 Merge pull request `#39487`_ from bobrik/mode-docs

      * 41ef69b3ca Document default permission modes for file module

    * f7389bf1f5 Merge pull request `#39641`_ from smarsching/issue-39169-2016.3

      * 88c2d9a540 Fix return data structure for runner (issue `#39169`_).

    * fc970b6a16 Merge pull request `#39633`_ from terminalmage/fix-systemd-typo

      * ca54541abe Add missing unit test for disable func

      * 17109e1522 Fix misspelled argument in salt.modules.systemd.disable()

    * 53e78d67f6 Merge pull request `#39613`_ from terminalmage/fix-docs

      * 9342eda377 Fix inaccurate documentation

* **ISSUE** `#39642`_: (`drawsmcgraw`_) boto_vpc.nat_gateway_present does not honor the allocation_id parameter like the module does (refs: `#39643`_)

* **PR** `#39643`_: (`drawsmcgraw`_) issue 39642 - boto_vpc.nat_gateway_present should accept parameter al…
  @ *2017-02-27 20:19:09 UTC*

  * 2c919e31d6 Merge pull request `#39643`_ from drawsmcgraw/39642

  * 56d9adfbf6 issue 39642 - boto_vpc.nat_gateway_present should accept parameter allocation_id.

* **PR** `#39666`_: (`terminalmage`_) Rewrite the test_valid_docs test
  @ *2017-02-26 20:14:33 UTC*

  * df013c5f31 Merge pull request `#39666`_ from terminalmage/test_valid_docs

  * 5a3c099e4f Rewrite the tests_valid_docs test

* **PR** `#39662`_: (`The-Loeki`_) Py3 compat: Force minions to be a list for local serialized caches
  @ *2017-02-26 02:36:46 UTC*

  * a29a7be7f8 Merge pull request `#39662`_ from The-Loeki/py3cachefix

  * b02ef984f7 Add comment

  * 0fe5c90a05 Py3 compat: Force minions to be a list for local serialized caches

* **PR** `#39644`_: (`vutny`_) Improve and align dockerng execution module docs
  @ *2017-02-25 04:16:28 UTC*

  * bd6efd18b1 Merge pull request `#39644`_ from vutny/dockerng-docs

  * c4988e874e Improve and align dockerng execution module docs

* **PR** `#39516`_: (`jettero`_) Prevent spurious "Template does not exist" error
  @ *2017-02-24 23:41:36 UTC*

  * fffab54078 Merge pull request `#39516`_ from jettero/give-pillarenv-tops-similar-treatment

  * 8fe48fa5c4 prevent billions of inexplicable lines of this:

* **PR** `#39654`_: (`skizunov`_) Fix issue where compile_pillar failure causes minion to exit
  @ *2017-02-24 22:47:52 UTC*

  * be9629b180 Merge pull request `#39654`_ from skizunov/develop2

  * 9f80bbce07 Fix issue where compile_pillar failure causes minion to exit

* **PR** `#39653`_: (`cachedout`_) Use salt's ordereddict for comparison
  @ *2017-02-24 22:46:24 UTC*

  * e63cbbaab9 Merge pull request `#39653`_ from cachedout/26_odict

  * 91eb7210bb Use salt's ordereddict for comparison

* **ISSUE** `#38836`_: (`toanctruong`_) file.managed with S3 Source errors out with obscure message (refs: `#39609`_, `#39589`_)

* **PR** `#39609`_: (`gtmanfred`_) intialize the Client stuff in FSClient
  @ *2017-02-24 18:50:55 UTC*

  * 0bc6027e68 Merge pull request `#39609`_ from gtmanfred/2016.11

  * 0820620ef8 intialize the Client stuff in FSClient

* **PR** `#39615`_: (`skizunov`_) Bonjour/Avahi beacons: Make sure TXT record length is valid
  @ *2017-02-24 18:47:05 UTC*

  * 28035c07b3 Merge pull request `#39615`_ from skizunov/develop2

  * b1c7e9b505 Bonjour/Avahi beacons: Make sure TXT record length is valid

* **PR** `#39617`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-02-24 16:07:55 UTC*

  * e9410fb669 Merge pull request `#39617`_ from rallytime/merge-2016.11

  * 13622899d2 Merge branch '2016.3' into '2016.11'

  * 4e2b852f83 Merge pull request `#39600`_ from vutny/state-file-docs

    * 9b0427c27a state.file: drop non-relevant examples for `source_hash` parameter

  * ed83420417 Merge pull request `#39584`_ from cachedout/mentionbot_docs

    * 652044b18f A note in the docs about mentionbot

  * d3e50b4f2f Merge pull request `#39583`_ from cachedout/mentionbot_blacklist

    * 62491c900d Add empty blacklist to mention bot

* **ISSUE** `#38758`_: (`bobrik`_) Remote state execution is much slower on 2016.11.1 compared to 2016.3.4 (refs: `#39505`_)

* **ISSUE** `#33575`_: (`anlutro`_) File states seem slower in 2016.3, especially on first cache retrieval (refs: `#33896`_)

* **ISSUE** `#29643`_: (`matthayes`_) Can't get batch mode and --failhard to work as expected (refs: `#31164`_)

* **ISSUE** `#28569`_: (`andrejohansson`_) Reactor alert on highstate fail (refs: `#31164`_)

* **PR** `#39505`_: (`cachedout`_) Threadsafety option for context dictionaries
  @ *2017-02-23 19:38:13 UTC*

  * **PR** `#37378`_: (`skizunov`_) Fix `__context__` to properly sandbox (refs: `#39505`_)

  * **PR** `#33896`_: (`DmitryKuzmenko`_) Don't deep copy context dict values. (refs: `#39505`_)

  * **PR** `#31164`_: (`DmitryKuzmenko`_) Issues/29643 fix invalid retcode (refs: `#33896`_)

  * 0d31201e08 Merge pull request `#39505`_ from cachedout/issue_38758

  * 1dba2f9cb0 Add warning in docs

  * 9cf654b72c Threadsafety option for context dictionaries

* **PR** `#39507`_: (`joe-niland`_) Detect IIS version and vary certificate association command depending on version
  @ *2017-02-23 19:15:40 UTC*

  * c0d4357f46 Merge pull request `#39507`_ from joe-niland/iis-7-cert-binding

  * c94f0b8c62 Fix additional issue whereby existing certificate bindings were not found in IIS 7.5, due to the fact that IIS earlier than 8 doesn't support SNI

  * 18effe0103 Detect IIS version and vary certificate association command depending on version

* **PR** `#39565`_: (`terminalmage`_) states.file.patch/modules.file.check_hash: use hash length to determine type
  @ *2017-02-23 19:14:28 UTC*

  * e6f5e8a474 Merge pull request `#39565`_ from terminalmage/issue39512

  * cbdf905b9f Update test to reflect new state comment

  * 650dbaca4e states.file.patch/modules.file.check_hash: use hash length to determine type

* **PR** `#39591`_: (`mcalmer`_) fix case in os_family for Suse
  @ *2017-02-23 19:07:17 UTC*

  * 53e22b8f15 Merge pull request `#39591`_ from mcalmer/fix-case-in-os_family

  * 81bd96e32d fix case in os_family for Suse

* **ISSUE** `#38452`_: (`jf`_) file.line with mode=delete does not preserve ownership of a file (refs: `#39592`_)

* **PR** `#39592`_: (`skazi0`_) Ensure user/group/file_mode after line edit
  @ *2017-02-23 18:40:05 UTC*

  * aee43f7fa4 Merge pull request `#39592`_ from skazi0/line-user-fix

  * baf84b4430 Ensure user/group/file_mode after line edit

* **PR** `#39596`_: (`ticosax`_) Reduce scope of try except StopIteration wrapping
  @ *2017-02-23 18:16:17 UTC*

  * 6ab4151213 Merge pull request `#39596`_ from ticosax/reduce-scope-catehed-exception

  * 54cdacb680 Reduce scope of try except StopIteration wrapping

* **ISSUE** `#38836`_: (`toanctruong`_) file.managed with S3 Source errors out with obscure message (refs: `#39609`_, `#39589`_)

* **PR** `#39610`_: (`rallytime`_) Back-port `#39589`_ to 2016.11
  @ *2017-02-23 17:48:03 UTC*

  * **PR** `#39589`_: (`MasterNayru`_) Allow masterless minions to pull files from S3 (refs: `#39610`_)

  * b1c3b84862 Merge pull request `#39610`_ from rallytime/bp-39589

  * 83ec174d44 Set utils property explicitly for FSClient

  * 3889006149 Allow masterless minions to pull files from S3

* **PR** `#39606`_: (`rallytime`_) [2016.11] Pylint: add missing import
  @ *2017-02-23 16:39:55 UTC*

  * fe15ed9b92 Merge pull request `#39606`_ from rallytime/lint-2016.11

  * 71164348e7 [2016.11] Pylint: add missing import

* **PR** `#39573`_: (`thatch45`_) Added a few more comments to the ssl docs
  @ *2017-02-23 02:17:13 UTC*

  * **PR** `#39554`_: (`DmitryKuzmenko`_) Cosmetic: support bool value for 'ssl' config option. (refs: `#39573`_)

  * **PR** `#39528`_: (`thatch45`_) Add better ssl option docs (refs: `#39554`_)

  * 5987c4e30e Merge pull request `#39573`_ from thatch45/ssl_docs

  * b230c35eac This should be good to go now

* **PR** `#39577`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-02-23 02:10:12 UTC*

  * b8e321cbec Merge pull request `#39577`_ from rallytime/merge-2016.11

  * 397c756a01 Merge branch '2016.3' into '2016.11'

    * 8352e6b44b Merge pull request `#39579`_ from rallytime/fix-lint

      * 65889e1f30 [2016.3] Pylint: Remove unused import

    * 43dba3254c Merge pull request `#39578`_ from cachedout/2016.3

      * 344499eef7 Add mention-bot configuration

  * c52cecd856 Fix syntax error leftover from incomplete merge-conflict resolution

  * 7b9b3f700d Merge branch '2016.3' into '2016.11'

    * 8f7a0f9d96 Merge pull request `#39542`_ from twangboy/gate_ssh_known_hosts

      * c90a52ef27 Remove expensive check

      * 6d645cae0e Add __virtual__ function

    * c10965833a Merge pull request `#39289`_ from bobrik/autodetect-ipv6

      * 2761a1b244 Move new kwargs to the end of argument list

      * 0df6b922e7 Narrow down connection exception to socket.error

      * e8a2cc0488 Do no try to connect to salt master in syndic config test

      * af9578631e Properly log address that failed to resolve or pass connection check

      * 9a34fbeba9 Actually connect to master instead of checking route availability

      * c494839c65 Avoid bare exceptions in dns_check

      * 29f376676d Rewrite dns_check to try to connect to address

      * 55965ce505 Autodetect IPv6 connectivity from minion to master

    * 3fb928b63a Merge pull request `#39569`_ from s0undt3ch/2016.3

      * 49da135abd Don't use our own six dictionary fixes in this branch

    * 91e3319df8 Merge pull request `#39508`_ from dincamihai/openscap

      * 9fedb84607 Always return oscap's stderr

      * 0ecde2cd02 Include oscap returncode in response

    * fbe2194a93 Merge pull request `#39562`_ from terminalmage/issue30802

      * c50374041d Add ulimits to dockerng state/exec module

      * da42040c1a Try the docker-py 2.0 client name first

    * 01d4a84a2f dockerng.get_client_args: Fix path for endpoint config for some versions of docker-py (`#39544`_)

* **PR** `#39574`_: (`Ch3LL`_) Update 2016.11.3 release notes
  @ *2017-02-23 00:10:23 UTC*

  * cff9334929 Merge pull request `#39574`_ from Ch3LL/update_release_notes

  * c0f8c35df7 fix reference to set in docs

  * 663f6f159d add additional PRs to 2016.11.3 release notes

* **PR** `#39528`_: (`thatch45`_) Add better ssl option docs (refs: `#39554`_)
  @ *2017-02-22 18:29:47 UTC*

  * b492f7094c Merge pull request `#39528`_ from thatch45/ssl_docs

  * c357e37831 Add minion config

  * 539bb2aa80 Add better ssl option docs

* **ISSUE** `saltstack/salt#35869`_: (`amontalban`_) timezone.system state fails on FreeBSD when /etc/localtime does not exists (refs: `#39532`_)

* **PR** `#39532`_: (`amontalban`_) Fix case when /etc/localtime is a file and it is not updated
  @ *2017-02-22 18:28:54 UTC*

  * 0dad49cdff Merge pull request `#39532`_ from amontalban/corner_case_35869

  * f0d3c16547 Fix case when /etc/localtime is a file and it is not updated

* **PR** `#39540`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
  @ *2017-02-22 18:24:01 UTC*

  * 9cfaf3b599 Merge pull request `#39540`_ from rallytime/merge-2016.11

  * 49fe4e891e Merge branch '2016.11' into '2016.11'

  * c613d19e76 Merge branch '2016.3' into '2016.11'

  * dff35b58f8 Merge pull request `#39498`_ from terminalmage/pr-39483

    * 20b097a745 dockerng: compare sets instead of lists of security_opt

  * 6418e725ed Merge pull request `#39497`_ from terminalmage/docker-compat-fixes

    * cbd0270bac docker: make docker-exec the default execution driver

    * a6a17d58aa Handle docker-py 2.0's new host_config path

  * 9c4292fb4e Merge pull request `#39423`_ from dincamihai/openscap

    * 9d13422ac1 OpenSCAP module

  * 7dd2502360 Merge pull request `#39464`_ from gtmanfred/2016.3

    * f829d6f9fc skip false values from preferred_ip

  * db359ff2c3 Merge pull request `#39460`_ from cachedout/win_dism_test_fix

    * e652a45592 Fix mocks in win_disim tests

  * 9dbfba9b57 Merge pull request `#39426`_ from morganwillcock/dism

    * a7d5118262 Return failure when package path does not exist

  * 56162706e3 Merge pull request `#39431`_ from UtahDave/fix_grains.setval_performance

    * 391bbecd90 add docs

    * 709c197f84 allow sync_grains to be disabled on grains.setval

  * 239e16e612 Merge pull request `#39405`_ from rallytime/fix-39304

    * bd1fe03ce7 Update :depends: docs for boto states and modules

  * 415102f346 Merge pull request `#39411`_ from rallytime/fix-38762

    * e13febe58d Update external_cache docs with other configuration options

  * 7e1803b617 Update docs on upstream EPEL7 pygit2/libgit2 issues (`#39421`_)

* **PR** `#39554`_: (`DmitryKuzmenko`_) Cosmetic: support bool value for 'ssl' config option. (refs: `#39573`_)
  @ *2017-02-22 16:59:03 UTC*

  * **PR** `#39528`_: (`thatch45`_) Add better ssl option docs (refs: `#39554`_)

  * 56fe2f198e Merge pull request `#39554`_ from DSRCorporation/bugs/ssl_bool

  * 7a6fc11291 Cosmetic: support bool value for 'ssl' config option.

* **PR** `#39560`_: (`vutny`_) [CLOUD] Log error when private/public IP was not detected
  @ *2017-02-22 16:49:46 UTC*

  * cf37f83565 Merge pull request `#39560`_ from vutny/cloud-detect-ips

  * 567bb50884 [CLOUD] Log error when private/public IP was not detected

.. _`#28569`: https://github.com/saltstack/salt/issues/28569
.. _`#29028`: https://github.com/saltstack/salt/issues/29028
.. _`#29104`: https://github.com/saltstack/salt/issues/29104
.. _`#29643`: https://github.com/saltstack/salt/issues/29643
.. _`#31164`: https://github.com/saltstack/salt/pull/31164
.. _`#31363`: https://github.com/saltstack/salt/issues/31363
.. _`#32005`: https://github.com/saltstack/salt/pull/32005
.. _`#32662`: https://github.com/saltstack/salt/issues/32662
.. _`#32698`: https://github.com/saltstack/salt/pull/32698
.. _`#33164`: https://github.com/saltstack/salt/pull/33164
.. _`#33575`: https://github.com/saltstack/salt/issues/33575
.. _`#33896`: https://github.com/saltstack/salt/pull/33896
.. _`#34920`: https://github.com/saltstack/salt/pull/34920
.. _`#35088`: https://github.com/saltstack/salt/issues/35088
.. _`#35665`: https://github.com/saltstack/salt/pull/35665
.. _`#36134`: https://github.com/saltstack/salt/issues/36134
.. _`#36437`: https://github.com/saltstack/salt/pull/36437
.. _`#37378`: https://github.com/saltstack/salt/pull/37378
.. _`#37699`: https://github.com/saltstack/salt/issues/37699
.. _`#37741`: https://github.com/saltstack/salt/issues/37741
.. _`#37743`: https://github.com/saltstack/salt/pull/37743
.. _`#37795`: https://github.com/saltstack/salt/pull/37795
.. _`#37912`: https://github.com/saltstack/salt/pull/37912
.. _`#37972`: https://github.com/saltstack/salt/issues/37972
.. _`#38121`: https://github.com/saltstack/salt/issues/38121
.. _`#38231`: https://github.com/saltstack/salt/issues/38231
.. _`#38316`: https://github.com/saltstack/salt/pull/38316
.. _`#38452`: https://github.com/saltstack/salt/issues/38452
.. _`#38458`: https://github.com/saltstack/salt/issues/38458
.. _`#38497`: https://github.com/saltstack/salt/issues/38497
.. _`#38523`: https://github.com/saltstack/salt/issues/38523
.. _`#38683`: https://github.com/saltstack/salt/issues/38683
.. _`#38758`: https://github.com/saltstack/salt/issues/38758
.. _`#38830`: https://github.com/saltstack/salt/issues/38830
.. _`#38835`: https://github.com/saltstack/salt/pull/38835
.. _`#38836`: https://github.com/saltstack/salt/issues/38836
.. _`#38943`: https://github.com/saltstack/salt/pull/38943
.. _`#38962`: https://github.com/saltstack/salt/issues/38962
.. _`#39052`: https://github.com/saltstack/salt/issues/39052
.. _`#39104`: https://github.com/saltstack/salt/pull/39104
.. _`#39109`: https://github.com/saltstack/salt/pull/39109
.. _`#39169`: https://github.com/saltstack/salt/issues/39169
.. _`#39275`: https://github.com/saltstack/salt/issues/39275
.. _`#39289`: https://github.com/saltstack/salt/pull/39289
.. _`#39405`: https://github.com/saltstack/salt/pull/39405
.. _`#39411`: https://github.com/saltstack/salt/pull/39411
.. _`#39421`: https://github.com/saltstack/salt/pull/39421
.. _`#39423`: https://github.com/saltstack/salt/pull/39423
.. _`#39426`: https://github.com/saltstack/salt/pull/39426
.. _`#39431`: https://github.com/saltstack/salt/pull/39431
.. _`#39445`: https://github.com/saltstack/salt/issues/39445
.. _`#39460`: https://github.com/saltstack/salt/pull/39460
.. _`#39463`: https://github.com/saltstack/salt/issues/39463
.. _`#39464`: https://github.com/saltstack/salt/pull/39464
.. _`#39472`: https://github.com/saltstack/salt/pull/39472
.. _`#39487`: https://github.com/saltstack/salt/pull/39487
.. _`#39497`: https://github.com/saltstack/salt/pull/39497
.. _`#39498`: https://github.com/saltstack/salt/pull/39498
.. _`#39505`: https://github.com/saltstack/salt/pull/39505
.. _`#39507`: https://github.com/saltstack/salt/pull/39507
.. _`#39508`: https://github.com/saltstack/salt/pull/39508
.. _`#39516`: https://github.com/saltstack/salt/pull/39516
.. _`#39528`: https://github.com/saltstack/salt/pull/39528
.. _`#39532`: https://github.com/saltstack/salt/pull/39532
.. _`#39540`: https://github.com/saltstack/salt/pull/39540
.. _`#39542`: https://github.com/saltstack/salt/pull/39542
.. _`#39544`: https://github.com/saltstack/salt/pull/39544
.. _`#39554`: https://github.com/saltstack/salt/pull/39554
.. _`#39560`: https://github.com/saltstack/salt/pull/39560
.. _`#39562`: https://github.com/saltstack/salt/pull/39562
.. _`#39565`: https://github.com/saltstack/salt/pull/39565
.. _`#39569`: https://github.com/saltstack/salt/pull/39569
.. _`#39573`: https://github.com/saltstack/salt/pull/39573
.. _`#39574`: https://github.com/saltstack/salt/pull/39574
.. _`#39577`: https://github.com/saltstack/salt/pull/39577
.. _`#39578`: https://github.com/saltstack/salt/pull/39578
.. _`#39579`: https://github.com/saltstack/salt/pull/39579
.. _`#39583`: https://github.com/saltstack/salt/pull/39583
.. _`#39584`: https://github.com/saltstack/salt/pull/39584
.. _`#39589`: https://github.com/saltstack/salt/pull/39589
.. _`#39591`: https://github.com/saltstack/salt/pull/39591
.. _`#39592`: https://github.com/saltstack/salt/pull/39592
.. _`#39596`: https://github.com/saltstack/salt/pull/39596
.. _`#39600`: https://github.com/saltstack/salt/pull/39600
.. _`#39606`: https://github.com/saltstack/salt/pull/39606
.. _`#39609`: https://github.com/saltstack/salt/pull/39609
.. _`#39610`: https://github.com/saltstack/salt/pull/39610
.. _`#39613`: https://github.com/saltstack/salt/pull/39613
.. _`#39615`: https://github.com/saltstack/salt/pull/39615
.. _`#39617`: https://github.com/saltstack/salt/pull/39617
.. _`#39619`: https://github.com/saltstack/salt/pull/39619
.. _`#39624`: https://github.com/saltstack/salt/pull/39624
.. _`#39633`: https://github.com/saltstack/salt/pull/39633
.. _`#39641`: https://github.com/saltstack/salt/pull/39641
.. _`#39642`: https://github.com/saltstack/salt/issues/39642
.. _`#39643`: https://github.com/saltstack/salt/pull/39643
.. _`#39644`: https://github.com/saltstack/salt/pull/39644
.. _`#39651`: https://github.com/saltstack/salt/pull/39651
.. _`#39653`: https://github.com/saltstack/salt/pull/39653
.. _`#39654`: https://github.com/saltstack/salt/pull/39654
.. _`#39662`: https://github.com/saltstack/salt/pull/39662
.. _`#39666`: https://github.com/saltstack/salt/pull/39666
.. _`#39683`: https://github.com/saltstack/salt/issues/39683
.. _`#39692`: https://github.com/saltstack/salt/issues/39692
.. _`#39694`: https://github.com/saltstack/salt/pull/39694
.. _`#39699`: https://github.com/saltstack/salt/pull/39699
.. _`#39710`: https://github.com/saltstack/salt/issues/39710
.. _`#39711`: https://github.com/saltstack/salt/pull/39711
.. _`#39719`: https://github.com/saltstack/salt/pull/39719
.. _`#39721`: https://github.com/saltstack/salt/pull/39721
.. _`#39727`: https://github.com/saltstack/salt/pull/39727
.. _`#39728`: https://github.com/saltstack/salt/pull/39728
.. _`#39729`: https://github.com/saltstack/salt/pull/39729
.. _`#39731`: https://github.com/saltstack/salt/pull/39731
.. _`#39734`: https://github.com/saltstack/salt/pull/39734
.. _`#39760`: https://github.com/saltstack/salt/pull/39760
.. _`#39761`: https://github.com/saltstack/salt/pull/39761
.. _`#39762`: https://github.com/saltstack/salt/pull/39762
.. _`#39766`: https://github.com/saltstack/salt/pull/39766
.. _`#39767`: https://github.com/saltstack/salt/pull/39767
.. _`#39768`: https://github.com/saltstack/salt/pull/39768
.. _`#39770`: https://github.com/saltstack/salt/pull/39770
.. _`#39771`: https://github.com/saltstack/salt/issues/39771
.. _`#39775`: https://github.com/saltstack/salt/issues/39775
.. _`#39776`: https://github.com/saltstack/salt/pull/39776
.. _`#39778`: https://github.com/saltstack/salt/issues/39778
.. _`#39779`: https://github.com/saltstack/salt/issues/39779
.. _`#39784`: https://github.com/saltstack/salt/pull/39784
.. _`#39788`: https://github.com/saltstack/salt/pull/39788
.. _`#39791`: https://github.com/saltstack/salt/pull/39791
.. _`#39794`: https://github.com/saltstack/salt/pull/39794
.. _`#39796`: https://github.com/saltstack/salt/pull/39796
.. _`#39799`: https://github.com/saltstack/salt/pull/39799
.. _`#39819`: https://github.com/saltstack/salt/pull/39819
.. _`#39820`: https://github.com/saltstack/salt/pull/39820
.. _`#39826`: https://github.com/saltstack/salt/pull/39826
.. _`#39837`: https://github.com/saltstack/salt/pull/39837
.. _`#39842`: https://github.com/saltstack/salt/issues/39842
.. _`#39851`: https://github.com/saltstack/salt/pull/39851
.. _`#39852`: https://github.com/saltstack/salt/pull/39852
.. _`#39855`: https://github.com/saltstack/salt/pull/39855
.. _`#39858`: https://github.com/saltstack/salt/pull/39858
.. _`#39862`: https://github.com/saltstack/salt/pull/39862
.. _`#39863`: https://github.com/saltstack/salt/issues/39863
.. _`#39868`: https://github.com/saltstack/salt/issues/39868
.. _`#39871`: https://github.com/saltstack/salt/pull/39871
.. _`#39872`: https://github.com/saltstack/salt/pull/39872
.. _`#39882`: https://github.com/saltstack/salt/pull/39882
.. _`#39899`: https://github.com/saltstack/salt/pull/39899
.. _`#39900`: https://github.com/saltstack/salt/pull/39900
.. _`#39910`: https://github.com/saltstack/salt/pull/39910
.. _`#39919`: https://github.com/saltstack/salt/pull/39919
.. _`#39924`: https://github.com/saltstack/salt/pull/39924
.. _`#39929`: https://github.com/saltstack/salt/pull/39929
.. _`#39930`: https://github.com/saltstack/salt/pull/39930
.. _`#39932`: https://github.com/saltstack/salt/pull/39932
.. _`#39933`: https://github.com/saltstack/salt/pull/39933
.. _`#39934`: https://github.com/saltstack/salt/pull/39934
.. _`#39935`: https://github.com/saltstack/salt/pull/39935
.. _`#39936`: https://github.com/saltstack/salt/pull/39936
.. _`#39937`: https://github.com/saltstack/salt/pull/39937
.. _`#39952`: https://github.com/saltstack/salt/pull/39952
.. _`#39962`: https://github.com/saltstack/salt/pull/39962
.. _`#39963`: https://github.com/saltstack/salt/pull/39963
.. _`#39967`: https://github.com/saltstack/salt/pull/39967
.. _`#39973`: https://github.com/saltstack/salt/pull/39973
.. _`#39976`: https://github.com/saltstack/salt/issues/39976
.. _`#39980`: https://github.com/saltstack/salt/pull/39980
.. _`#39984`: https://github.com/saltstack/salt/pull/39984
.. _`#39988`: https://github.com/saltstack/salt/pull/39988
.. _`#39991`: https://github.com/saltstack/salt/pull/39991
.. _`#39994`: https://github.com/saltstack/salt/pull/39994
.. _`#40000`: https://github.com/saltstack/salt/pull/40000
.. _`#40005`: https://github.com/saltstack/salt/issues/40005
.. _`#40010`: https://github.com/saltstack/salt/pull/40010
.. _`#40016`: https://github.com/saltstack/salt/pull/40016
.. _`#40018`: https://github.com/saltstack/salt/pull/40018
.. _`#40020`: https://github.com/saltstack/salt/pull/40020
.. _`#40021`: https://github.com/saltstack/salt/pull/40021
.. _`#40023`: https://github.com/saltstack/salt/pull/40023
.. _`#40025`: https://github.com/saltstack/salt/pull/40025
.. _`#40030`: https://github.com/saltstack/salt/pull/40030
.. _`#40034`: https://github.com/saltstack/salt/pull/40034
.. _`#40038`: https://github.com/saltstack/salt/pull/40038
.. _`#40041`: https://github.com/saltstack/salt/pull/40041
.. _`#40045`: https://github.com/saltstack/salt/pull/40045
.. _`#40047`: https://github.com/saltstack/salt/pull/40047
.. _`#40053`: https://github.com/saltstack/salt/pull/40053
.. _`#40055`: https://github.com/saltstack/salt/pull/40055
.. _`#40057`: https://github.com/saltstack/salt/pull/40057
.. _`#40059`: https://github.com/saltstack/salt/pull/40059
.. _`#40070`: https://github.com/saltstack/salt/pull/40070
.. _`#40072`: https://github.com/saltstack/salt/pull/40072
.. _`#40075`: https://github.com/saltstack/salt/issues/40075
.. _`#40077`: https://github.com/saltstack/salt/pull/40077
.. _`#40084`: https://github.com/saltstack/salt/issues/40084
.. _`#40085`: https://github.com/saltstack/salt/pull/40085
.. _`#40088`: https://github.com/saltstack/salt/pull/40088
.. _`#40090`: https://github.com/saltstack/salt/pull/40090
.. _`#40095`: https://github.com/saltstack/salt/pull/40095
.. _`#40096`: https://github.com/saltstack/salt/pull/40096
.. _`#40097`: https://github.com/saltstack/salt/pull/40097
.. _`#40111`: https://github.com/saltstack/salt/pull/40111
.. _`#40118`: https://github.com/saltstack/salt/pull/40118
.. _`#40120`: https://github.com/saltstack/salt/pull/40120
.. _`#40122`: https://github.com/saltstack/salt/pull/40122
.. _`#40123`: https://github.com/saltstack/salt/pull/40123
.. _`#40141`: https://github.com/saltstack/salt/pull/40141
.. _`#40158`: https://github.com/saltstack/salt/pull/40158
.. _`#40159`: https://github.com/saltstack/salt/pull/40159
.. _`#40160`: https://github.com/saltstack/salt/pull/40160
.. _`#40162`: https://github.com/saltstack/salt/pull/40162
.. _`#40165`: https://github.com/saltstack/salt/pull/40165
.. _`#40167`: https://github.com/saltstack/salt/issues/40167
.. _`#40171`: https://github.com/saltstack/salt/pull/40171
.. _`#40172`: https://github.com/saltstack/salt/pull/40172
.. _`#40182`: https://github.com/saltstack/salt/pull/40182
.. _`#40184`: https://github.com/saltstack/salt/pull/40184
.. _`#40189`: https://github.com/saltstack/salt/pull/40189
.. _`#40193`: https://github.com/saltstack/salt/pull/40193
.. _`#40194`: https://github.com/saltstack/salt/pull/40194
.. _`#40196`: https://github.com/saltstack/salt/pull/40196
.. _`#40199`: https://github.com/saltstack/salt/pull/40199
.. _`#40201`: https://github.com/saltstack/salt/pull/40201
.. _`#40202`: https://github.com/saltstack/salt/pull/40202
.. _`#40204`: https://github.com/saltstack/salt/issues/40204
.. _`#40206`: https://github.com/saltstack/salt/pull/40206
.. _`#40209`: https://github.com/saltstack/salt/pull/40209
.. _`#40210`: https://github.com/saltstack/salt/pull/40210
.. _`#40221`: https://github.com/saltstack/salt/pull/40221
.. _`#40225`: https://github.com/saltstack/salt/pull/40225
.. _`#40226`: https://github.com/saltstack/salt/pull/40226
.. _`#40231`: https://github.com/saltstack/salt/pull/40231
.. _`#40232`: https://github.com/saltstack/salt/pull/40232
.. _`#40237`: https://github.com/saltstack/salt/pull/40237
.. _`#40239`: https://github.com/saltstack/salt/pull/40239
.. _`#40240`: https://github.com/saltstack/salt/pull/40240
.. _`#40247`: https://github.com/saltstack/salt/issues/40247
.. _`#40250`: https://github.com/saltstack/salt/pull/40250
.. _`#40253`: https://github.com/saltstack/salt/pull/40253
.. _`#40255`: https://github.com/saltstack/salt/pull/40255
.. _`#40260`: https://github.com/saltstack/salt/pull/40260
.. _`#40264`: https://github.com/saltstack/salt/pull/40264
.. _`#40265`: https://github.com/saltstack/salt/pull/40265
.. _`#40273`: https://github.com/saltstack/salt/pull/40273
.. _`#40275`: https://github.com/saltstack/salt/pull/40275
.. _`#40277`: https://github.com/saltstack/salt/pull/40277
.. _`#40278`: https://github.com/saltstack/salt/issues/40278
.. _`#40280`: https://github.com/saltstack/salt/pull/40280
.. _`#40285`: https://github.com/saltstack/salt/pull/40285
.. _`#40287`: https://github.com/saltstack/salt/pull/40287
.. _`#40288`: https://github.com/saltstack/salt/pull/40288
.. _`#40296`: https://github.com/saltstack/salt/issues/40296
.. _`#40300`: https://github.com/saltstack/salt/pull/40300
.. _`#40306`: https://github.com/saltstack/salt/pull/40306
.. _`#40308`: https://github.com/saltstack/salt/pull/40308
.. _`#40310`: https://github.com/saltstack/salt/pull/40310
.. _`#40312`: https://github.com/saltstack/salt/pull/40312
.. _`#40313`: https://github.com/saltstack/salt/pull/40313
.. _`#40315`: https://github.com/saltstack/salt/pull/40315
.. _`#40321`: https://github.com/saltstack/salt/issues/40321
.. _`#40322`: https://github.com/saltstack/salt/issues/40322
.. _`#40326`: https://github.com/saltstack/salt/pull/40326
.. _`#40328`: https://github.com/saltstack/salt/pull/40328
.. _`#40329`: https://github.com/saltstack/salt/pull/40329
.. _`#40332`: https://github.com/saltstack/salt/pull/40332
.. _`#40333`: https://github.com/saltstack/salt/pull/40333
.. _`#40337`: https://github.com/saltstack/salt/pull/40337
.. _`#40338`: https://github.com/saltstack/salt/pull/40338
.. _`#40341`: https://github.com/saltstack/salt/pull/40341
.. _`#40345`: https://github.com/saltstack/salt/pull/40345
.. _`#40346`: https://github.com/saltstack/salt/pull/40346
.. _`#40347`: https://github.com/saltstack/salt/pull/40347
.. _`#40362`: https://github.com/saltstack/salt/pull/40362
.. _`#40368`: https://github.com/saltstack/salt/pull/40368
.. _`#40369`: https://github.com/saltstack/salt/pull/40369
.. _`#40371`: https://github.com/saltstack/salt/pull/40371
.. _`#40372`: https://github.com/saltstack/salt/pull/40372
.. _`#40376`: https://github.com/saltstack/salt/pull/40376
.. _`#40379`: https://github.com/saltstack/salt/pull/40379
.. _`#40387`: https://github.com/saltstack/salt/pull/40387
.. _`#40390`: https://github.com/saltstack/salt/pull/40390
.. _`#40391`: https://github.com/saltstack/salt/pull/40391
.. _`#40395`: https://github.com/saltstack/salt/pull/40395
.. _`#40396`: https://github.com/saltstack/salt/issues/40396
.. _`#40399`: https://github.com/saltstack/salt/pull/40399
.. _`#40401`: https://github.com/saltstack/salt/pull/40401
.. _`#40404`: https://github.com/saltstack/salt/pull/40404
.. _`#40407`: https://github.com/saltstack/salt/pull/40407
.. _`#40415`: https://github.com/saltstack/salt/pull/40415
.. _`#40416`: https://github.com/saltstack/salt/pull/40416
.. _`#40417`: https://github.com/saltstack/salt/issues/40417
.. _`#40418`: https://github.com/saltstack/salt/pull/40418
.. _`#40424`: https://github.com/saltstack/salt/pull/40424
.. _`#40427`: https://github.com/saltstack/salt/pull/40427
.. _`#40429`: https://github.com/saltstack/salt/pull/40429
.. _`#40430`: https://github.com/saltstack/salt/pull/40430
.. _`#40431`: https://github.com/saltstack/salt/pull/40431
.. _`#40442`: https://github.com/saltstack/salt/pull/40442
.. _`#40443`: https://github.com/saltstack/salt/pull/40443
.. _`#40451`: https://github.com/saltstack/salt/pull/40451
.. _`#40456`: https://github.com/saltstack/salt/pull/40456
.. _`#40464`: https://github.com/saltstack/salt/pull/40464
.. _`#40465`: https://github.com/saltstack/salt/pull/40465
.. _`#40466`: https://github.com/saltstack/salt/pull/40466
.. _`#40468`: https://github.com/saltstack/salt/pull/40468
.. _`#40480`: https://github.com/saltstack/salt/pull/40480
.. _`#40481`: https://github.com/saltstack/salt/pull/40481
.. _`#40494`: https://github.com/saltstack/salt/pull/40494
.. _`#40495`: https://github.com/saltstack/salt/pull/40495
.. _`#40496`: https://github.com/saltstack/salt/pull/40496
.. _`#40497`: https://github.com/saltstack/salt/pull/40497
.. _`#40503`: https://github.com/saltstack/salt/pull/40503
.. _`#40504`: https://github.com/saltstack/salt/pull/40504
.. _`#40505`: https://github.com/saltstack/salt/pull/40505
.. _`#40525`: https://github.com/saltstack/salt/pull/40525
.. _`#40528`: https://github.com/saltstack/salt/pull/40528
.. _`#40530`: https://github.com/saltstack/salt/pull/40530
.. _`#40534`: https://github.com/saltstack/salt/pull/40534
.. _`#40540`: https://github.com/saltstack/salt/pull/40540
.. _`#40543`: https://github.com/saltstack/salt/pull/40543
.. _`#40548`: https://github.com/saltstack/salt/pull/40548
.. _`#40551`: https://github.com/saltstack/salt/pull/40551
.. _`#40552`: https://github.com/saltstack/salt/pull/40552
.. _`#40559`: https://github.com/saltstack/salt/pull/40559
.. _`#40562`: https://github.com/saltstack/salt/pull/40562
.. _`#40563`: https://github.com/saltstack/salt/pull/40563
.. _`#40564`: https://github.com/saltstack/salt/pull/40564
.. _`#40567`: https://github.com/saltstack/salt/pull/40567
.. _`#40571`: https://github.com/saltstack/salt/pull/40571
.. _`#40572`: https://github.com/saltstack/salt/pull/40572
.. _`#40573`: https://github.com/saltstack/salt/pull/40573
.. _`#40575`: https://github.com/saltstack/salt/pull/40575
.. _`#40576`: https://github.com/saltstack/salt/pull/40576
.. _`#40588`: https://github.com/saltstack/salt/pull/40588
.. _`#40594`: https://github.com/saltstack/salt/issues/40594
.. _`#40598`: https://github.com/saltstack/salt/pull/40598
.. _`#40606`: https://github.com/saltstack/salt/pull/40606
.. _`#40609`: https://github.com/saltstack/salt/pull/40609
.. _`#40614`: https://github.com/saltstack/salt/pull/40614
.. _`#40615`: https://github.com/saltstack/salt/pull/40615
.. _`#40620`: https://github.com/saltstack/salt/pull/40620
.. _`#40624`: https://github.com/saltstack/salt/issues/40624
.. _`#40629`: https://github.com/saltstack/salt/pull/40629
.. _`#40631`: https://github.com/saltstack/salt/pull/40631
.. _`#40637`: https://github.com/saltstack/salt/pull/40637
.. _`#40638`: https://github.com/saltstack/salt/pull/40638
.. _`#40642`: https://github.com/saltstack/salt/pull/40642
.. _`#40645`: https://github.com/saltstack/salt/pull/40645
.. _`#40646`: https://github.com/saltstack/salt/pull/40646
.. _`#40651`: https://github.com/saltstack/salt/pull/40651
.. _`#40658`: https://github.com/saltstack/salt/issues/40658
.. _`#40662`: https://github.com/saltstack/salt/pull/40662
.. _`#40665`: https://github.com/saltstack/salt/pull/40665
.. _`#40666`: https://github.com/saltstack/salt/pull/40666
.. _`#40675`: https://github.com/saltstack/salt/pull/40675
.. _`#40678`: https://github.com/saltstack/salt/pull/40678
.. _`#40680`: https://github.com/saltstack/salt/pull/40680
.. _`#40681`: https://github.com/saltstack/salt/pull/40681
.. _`#40685`: https://github.com/saltstack/salt/pull/40685
.. _`#40686`: https://github.com/saltstack/salt/pull/40686
.. _`#40688`: https://github.com/saltstack/salt/issues/40688
.. _`#40689`: https://github.com/saltstack/salt/pull/40689
.. _`#40690`: https://github.com/saltstack/salt/pull/40690
.. _`#40708`: https://github.com/saltstack/salt/pull/40708
.. _`#7287`: https://github.com/saltstack/salt/issues/7287
.. _`#7997`: https://github.com/saltstack/salt/issues/7997
.. _`Ch3LL`: https://github.com/Ch3LL
.. _`Da-Juan`: https://github.com/Da-Juan
.. _`DennisHarper`: https://github.com/DennisHarper
.. _`DmitryKuzmenko`: https://github.com/DmitryKuzmenko
.. _`L4rS6`: https://github.com/L4rS6
.. _`MasterNayru`: https://github.com/MasterNayru
.. _`Modulus`: https://github.com/Modulus
.. _`MorphBonehunter`: https://github.com/MorphBonehunter
.. _`Seb-Solon`: https://github.com/Seb-Solon
.. _`Talkless`: https://github.com/Talkless
.. _`The-Loeki`: https://github.com/The-Loeki
.. _`UtahDave`: https://github.com/UtahDave
.. _`Whissi`: https://github.com/Whissi
.. _`aabognah`: https://github.com/aabognah
.. _`adithep`: https://github.com/adithep
.. _`afletch`: https://github.com/afletch
.. _`alankrita`: https://github.com/alankrita
.. _`alias454`: https://github.com/alias454
.. _`amontalban`: https://github.com/amontalban
.. _`andrejohansson`: https://github.com/andrejohansson
.. _`anlutro`: https://github.com/anlutro
.. _`ardakuyumcu`: https://github.com/ardakuyumcu
.. _`attiasr`: https://github.com/attiasr
.. _`bdrung`: https://github.com/bdrung
.. _`bewing`: https://github.com/bewing
.. _`bobrik`: https://github.com/bobrik
.. _`cachedout`: https://github.com/cachedout
.. _`chrisLeeTW`: https://github.com/chrisLeeTW
.. _`cro`: https://github.com/cro
.. _`danielmotaleite`: https://github.com/danielmotaleite
.. _`daswathn`: https://github.com/daswathn
.. _`defanator`: https://github.com/defanator
.. _`discountbin`: https://github.com/discountbin
.. _`djsly`: https://github.com/djsly
.. _`dmurphy18`: https://github.com/dmurphy18
.. _`dragozov`: https://github.com/dragozov
.. _`drawsmcgraw`: https://github.com/drawsmcgraw
.. _`duk3luk3`: https://github.com/duk3luk3
.. _`ebauman`: https://github.com/ebauman
.. _`eldadru`: https://github.com/eldadru
.. _`garethgreenaway`: https://github.com/garethgreenaway
.. _`githubcdr`: https://github.com/githubcdr
.. _`gstachowiak`: https://github.com/gstachowiak
.. _`gtmanfred`: https://github.com/gtmanfred
.. _`hkrist`: https://github.com/hkrist
.. _`huangfupeng`: https://github.com/huangfupeng
.. _`isbm`: https://github.com/isbm
.. _`jbadson`: https://github.com/jbadson
.. _`jeanpralo`: https://github.com/jeanpralo
.. _`jettero`: https://github.com/jettero
.. _`jf`: https://github.com/jf
.. _`jinm`: https://github.com/jinm
.. _`joe-niland`: https://github.com/joe-niland
.. _`kaszuba`: https://github.com/kaszuba
.. _`kevins9`: https://github.com/kevins9
.. _`lomeroe`: https://github.com/lomeroe
.. _`lorengordon`: https://github.com/lorengordon
.. _`mateiw`: https://github.com/mateiw
.. _`matthayes`: https://github.com/matthayes
.. _`mcalmer`: https://github.com/mcalmer
.. _`mchugh19`: https://github.com/mchugh19
.. _`meaksh`: https://github.com/meaksh
.. _`mirceaulinic`: https://github.com/mirceaulinic
.. _`mlalpho`: https://github.com/mlalpho
.. _`narendraingale2`: https://github.com/narendraingale2
.. _`nmadhok`: https://github.com/nmadhok
.. _`peterhirn`: https://github.com/peterhirn
.. _`podstava`: https://github.com/podstava
.. _`rallytime`: https://github.com/rallytime
.. _`redbaron4`: https://github.com/redbaron4
.. _`roaldnefs`: https://github.com/roaldnefs
.. _`s0undt3ch`: https://github.com/s0undt3ch
.. _`saltstack/salt#35869`: https://github.com/saltstack/salt/issues/35869
.. _`saltstack/salt#39935`: https://github.com/saltstack/salt/pull/39935
.. _`saltstack/salt#40225`: https://github.com/saltstack/salt/pull/40225
.. _`saltstack/salt#40332`: https://github.com/saltstack/salt/pull/40332
.. _`sebw`: https://github.com/sebw
.. _`shantanub`: https://github.com/shantanub
.. _`skazi0`: https://github.com/skazi0
.. _`skizunov`: https://github.com/skizunov
.. _`smarsching`: https://github.com/smarsching
.. _`sofixa`: https://github.com/sofixa
.. _`sp1r`: https://github.com/sp1r
.. _`sthrasher`: https://github.com/sthrasher
.. _`sumeetisp`: https://github.com/sumeetisp
.. _`systemtrap`: https://github.com/systemtrap
.. _`techhat`: https://github.com/techhat
.. _`terminalmage`: https://github.com/terminalmage
.. _`thatch45`: https://github.com/thatch45
.. _`thor`: https://github.com/thor
.. _`ticosax`: https://github.com/ticosax
.. _`tjuup`: https://github.com/tjuup
.. _`toanctruong`: https://github.com/toanctruong
.. _`twangboy`: https://github.com/twangboy
.. _`vutny`: https://github.com/vutny
.. _`whiteinge`: https://github.com/whiteinge
.. _`yhekma`: https://github.com/yhekma
.. _`zer0def`: https://github.com/zer0def
