neulab/tldr huggingface dataset:
• PR #47802: (rallytime) Back-port #40892 to 2017.7 @ 2018-05-24 16:34:35 UTC
• PR #40892: (jagguli) add minion function to reload beacon #35960 (refs: #47802)
• PR #47816: (Ch3LL) Add windows to service disable ERROR check in tests @ 2018-05-24 15:31:36 UTC
• PR #47773: (frogunder) add win_servermanager.list_available test @ 2018-05-23 19:44:14 UTC
• PR #47807: (dwoz) Try an even bigger timeout @ 2018-05-23 19:38:21 UTC
• PR #47765: (meaksh) Prevent zypper from parsing repo configuration from not .repo files @ 2018-05-23 14:45:04 UTC
• PR #47781: (rallytime) Update cloud test profile and docs to use new Linode size lables @ 2018-05-23 13:09:13 UTC
• PR #47748: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7 @ 2018-05-22 20:53:02 UTC
• PR #47779: (dwoz) Increase ec2 cloud timeouts to 1000 @ 2018-05-22 20:35:45 UTC
• PR #47430: (baniobloom) Add catch for VPCAssociationNotFound @ 2018-05-22 14:54:01 UTC
• PR #47525: (baniobloom) Trying to add a duplicate sec group rule true @ 2018-05-22 14:51:09 UTC
• PR #47772: (gtmanfred) lock down dependencies for kitchen-salt @ 2018-05-22 14:21:49 UTC
• ISSUE #47717: (server-monitoring) Invalid output of pkg.list_upgrades on Fedora 27 Server (refs: #47749)
• PR #47749: (terminalmage) Fix "dnf list upgrades" parsing @ 2018-05-22 12:51:29 UTC
• PR #47755: (dwoz) Be explicit about winrm setting @ 2018-05-21 22:39:24 UTC
• PR #47668: (Ch3LL) Add pkg.latest_version windows test @ 2018-05-21 20:26:45 UTC
• PR #47750: (dwoz) Allow ssh_interface to default to public_ips @ 2018-05-21 17:14:11 UTC
• PR #47737: (dwoz) Cloud test fixup @ 2018-05-21 14:19:49 UTC
• PR #47729: (UtahDave) fix cli example to match function name @ 2018-05-19 11:31:21 UTC
• ISSUE #47182: (MartinEmrich) state.highstate error with require_in: sls:  (refs: #47682)
• PR #47682: (terminalmage) Fix traceback when excludes are present in an included SLS file @ 2018-05-18 16:47:47 UTC
• ISSUE #47696: (darkpixel) 2017.7.5 zpool.present does not check for properties=None before attempting to enumerate properties (refs: #47708)
• PR #47708: (darkpixel) Wrap properties loop with a check for None. Closes GH-47696 @ 2018-05-18 15:25:44 UTC
• PR #47681: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7 @ 2018-05-17 21:30:02 UTC
• PR #47683: (Ch3LL) Remove unnecessary setUp in states.test_user test for mac @ 2018-05-17 21:28:26 UTC
• PR #47692: (dwoz) Default windows to m1.small for ec2-classic @ 2018-05-17 14:44:10 UTC
• ISSUE #45125: (wes-novack) salt-cloud no longer picking up master setting from provider file (refs: #47665)
• PR #47665: (gtmanfred) use dictupdate to update the providers dictionary and merge lists @ 2018-05-16 15:59:17 UTC
• PR #47151: (zer0def) Allow interaction with default section in ConfigParser serializer @ 2018-05-16 13:53:44 UTC
• ISSUE #40846: (ghost) file.managed fails for long URLs (refs: #45808)
• PR #47673: (terminalmage) Backport #45808 to 2017.7 @ 2018-05-16 13:52:06 UTC
• PR #45808: (b1naryth1ef) [bugfix] Fix for oversized filenames in fileclient (refs: #47673)
• PR #47670: (gtmanfred) add a pytest.ini and update a dependency for kitchen @ 2018-05-16 01:56:17 UTC
• PR #47626: (gtmanfred) Implement Pipfile and remove extra requirements.txt files @ 2018-05-16 00:03:12 UTC
• PR #47578: (Ch3LL) Ensure mac_service.disabled is correctly querying services @ 2018-05-15 18:26:37 UTC
• PR #47639: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7 @ 2018-05-14 17:58:25 UTC
• PR #47643: (dwoz) Remove unwanted file @ 2018-05-14 17:53:57 UTC
• PR #47601: (dwoz) Skip tests when we can not use runas @ 2018-05-14 15:26:36 UTC
• PR #47611: (Ch3LL) Update debian install docs to reflect new latest debian releases @ 2018-05-11 16:32:53 UTC
• PR #47598: (rallytime) Back-port #47568 to 2017.7 @ 2018-05-10 22:06:20 UTC
• PR #47568: (terminalmage) salt.serializers.yaml/yamlex: remove invalid multi_constructor (refs: #47598)
• PR #47548: (Ch3LL) Catch Sysloghandler errors when log file does not exist @ 2018-05-10 20:23:25 UTC
• ISSUE #47491: (doc987) mysql_query.run_file Doesn't Work when query_file = salt://... (refs: #47508)
• PR #47508: (gtmanfred) allow pulling the mysql_query.run_file to pull from the fileserver @ 2018-05-10 18:12:28 UTC
• ISSUE #47203: (aesposito91) NAPALM grains not updating (refs: #47513)
• ISSUE #46546: (ppalmieri) salt-minion installed on vEOS does not give vendor grain (refs: #47513)
• PR #47562: (rallytime) Back-port #47513 to 2017.7 @ 2018-05-10 15:19:04 UTC
• PR #47513: (frankiexyz) Fix #46546 eos napalm's grains issue  (refs: #47562)
• PR #47471: (meaksh) Fix inconsistency with "jid" on minion scheduled jobs and the returners output @ 2018-05-09 18:20:00 UTC
• PR #47313: (Circuitsoft) Add Poky/Yocto support @ 2018-05-09 17:31:59 UTC
• PR #47540: (terminalmage) Fix corner case where runas user's HOME env value is incorrect @ 2018-05-08 20:31:40 UTC
• ISSUE #24148: (abng88) Update gitfs docs to include tutorial on how to configure gitfs for salt-call (masterless) (refs: #47547)
• PR #47547: (terminalmage) Add masterless mode docs to gitfs tutorial @ 2018-05-08 20:24:29 UTC
• PR #47538: (terminalmage) Fix/clarify some of the pip module documentation @ 2018-05-08 15:24:18 UTC
• PR #47524: (dwoz) Gracefully handle blank lines in whitelist.txt @ 2018-05-08 15:04:23 UTC
• PR #47527: (dwoz) Test file name @ 2018-05-07 22:02:04 UTC
• PR #47408: (Ch3LL) Skip status.diskusage integration tests on macsox @ 2018-05-07 19:06:57 UTC
• PR #47480: (baniobloom) added handling for the aws error ConflictingDomainExists @ 2018-05-07 19:05:28 UTC
• PR #47444: (terminalmage) Skip trying to render a template for a nonexistant SLS file @ 2018-05-07 13:48:24 UTC
• PR #47478: (terminalmage) Rename pip state test modules to match naming convention @ 2018-05-07 13:13:13 UTC
• PR #47505: (dwoz) Raise proper invocation errors @ 2018-05-07 13:05:22 UTC
• PR #47499: (dwoz) Move kill process tree and re-use it @ 2018-05-06 20:54:22 UTC
• PR #47493: (dwoz) Add support for windows timeout to run_salt @ 2018-05-06 05:34:31 UTC
• 041e4c6ddb Wrap properties loop with a check for None.  Closes GH-47696
In Progress: Salt 2017.7.9 Release Notes Version 2017.7.9 is an unreleased bugfix release for 2017.7.0.  This release is still in progress and has not been released yet.
Salt Cloud Features GCE Driver The GCE salt cloud driver can now be used with GCE instance credentials by setting the configuration paramaters service_account_private_key and service_account_private_email to an empty string.
Salt 2016.11.0 Release Notes - Codename Carbon New Features Docker Introspection and Configuration Major additions have been made to the Docker support in 2016.11.0. The new addition allows Salt to be executed within a Docker container without a minion running or installed in the container. This allows states to be run inside a container, but also all of Salt's remote execution commands to be run inside docker containers as well. This makes container introspection simple and powerful. See the tutorial on using this new feature here:
See Salt in Docker Containers.
Advanced Ceph Control Our friends over at SUSE have delivered a powerful new tool to make the deployment of Ceph storage systems using Salt very easy. These new Ceph tools allow for a storage system to be easily defined using the new ceph.quorum state.
Thorium Additions and Improvements The Thorium advanced reactor has undergone extensive testing and updates. These updates include many more Thorium states, a system for automating key management, the ability to use Thorium to easily replace old reactors and a great deal of stability and bug fixes.
State Rollback Using Snapper Rollback has been one of the most prevalent requests for Salt. We have researched it extensively and concluded that the only way to accomplish truly reliable rollback would be to execute it at the filesystem layer. To accomplish this we have introduced Snapper integration into Salt States.
Snapper is a tool which allows for simple and reliable snapshots of the filesystem to be made. With the new snapper_states option set to True in the minion config a snapshot will be made before and after every Salt State run.
These snapshots can be viewed, managed and rolled back to via the snapper execution module.
Preserve File Perms in File States This feature has been requested for years, the ability to set a flag and use the same file permissions for files deployed to a minion as the permissions set to the file on the master. Just set the keep_mode option on any file management state to True.
Ponies! We all agreed that cowsay was just not good enough, install the ponysay command and the new pony outputter will work. Fun for the whole family!
Additional Features • Minions can run in stand-alone mode to use beacons and engines without having to connect to a master. (Thanks @adelcast!)
• Added a salt runner to allow running salt modules via salt-run.
salt-run salt.cmd test.ping # call functions with arguments and keyword arguments salt-run salt.cmd test.arg 1 2 3 a=1
• Added SSL support to Cassandra CQL returner.  SSL can be enabled by setting ssl_options for the returner.  Also added support for specifying protocol_version when establishing cluster connection.
• The mode parameter in the file.managed state, and the file_mode parameter in the file.recurse state, can both now be set to keep and the minion will keep the mode of the file from the Salt fileserver. This works only with files coming from sources prefixed with salt://, or files local to the minion (i.e. those which are absolute paths, or are prefixed with file://). For example:
/etc/myapp/myapp.conf: file.managed: - source: salt://conf/myapp/myapp.conf - mode: keep
/var/www/myapp: file.recurse: - source: salt://path/to/myapp - dir_mode: 755 - file_mode: keep
• The junos state module is now available. It has all the functions that are present in the junos execution module.
• The minion data cache is a pluggable data store now. It's configurable with cache option. Default is localfs.
• User names in client_acl support glob matching now.
New Top File Merging Strategy for States A new strategy called merge_all has been added to provide a new way of merging top file matches when executing a highstate.  See the top_file_merging_strategy documentation for further information.
In addition, the same merging strategy was not functioning as documented. This has now been corrected. While this is technically a bugfix, we decided to hold a change in top file merging until a feature release to minimize user impact.
Improved Archive Extraction Support The archive.extracted state has been overhauled. Notable changes include the following:
• When enforcing ownership (with the user and/or group arguments), the if_missing argument no longer has any connection to which path(s) have ownership enforced. Instead, the paths are determined using the either the newly-added archive.list function, or the newly-added enforce_ownership_on argument.
• if_missing also is no longer required to skip extraction, as Salt is now able to tell which paths would be present if the archive were extracted. It should, in most cases, only be necessary in cases where a semaphore file is used to conditionally skip extraction of the archive.
• Password-protected ZIP archives are now detected before extraction, and the state fails without attempting to extract the archive if no password was specified.
• By default, a single top-level directory is enforced, to guard against 'tar-bombs'. This enforcement can be disabled by setting enforce_toplevel to False.
• The tar_options and zip_options arguments have been deprecated in favor of a single options argument.
• The archive_format argument is now optional. The ending of the source argument is used to guess whether it is a tar, zip or rar file. If the archive_format cannot be guessed, then it will need to be specified, but in many cases it can now be omitted.
• Ownership enforcement is now performed irrespective of whether or not the archive needed to be extracted. This means that the state can be re-run after the archive has been fully extracted to repair changes to ownership.
A number of new arguments were also added. See the docs py:func:docs for the archive.extracted state <salt.states.archive.extracted> for more information.
Additionally, the following changes have been made to the archive execution module:
• A new function (archive.list) has been added. This function lists the files/directories in an archive file, and supports a verbose argument that gives a more detailed breakdown of which paths are files, which are directories, and which paths are at the top level of the archive.
• A new function (archive.is_encrypted) has been added. This function will return True if the archive is a password-protected ZIP file, False if not. If the archive is not a ZIP file, an error will be raised.
• archive.cmd_unzip now supports passing a password, bringing it to feature parity with archive.unzip. Note that this is still not considered to be secure, and archive.unzip is recommended for dealing with password-protected ZIP archives.
• The default value for the extract_perms argument to archive.unzip has been changed to True.
Improved Checksum Handling in file.managed, archive.extracted States When the source_hash argument for these states refers to a file containing checksums, Salt now looks for checksums matching the name of the source URI, as well as the file being managed. Prior releases only looked for checksums matching the filename being managed. Additionally, a new argument (source_hash_name) has been added, which allows the user to disambiguate ambiguous matches when more than one matching checksum is found in the source_hash file.
A more detailed explanation of this functionality can be found in the file.managed documentation, in the section for the new source_hash_name argument.
NOTE: This improved functionality is also available in the 2016.3 (Boron) release cycle, starting with the 2016.3.5 release.
Config Changes The following default config values were changed:
• gitfs_ssl_verify: Changed from False to True
• git_pillar_ssl_verify: Changed from False to True
• winrepo_ssl_verify: Changed from False to True
Grains Changes • All core grains containing VMWare have been changed to VMware, which is the official capitalization.  Additionally, all references to VMWare in the documentation have been changed to VMware issue #30807. Environments using versions of Salt before and after Salt 2016.11.0 should employ case-insensitive grain matching on these grains.
{% set on_vmware = grains['virtual'].lower() == 'vmware' %}
• On Windows the cpu_model grain has been changed to provide the actual cpu model name and not the cpu family.
root@master:~# salt 'testwin200' grains.item cpu_model testwin200: ---------- cpu_model: Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
root@master:~# salt 'testwin200' grains.item cpu_model testwin200: ---------- cpu_model: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz
Beacons Changes • The loadavg beacon now outputs averages as integers instead of strings. (Via issue #31124.)
Runner Changes • Runners can now call out to utility modules via __utils__.
• ref:Utility modules <writing-utility-modules> (placed in salt://_utils/) are now able to be synced to the master, making it easier to use them in custom runners. A saltutil.sync_utils function has been added to the saltutil runner to facilitate the syncing of utility modules to the master.
Pillar Changes • Thanks to the new saltutil.sync_utils runner, it is now easier to get ref:utility modules <writing-utility-modules> synced to the correct location on the Master so that they are available in execution modules called from Pillar SLS files.
Junos Module Changes • The following new functionalities were added to the junos module
• facts - Displays the facts gathered during the connection.
• shutdown - Shut down or reboot a device running Junos OS.
• install_config - Modify the configuration of a Junos device.
• install_os - Install Junos OS software package.
• zeroize - Remove all configuration information on the Routing Engines and reset all key values on a device.
• file_copy - Copy file from proxy to the Junos device.
Network Automation: NAPALM Beginning with 2016.11.0, network automation is included by default in the core of Salt. It is based on a the NAPALM library and provides facilities to manage the configuration and retrieve data from network devices running widely used operating systems such: JunOS, IOS-XR, eOS, IOS, NX-OS etc.
• see the complete list of supported devices.
The connection is established via the NAPALM proxy.
In the current release, the following modules were included:
• NAPALM grains - Select network devices based on their characteristics
Cisco NXOS Proxy Minion Beginning with 2016.11.0, there is a proxy minion that can be used to configure nxos cisco devices over ssh.
• Proxy Minion
Cisco Network Services Orchestrator Proxy Minion Beginning with 2016.11.0, there is a proxy minion to use the Cisco Network Services Orchestrator as a proxy minion.
Returner Changes • Any returner which implements a save_load function is now required to accept a minions keyword argument. All returners which ship with Salt have been modified to do so.
Renderer Changes Added the ability to restrict allowed renderers. Two new config parameters, renderer_whitelist and renderer_blacklist are introduced for this purpose.
eAuth Changes • External auth modules' auth method can return an ACL list for the given username instead of True. This list should be in the same format as described in the eAuth documentation. It will be used for the user instead of one set in master config.
Example of the auth method return that allows a user to execute functions in the test and network modules on the minions that match the web* target and allow access to wheel and runner modules:
[{"web*": ["test.*", "network.*"]}, "@wheel", "@runner"]
• External auth is supported by salt-run and salt-key now. Note that master must be started to use them with eAuth.
External Module Packaging Modules may now be packaged via entry-points in setuptools. See external module packaging tutorial for more information.
Functionality Changes • The onfail requisite now uses OR logic instead of AND logic.  issue #22370
• The consul external pillar now strips leading and trailing whitespace. issue #31165
• The win_system.py state is now case sensitive for computer names. Previously computer names set with a state were converted to all caps. If you have a state setting computer names with lower case letters in the name that has been applied, the computer name will be changed again to apply the case sensitive name.
• The mac_user.list_groups function in the mac_user execution module now lists all groups for the specified user, including groups beginning with an underscore. In previous releases, groups beginning with an underscore were excluded from the list of groups.
• The junos.call_rpc function in the junos execution module can now be used to call any valid rpc. Earlier it used to call only "get_software_information".
• A new option for minions called master_tries has been added. This specifies the number of times a minion should attempt to contact a master to attempt a connection.  This allows better handling of occasional master downtime in a multi-master topology.
• The default hash_type is now sha256 instead of md5. You will need to make sure both your master and minion share the same hash_type.
• Nodegroups consisting of a simple list of minion IDs can now also be declared as a yaml list. The below two examples are equivalent:
# Traditional way nodegroups: - group1: L@host1,host2,host3
# New way (optional) nodegroups: - group1: - host1 - host2 - host3
New Azure ARM Cloud Driver A new cloud driver has been added for Azure ARM, aka, the Azure Resource Manager. The older Azure driver is still required to work with the older Azure API. This new driver works with the newer ARM API, which is managed via the newer Azure Portal website.
New Modules Beacons • salt.beacons.avahi_announce
• salt.beacons.bonjour_announce
• salt.beacons.haproxy
• salt.beacons.status
Clouds • salt.cloud.clouds.azurearm
Engines • salt.engines.hipchat
• salt.engines.http_logstash
Modules • salt.modules.boto_cloudwatch_event
• salt.modules.celery
• salt.modules.ceph
• salt.modules.influx08
• salt.modules.inspectlib.entities
• salt.modules.inspectlib.fsdb
• salt.modules.inspectlib.kiwiproc
• salt.modules.inspector
• salt.modules.libcloud_dns
• salt.modules.openstack_mng
• salt.modules.servicenow
• salt.modules.testinframod
• salt.modules.win_lgpo
• salt.modules.win_pki
• salt.modules.win_psget
• salt.modules.win_snmp
• salt.modules.xbpspkg
Outputters • salt.output.pony
Pillar • salt.pillar.csvpillar
• salt.pillar.http_json
• salt.pillar.makostack
Returners • salt.returners.zabbix_return
Runners • salt.runners.auth
• salt.runners.event
• salt.runners.smartos_vmadm
• salt.runners.vistara
SDB • salt.sdb.env
States • salt.states.boto_cloudwatch_event
• salt.states.csf
• salt.states.ethtool
• salt.states.influxdb08_database
• salt.states.influxdb08_user
• salt.states.libcloud_dns
• salt.states.snapper
• salt.states.testinframod
• salt.states.win_lgpo
• salt.states.win_pki
• salt.states.win_snmp
Thorium • salt.thorium.calc
• salt.thorium.key
• salt.thorium.runner
• salt.thorium.status
• salt.thorium.wheel
Deprecations General Deprecations • env to saltenv
All occurrences of env and some occurrences of __env__ marked for deprecation in Salt 2016.11.0 have been removed.  The new way to use the salt environment setting is with a variable called saltenv:
def fcn(msg="", env="base", refresh=True, saltenv="base", **kwargs): ...
has been changed to
def fcn(msg="", refresh=True, saltenv="base", **kwargs): ...
• If env (or __env__) is supplied as a keyword argument to a function that also accepts arbitrary keyword arguments, then a new warning informs the user that env is no longer used if it is found.  This new warning will be removed in Salt 2017.7.0.
# will result in a warning log message fcn(msg="add more salt", env="prod", refresh=False)
• If env (or __env__) is supplied as a keyword argument to a function that does not accept arbitrary keyword arguments, then python will issue an error.
def fcn(msg="", refresh=True, saltenv="base"): ...
# will result in a python TypeError fcn(msg="add more salt", env="prod", refresh=False)
• If env (or __env__) is supplied as a positional argument to a function, then undefined behavior will occur, as the removal of env and __env__ from the function's argument list changes the function's signature.
# will result in refresh evaluating to True and saltenv likely not being a string at all fcn("add more salt", "prod", False)
• Deprecations in minion.py:
• The salt.minion.parse_args_and_kwargs function has been removed. Please use the salt.minion.load_args_and_kwargs function instead.
Cloud Deprecations • The vsphere cloud driver has been removed. Please use the vmware cloud driver instead.
• The private_ip option in the linode cloud driver is deprecated and has been removed. Use the assign_private_ip option instead.
• The create_dns_record and delete_dns_record functions are deprecated and have been removed from the digital_ocean driver. Use the post_dns_record function instead.
Execution Module Deprecations • The blockdev execution module had four functions removed:
• dump
• tune
• resize2fs
• wipe
The disk module should be used instead with the same function names.
• The boto_vpc execution module had two functions removed, boto_vpc.associate_new_dhcp_options_to_vpc and boto_vpc.associate_new_network_acl_to_subnet in favor of more concise function names, boto_vpc.create_dhcp_options and boto_vpc.create_network_acl, respectively.
• The data execution module had getval and getvals functions removed in favor of one function, get, which combines the functionality of the removed functions.
• File module deprecations:
• The contains_regex_multiline function was removed. Use file.search instead.
• Additional command line options for file.grep should be passed one at a time.  Please do not pass more than one in a single argument.
• The lxc execution module has the following changes:
• The run_cmd function was removed. Use lxc.run instead.
• The nic argument was removed from the lxc.init function. Use network_profile instead.
• The clone argument was removed from the lxc.init function. Use clone_from instead.
• passwords passed to the lxc.init function will be assumed to be hashed, unless password_encrypted=False.
• The restart argument for lxc.start was removed. Use lxc.restart instead.
• The old style of defining lxc containers has been removed. Please use keys under which LXC profiles should be configured such as lxc.container_profile.profile_name.
• The env and activate keyword arguments have been removed from the install function in the pip execution module. The use of bin_env replaces both of these options.
• reg execution module
Functions in the reg execution module had misleading and confusing names for dealing with the Windows registry. They failed to clearly differentiate between hives, keys, and name/value pairs. Keys were treated like value names.  There was no way to delete a key.
New functions were added in 2015.5 to properly work with the registry. They also made it possible to edit key default values as well as delete an entire key tree recursively. With the new functions in place, the following functions have been deprecated:
• read_key
• set_key
• create_key
• delete_key
Use the following functions instead:
• for read_key use read_value
• for set_key use set_value
• for create_key use set_value with no vname and no vdata
• for delete_key use delete_key_recursive. To delete a value, use delete_value.
• The hash_hostname option was removed from the salt.modules.ssh execution module. The hash_known_hosts option should be used instead.
• The human_readable option was removed from the uptime function in the status execution module. The function was also updated in 2015.8.9 to return a more complete offering of uptime information, formatted as an easy-to-read dictionary. This updated function replaces the need for the human_readable option.
• The persist kwarg was removed from the win_useradd execution module. This option is no longer supported for Windows. persist is only supported as part of user management in UNIX/Linux.
• The zpool_list function in the zpool execution module was removed. Use list instead.
Outputter Module Deprecations • The compact outputter has been removed. Set state_verbose to False instead.
Runner Module Deprecations • The grains.cache runner no longer accepts outputter or minion as keyword arguments.  Users will need to specify an outputter using the --out option. tgt is replacing the minion kwarg.
• The fileserver runner no longer accepts the outputter keyword argument. Users will need to specify an outputter using the --out option.
• The jobs runner no longer accepts the outputter keyword argument. Users will need to specify an outputter using the --out option.
• virt runner module:
• The hyper kwarg was removed from the init, list, and query functions. Use the host option instead.
• The next_hyper function was removed. Use the next_host function instead.
• The hyper_info function was removed. Use the host_info function instead.
State Module Deprecations • The env and activate keyword arguments were removed from the installed function in the pip state module. The use of bin_env replaces both of these options.
• reg state module
The reg state module was modified to work with the new functions in the execution module. Some logic was left in the reg.present and the reg.absent functions to handle existing state files that used the final key in the name as the value name. That logic has been removed so you now must specify value name (vname) and, if needed, value data (vdata).
For example, a state file that adds the version value/data pair to the Software\Salt key in the HKEY_LOCAL_MACHINE hive used to look like this:
HKEY_LOCAL_MACHINE\\Software\\Salt\\version: reg.present: - value: 2016.3.1
Now it should look like this:
HKEY_LOCAL_MACHINE\\Software\\Salt reg.present: - vname: version - vdata: 2016.3.1
A state file for removing the same value added above would have looked like this:
HKEY_LOCAL_MACHINE\\Software\\Salt\\version: reg.absent:
HKEY_LOCAL_MACHINE\\Software\\Salt reg.absent: - vname: version
This new structure is important as it allows salt to deal with key default values which was not possible before. If vname is not passed, salt will work with the default value for that hivekey.
Additionally, since you could only delete a value from a the state module, a new function (key_absent) has been added to allow you to delete a registry key and all subkeys and name/value pairs recursively. It uses the new delete_key_recursive function.
For additional information see the documentation for the reg execution and state modules.
• lxc state module: The following functions were removed from the lxc state module:
• created: replaced by the present state.
• started: replaced by the running state.
• cloned: replaced by the present state. Use the clone_from argument to set the name of the clone source.
• The hash_hostname option was removed from the salt.states.ssh_known_hosts state. The hash_known_hosts option should be used instead.
• The always kwarg used in the built function of the pkgbuild state module was removed. Use force instead.
Utils Module Deprecations • The use of jid_dir and jid_load were removed from the salt.utils.jid. jid_dir functionality for job_cache management was moved to the local_cache returner. jid_load data is now retrieved from the master_job_cache.
• ip_in_subnet function in salt.utils.network.py has been removed. Use the in_subnet function instead.
• The iam utils module had two functions removed: salt.utils.iam.get_iam_region and salt.utils.iam.get_iam_metadata in favor of the aws utils functions salt.utils.aws.get_region_from_metadata and salt.utils.aws.creds, respectively.
Salt 2016.11.1 Release Notes Version 2016.11.1 is a bugfix release for 2016.11.0.
Statistics • Total Merges: 89
• Total Issue References: 29
• Total PR References: 83
• Contributors: 30 (Ch3LL, Da-Juan, DmitryKuzmenko, MTecknology, adelcast, attiasr, bbinet, cachedout, cro, dmurphy18, gtmanfred, isbm, jeanpralo, kraney, kstreee, lorengordon, mateiw, mirceaulinic, morsik, mschneider82, rallytime, rbjorklin, scott-w, sjorge, skizunov, techhat, terminalmage, thatch45, ticosax, whiteinge)
Changelog for v2016.11.0..v2016.11.1 Generated at: 2018-05-27 14:25:03 UTC
• PR #38186: (Ch3LL) add 2016.11.1 changelog to release notes
• PR #38182: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11 @ 2016-12-09 21:25:47 UTC
• 23c039347e Merge pull request #38182 from rallytime/merge-2016.11
• 627242ab5d Merge branch '2016.3' into '2016.11'
• 65b2ad7b14 Merge pull request #38163 from Ch3LL/enabled_ec2_cloud
• be74c45463 enabled ec2 cloud tests
• b63f74e034 Merge pull request #38177 from vutny/fix-cp-get-file-str
• a449980672 Correct cp.get_file_str docstring and add integration tests
• 7596313be0 Merge pull request #38153 from vutny/master-includes-error-tolerance
• cd0154ee93 Master config includes may contain errors and be safely skipped
• ISSUE #38094: (bfilipek) TypeError: object of type 'float' has no len() in grains.filter_by (refs: #38158)
• PR #38158: (cachedout) Fix type problem in grains.filter_by @ 2016-12-09 21:24:40 UTC
• 8355adc535 Merge pull request #38158 from cachedout/issue_38094
• e8196e23c2 Lint, remove set literal
• 9f4ebb3c18 Fix type problem in grains.filter_by
• ISSUE #38090: (jf) pkg.installed does not seem to refresh the repo database, no matter what (refs: #38113, #38156)
• PR #38156: (terminalmage) Remove rtag when windows minion refreshes early in state @ 2016-12-09 21:15:01 UTC
• 31a157d902 Merge pull request #38156 from terminalmage/fix-windows-refresh
• 258bd4c2aa Remove rtag when windows minion refreshes early in state
• ISSUE #37981: (tazaki) Salt-cloud ec2 vpc securitygroupid always returning default (refs: #38183)
• PR #38183: (cro) Fix bad set operations when setting up securitygroups in AWS.  @ 2016-12-09 21:12:10 UTC
• c638952684 Merge pull request #38183 from cro/fix_37891
• 0527d6f25e Fix bad set operations when setting up securitygroups in AWS.  Fixes #37891.
• PR #38181: (rallytime) Reset socket default timeout to None (fixes daemons_tests failures)
• PR #38148: (whiteinge) Remove ssh_async from NetapiClient clients; it is not implemented @ 2016-12-09 18:49:42 UTC
• 7ccbedd2cc Merge pull request #38148 from whiteinge/no-ssh-async-client
• cb58cd4795 Remove ssh_async from NetapiClient clients; it is not implemented
• PR #38160: (terminalmage) Update information about xz-utils in archive state/module docs @ 2016-12-09 18:34:03 UTC
• 8d4e194400 Merge pull request #38160 from terminalmage/update-archive-docs
• 8e4ad3cff3 Update information about xz-utils in archive state/module docs
• ISSUE #38024: (Ch3LL) 2016.11.0 release notes missing azure arm reference (refs: #38164)
• PR #38164: (techhat) Add Azure ARM docs for 2016.11.0 @ 2016-12-09 18:00:22 UTC
• 05136f0d8c Merge pull request #38164 from techhat/azuredocs
• 71b787e250 Add Azure ARM docs for 2016.11.0
• PR #38173: (rallytime) Bump some win* module deprecations from Nitrogen to Oxygen @ 2016-12-09 16:57:29 UTC
• e3c858cc28 Merge pull request #38173 from rallytime/update-win-deprecation-versions
• 09a50b25e7 Bump some win* module deprecations from Nitrogen to Oxygen
• PR #38036: (terminalmage) archive.extracted: fix problems with overwrite arg @ 2016-12-08 19:08:41 UTC
• PR #37889: (isbm) Allow overwrite archives extraction (refs: #38036)
• 827bf59999 Merge pull request #38036 from terminalmage/archive-extracted-override
• a1c70c7b95 archive.extracted: fix problems with overwrite arg
• PR #38133: (terminalmage) Fix edge case in creation of trans tar for salt-thin @ 2016-12-08 17:47:26 UTC
• 50773a5f96 Merge pull request #38133 from terminalmage/zd1067
• 71e0bd023f Fix edge case in creation of trans tar for salt-thin
• PR #38138: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11 @ 2016-12-07 20:15:56 UTC
• 6026cb23b2 Merge pull request #38138 from rallytime/merge-2016.11
• 28b56ea3b4 Merge branch '2016.3' into '2016.11'
• 86091db647 Skip daemon unit tests when running on Python 2.6 (#38134)
• PR #38130: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11 @ 2016-12-07 20:11:19 UTC
• 90478ef25e Merge pull request #38130 from rallytime/merge-2016.11
• 4d7d9abb41 Merge branch '2016.3' into '2016.11'
• d3d98fd4eb Merge pull request #38102 from rallytime/fix-38091
• 4f79d5a0d1 Add False + msg tuple return if requests is missing for zenoss module
• 8c8cbc2734 Merge pull request #38104 from rallytime/bp-36794
• c906c8a0d5 Pylint fixes
• da3ebf83e6 FreeBSD sysctl module now handels config_file parameter in show method
• PR #38129: (Ch3LL) Fix beacon index
• PR #38127: (rallytime) Add versionadded tags for network module funcs
• ISSUE #38042: (MTecknology) [2016.11.0] Invalid interfaces file produced by debian_ip module (refs: #38043)
• PR #38043: (MTecknology) Debian networking fix @ 2016-12-07 17:32:18 UTC
• fd06bab673 Merge pull request #38043 from MTecknology/2016.11
• 6d5e132e44 Removing trailing whitespace from previous commit
• f882674acf Adding some options that are valid for inet6 blocks.
• 81cb688d4c Better check for dual stack.
• 525c746274 May Cthulhu take mercy on my soul for this commit.
• 300ca6047e I guess this makes the previous commit a bit redundant, but I'm not sure if I want to remove it.
• 6e7fc39c68 This now seems absurdly obvious, but I'm not ruling out that I'll break everything.
• 82d2b89e0c Rolling back unit test.
• b3edbcfd05 Adding larger and more complete debian_ip unit test.
• 3afd7b6cf4 Adding the valid/documented 'slaves' option.
• b6b1adc091 Typo: missing closing parenthesis
• 756e41caf2 Fixing a typo; line should not be commented
• 32a1374748 Corrects expected return value
• 88f9d9f22c Mostly whitespace & comment changes
• 41ffb8d805 Removing redundant line
• 3a8168667b Ensure iface_dict not being populated will not produce a stacktrace
• 4de2cb2805 Corrects regression in debian_ip/debian_eth.jinja
• PR #38107: (cachedout) Status beacon should raise proper exception @ 2016-12-07 17:21:49 UTC
• PR #38088: (dmurphy18) Updated to match formulas and allow for missing functions (refs: #38107)
• 4b9a7f2295 Merge pull request #38107 from cachedout/supercede_38088
• 73d724845d Change to log.debug per Tom
• da135b1b59 Fix docs
• 792b422dc2 Pylint fix
• 88e03bba6d Fix typo
• a8ce153252 Status beacon should raise proper exception
• PR #38101: (lorengordon) Clarifies file.replace behavior on symlinks @ 2016-12-07 13:27:11 UTC
• da8f5ac0c6 Merge pull request #38101 from lorengordon/file-replace-note
• 345990f2b0 Clarifies file.replace behavior on symlinks
• PR #38113: (terminalmage) Revert changes to refresh tag for pkg states @ 2016-12-07 13:11:14 UTC
• d47761f349 Merge pull request #38113 from terminalmage/issue38090
• 9f347df012 Revert changes to refresh tag for pkg states
• ISSUE #37976: (t0nyhays) Error when status beacon fires (2016.11.0) (refs: #38120)
• PR #38120: (Da-Juan) Fix status beacon config default values @ 2016-12-07 13:08:33 UTC
• d4c34e0a58 Merge pull request #38120 from Da-Juan/2016.11
• 7e4a35e8ad Fix status beacon config default values
• PR #38114: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11 @ 2016-12-07 12:45:04 UTC
• 6868089a87 Merge pull request #38114 from rallytime/merge-2016.11
• fec9dec23a Merge branch '2016.3' into '2016.11'
• fbc87769b9 Merge pull request #38083 from twangboy/fix_refresh_db
• 978af6d83c Remove only .sls files from the cached winrepo-ng
• 9dcfdeef6b Merge pull request #38059 from rallytime/daemons-test-fix
• eb372b27d8 Add missing "not" statement: The last syndic test should assertFalse()
• 4e10f8e018 Call exec_test for the Syndic daemon in tests.unit.daemons_test.py
• 9cd42b9b3f Merge pull request #38039 from rallytime/fix-37939
• 1da7aacfbe Update unit tests to account for additional file.search call
• 8a685b1820 Check to see if a line is already commented before moving on
• f2c045520d Write an integration test demonstrating the issue
• a34a763984 Merge pull request #38045 from terminalmage/issue38037
• 65289503d9 Simplify logic for matching desired pkg arch with actual pkg arch
• 3babbcda94 yumpkg.py: don't include non-upgrade versions found by "yum list available"
• PR #38109: (gtmanfred) mode needs to be an integer @ 2016-12-07 11:58:24 UTC
• b9920e54ee Merge pull request #38109 from gtmanfred/2016.11
• 7546760eb3 mode needs to be an integer
• PR #38103: (rallytime) Back-port #37283 to 2016.11 @ 2016-12-06 23:12:59 UTC
• PR #37283: (jeanpralo) Handle docker-compose up to version 1.9.0 (refs: #38103)
• PR #37215: (mschneider82) removed version check (refs: #37283)
• fd77dcbd0f Merge pull request #38103 from rallytime/bp-37283
• 11944df69b handle up to version 1.9.0
• PR #38057: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11 (refs: #38059) @ 2016-12-06 23:11:41 UTC
• 5d9d6b9280 Merge pull request #38057 from rallytime/merge-2016.11
• 342884018b Fix SaltKeyOptionParserTestCase test failures
• 186e2d0d03 Don't allow libcloud mock module injection in unit/states/libcloud_dns_test.py either
• d513a60189 Do not allow libcloud to be injected as a mock value in the libcloud_dns_test
• 74a417e527 Update the mocked cloud configs to also include master configs
• f2c8cb13d0 Better merge conflict resolution from the initial merge
• 8fd53a4808 Merge branch '2016.3' into '2016.11'
• 6724fe4871 Modify daemons test to use multiprocessing (#38034)
• 6942d5d95b Merge pull request #37995 from rallytime/merge-2016.3
• b44e17921c Merge branch '2015.8' into '2016.3'
• 7a7e36728f Merge pull request #37978 from terminalmage/ext_pillar_first-docs
• 61ed9a8657 Add clarifying language to ext_pillar_first docs
• cd66c179cb fix broken yaml code block (#38002)
• 3dd45fbedf Merge pull request #37912 from attiasr/fix_aws_response_encoding
• ba4ec4e7f1 use Requests result encoding to encode the text
• abe4eb3b98 fix encoding problem aws responses
• 69a74a4d2d Merge pull request #37950 from vutny/fix-starting-up-syndic
• 7d9bc9abce syndic_master: correct default value, documentation and example config
• 92a7c7ed1b Set default Salt Master address for a Syndic (like for a Minion)
• 7f269bc7f9 Add clarification on expr_form usage and future deprecation (#37964)
• 1001987f64 Catch possible exception from lsb_release (#37962)
• 330021cd8b Handle empty tokens safely (#37961)
• ea46639ce7 Merge pull request #37272 from vutny/fix-getting-default-logging-opts
• e5ce52388a Fix description in the Salt Syndic usage info
• 518a3dd7ee Add unit tests for Salt parsers processing logging options
• 83d6a44254 Add ssh_log_file option to master config and documentation
• c8a0915460 Fix configuration example and documentation for syndic_log_file option
• e64dd3ed6b Correct default attributes for various parser classes
• 82a2e216b3 Fix default usage string for Salt command line programs
• 45dffa292f Fix readding and updating logfile and pidfile config options for Salt API
• f47253c21b Fix reading and applying Salt Cloud default configuration
• fad5bec936 Work with a copy of default opts dictionaries
• b7c24811e5 Fix log_level_logfile config value type
• 1bd76a1d96 Fix setting temporary log level if CLI option omitted
• 121848cc77 Fix obtaining log_granular_levels config setting
• 44cf07fec2 Make CLI options take precedence for setting up logfile_logger
• 61afaf1792 Fix setting option attributes when processing log_level and log_file
• 3c60e2388e Fix processing of log_level_logfile config setting
• 55a0af5bbd Use attribute functions for getting/setting options and config values
• c25f2d091e Fix getting Salt API default logfile option
• f2422373c1 Remove processing of unused and undocumented cli_*_log_* config options
• 2065e8311c Get default logging level and file from default opts dict
• f2f957da6c Merge pull request #37925 from kontrolld/add-ipv6-centos-network
• ac2b477412 Adding IPv6 functionality for CentOS /etc/sysconfig/network
• c07ad11279 Merge pull request #37899 from DSRCorporation/bugs/37059_schedule_task_hang
• 9497748546 Clear functions context in schedule tasks for ZeroMQ.
• a55519db40 Merge pull request #37928 from techhat/issue37737
• a09a60e89b Don't modify self.opts directly
• 9d17f1ce90 Merge pull request #37929 from gtmanfred/2016.3
• c7d2c73503 add list_nodes_min to nova driver
• 3bb743b59f Merge pull request #37926 from kontrolld/fix-ipv6-centos-network
• 3ed42e5b44 updated
• 3b3bc4f239 Fixes no IPv6 functionality in /etc/sysconfig/network
• 271170a9f3 Merge pull request #37921 from rallytime/merge-2016.3
• 523a67c422 Merge branch '2015.8' into '2016.3'
• 4cdc6cf5ec Update earlier release channels' docs with Carbon release notes (#37914)
• d31491a7fe [2015.8] Update version numbers in doc config for 2016.11.0 release (#37918)
• 6cd6429ac0 Merge pull request #37924 from cachedout/fix_gem_states
• 894cca3427 Update test for new gem ver
• PR #38112: (rallytime) Account for case where vim install already exists and is at an older version
• ISSUE #19502: (kt97679) salt-ssh fails to run state.highstate with custom master_tops (refs: #38021)
• PR #38021: (mateiw) Add master_tops support in salt-ssh @ 2016-12-06 14:26:22 UTC
• f8c67a9598 Merge pull request #38021 from mateiw/salt-ssh_master_tops
• 65a0f102fd Add/remove newlines
• 7037fa116d Add master_tops support in salt-ssh
• PR #38084: (rallytime) Start release notes file for 2016.11.1 release
• PR #37878: (kstreee) Makes threads avoid blocking waiting while communicating using Zeromq.  @ 2016-12-05 19:50:46 UTC
• 78295516e7 Merge pull request #37878 from kstreee/2016.11
• 9103878c4f Fixes blocking waiting through implementing a socket pool class.
• PR #37987: (rbjorklin) consul_pillar support for limiting pillar exposure via minion targeting @ 2016-12-05 19:48:20 UTC
• PR #37985: (rbjorklin) consul_pillar support for limiting pillar exposure via minion targeting (refs: #37987)
• 0809ccd429 Merge pull request #37987 from rbjorklin/consul-pillar-target
• 5d0454a7ca Ignore W1401 (anomalous-backslash-in-string)
• 2e929a5ecc Linting fixes
• 171cab1726 Fixed possible incorrect behavior if target wasn't on start/end of str
• 7440582ce8 consul_pillar support for limiting pillar exposure via minion targeting
• ISSUE #38062: (UtahDave) archive execution module not loading on Windows in 2016.11.0 (refs: #38067)
• PR #38067: (terminalmage) Remove virtual funcs for archive state/module @ 2016-12-05 16:37:23 UTC
• 83dcfe81ea Merge pull request #38067 from terminalmage/issue38062
• 2e0f26a084 Remove virtual funcs for archive state/module
• ISSUE #38001: (tomlaredo) Regression on postgres_group.present ('postgres_group' __virtual__ returned False) (refs: #38023)
• ISSUE #37986: (marek-obuchowicz) Module postgres - wrong docs, doesn't work with debian 8.5 (refs: #38023)
• ISSUE #37935: (ipmb) Postgres module regression on 2016.11 (refs: #37946, #37993, #38023, #38058)
• PR #38058: (rallytime) Remove initdb dependency in postgres module @ 2016-12-04 04:19:02 UTC
• PR #38023: (gtmanfred) Expand error message for postgres states (refs: #38058)
• PR #37993: (ticosax) Remove initdb dependency to consume postgres module. (refs: #38058)
• c9933670f9 Merge pull request #38058 from rallytime/remove-init-db-dep
• c1ceeca3d3 Remove initdb dependency in postgres module
• ISSUE #37969: (lordcirth) Archive.extracted fails if -user: root is specified (refs: #38004)
• PR #38004: (terminalmage) Fix regression in user/group mgmt for archive.extracted @ 2016-12-02 18:28:49 UTC
• 1ac53e5196 Merge pull request #38004 from terminalmage/issue37969
• 23bb90a7ce Add integration test for archive.extracted with user/group set to root
• e5ee721696 Don't use simple boolean check on uid/gid
• ISSUE #37941: (L4rS6) Outdated documentation for 2016.11.x (refs: #38051)
• PR #38051: (Ch3LL) add docs for hash_type change to sha256 @ 2016-12-02 18:11:36 UTC
• e90cbbef08 Merge pull request #38051 from Ch3LL/fix_hash_docs
• e95f88fbe3 add docs for hash_type change to sha256
• ISSUE #38000: (morganwillcock) 2016.11.0: saltutil.runner returns a different dict structure and breaks template rendering (refs: #38028)
• PR #38028: (terminalmage) Pass full_return to saltutil.runner @ 2016-12-02 09:49:31 UTC
• 1b52289508 Merge pull request #38028 from terminalmage/issue38000
• 9bf13d55b4 Pass full_return to saltutil.runner
• ISSUE #37980: (tveastman) Having 'git' in fileserver_backends and no gitfs_remotes defined causes a crash (refs: #38044)
• PR #38044: (terminalmage) Remove debugging code @ 2016-12-02 09:43:44 UTC
• 41c44ff684 Merge pull request #38044 from terminalmage/issue37980
• f70a0409b3 Remove debugging code
• PR #38035: (dmurphy18) Updated to return status from make_repo similar to rpmbuild.py @ 2016-12-01 22:30:53 UTC
• 9661258f22 Merge pull request #38035 from dmurphy18/fix_debbuild
• 3bca96e7f2 Updated to return status from make_repo similar to rpmbuild.py
• PR #38023: (gtmanfred) Expand error message for postgres states (refs: #38058) @ 2016-12-01 22:05:06 UTC
• 141b5c5656 Merge pull request #38023 from gtmanfred/2016.11
• 1aa43eba80 Expand error message for postgres states
• ac72ee600e Revert "Updated the bins_dir to default to pg_bin #37935"
• PR #38026: (rallytime) Back-port #38015 to 2016.11 @ 2016-12-01 19:16:15 UTC
• PR #38015: (morsik) Typo fix (refs: #38026)
• 79486421f5 Merge pull request #38026 from rallytime/bp-38015
• 11becf3e68 Typo fix
• PR #38022: (DmitryKuzmenko) Added Carbon release notes. Fixed sphinx errors in the file.
• PR #38011: (rallytime) Adjust code examples to use the actual bootstrap-salt.sh file name
• ISSUE #37940: (alex-zel) dockerng.sls_build fails on some distributions (refs: #37954)
• PR #37954: (gtmanfred) use sleep from path for docker.sls_build @ 2016-11-30 18:08:45 UTC
• 0a041277ea Merge pull request #37954 from gtmanfred/2016.11
• 9caf0b406d use sleep from path for docker.sls_build
• PR #37993: (ticosax) Remove initdb dependency to consume postgres module. (refs: #38058) @ 2016-11-30 18:08:13 UTC
• 4ef5c98845 Merge pull request #37993 from ticosax/remove-initdb-requirement
• c5c7a53d72 Remove initdb dependency to consume postgres module.
• PR #37997: (cachedout) Update gem test for 2016.11 @ 2016-11-30 17:13:45 UTC
• 2e5565685c Merge pull request #37997 from cachedout/gem_test_carbon
• 1d221aa91c Update gem test for 2016.11
• ISSUE #36723: (white-hat) ext_pillar_first option is broken in 2016.3 (refs: #36807)
• ISSUE #24501: (astehlik) Order in top.sls file is not respected for pillar data in local mode (refs: #31316)
• ISSUE #19332: (QuinnyPig) Nondeterminism in Pillar (refs: #31316)