Salt 2015.8.3 Release Notes

Security Fix

CVE-2015-8034: Saving state.sls cache data to disk with insecure permissions

This affects users of the state.sls function. The state run cache on the minion was being created with incorrect permissions. This file could potentially contain sensitive data that was inserted via jinja into the state SLS files. The permissions for this file are now being set correctly. Thanks to @zmalone for bringing this issue to our attention.

Changes

Extended changelog courtesy of Todd Stansell (https://github.com/tjstansell/salt-changelogs):

Generated at: 2015-11-25T00:03:40Z

Merges: 452

Changes:

  • PR #29172: (basepi) [2015.8] Backport new philips_hue proxy features from develop
  • PR #29167: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
  • PR #29141: (optix2000) Add test case for require: sls with only import statements
  • PR #29072: (terminalmage) Several gitfs/git_pillar fixes
  • PR #29118: (ticosax) [dockerng] Add networking capabilities
  • PR #29145: (anlutro) Remove duplicate import of salt.utils.s3
  • PR #29148: (lomeroe) correcting parameter calls to boto get_zone/create_zone functions in …
  • PR #29108: (lorengordon) Enforce length as an int, fixes `#29107`_
  • PR #29125: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
  • PR #29126: (fcrozat) Fix deployment when umask is non-standard
  • PR #29124: (rallytime) Back-port #28130 to 2015.8
  • PR #29076: (RealKelsar) We can't query installed use flags for a non installed pkg
  • PR #29097: (rallytime) Back-port #29070 to 2015.8
  • PR #29090: (gtmanfred) clean up novaclient module
  • PR #29095: (terminalmage) Add warning about pygit2 API instability
  • PR #28919: (cro) Update Philips Hue proxy minion to support __proxy__ instead of proxymodule stored in __opts__
  • PR #29065: (cachedout) Handle failures inside python's inspect if a module is reloaded
  • PR #29057: (paulnivin) Add local file support for file.managed source list
  • PR #29017: (jfindlay) pagerduty runner: add missing salt.utils import
  • PR #29039: (anlutro) Allow passing list of pip packages to virtualenv.managed
  • PR #29047: (schwing) Fix salt.modules.gpg.import_key exception: 'GPG_1_3_1 referenced before assignment'
  • PR #29050: (terminalmage) Make git_pillar global config option docs more prominent
  • PR #29048: (nmadhok) Fix incorrect debug log statement
  • PR #29024: (jfindlay) cache runner test: add new unit tests
  • PR #28967: (cro) Fix some issues with password changes
  • PR #29020: (basepi) [2015.8] Add special list-only nodegroup support to salt-ssh
  • PR #28970: (terminalmage) Properly handle non-string saltenvs
  • PR #28959: (rallytime) Add blade password example and make note of timeout
  • PR #29000: (kiorky) [Mergeable] Fix up LXC
  • PR #29014: (jfindlay) systemd module: remove unneeded col command
  • PR #28983: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
  • PR #28969: (rallytime) Back-port #28825 to 2015.8
  • PR #28787: (chrigl) closes `#28784`_
  • PR #28944: (rallytime) The ret result must contain 'name', not 'chassis_name' for the state compiler.
  • PR #28957: (terminalmage) Fix version number for new state option
  • PR #28950: (DmitryKuzmenko) PR 28812 which test fix
  • PR #28812: (isbm) Enhance 'which' decorator reliability
  • PR #28934: (terminalmage) git.latest: Add update_head option to prevent local HEAD from being updated
  • PR #28937: (rallytime) Update dellchassis state example to use correct jinja syntax
  • PR #28889: (jfindlay) state compiler: relax aggregate conditional check
  • PR #28921: (rallytime) Back-port #25470 to 2015.8
  • PR #28922: (rallytime) Change 2015.8.2 release note title to reflect proper version
  • PR #28891: (jfindlay) rh_service module: fix logic in _chkconfig_is_enabled
  • PR #28892: (jfindlay) grains.core: correctly identify SLES 11 distrib_id
  • PR #28910: (lorengordon) Fix winrepo command in windows pkg mgmt doc
  • PR #28896: (rallytime) Back-port #28855 to 2015.8
  • PR #28895: (rallytime) Back-port #28823 to 2015.8
  • PR #28885: (kt97679) fix for: service.enabled fails on xen server `#28754`_
  • PR #28880: (terminalmage) Add "profile" loglevel
  • PR #28882: (basepi) [2015.8] salt-ssh: Check return type to make sure it's an error
  • PR #28867: (rallytime) [fx2 grains] Grains functions should return dictionaries
  • PR #28863: (mhoogendoorn) Fix ebuild.install causing extra refresh_db calls.
  • PR #28865: (jfindlay) add 2015.8.2 release notes
  • PR #28730: (garethgreenaway) Fixes to how return_job is handled in the scheduler for the salt master.
  • PR #28848: (cro) Lint
  • PR #28842: (cachedout) Add transport setting to shell test
  • PR #28837: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
  • PR #28827: (jacksontj) Cleanup virtual_timer in loader
  • PR #28836: (cachedout) Cast to dict to fix wheel tests in tcp
  • PR #28834: (cachedout) Fix breakage in tcp server
  • PR #28804: (cachedout) TCP test fixes
  • PR #28826: (basepi) [2015.8] Add new tornado deps to salt-ssh thin
  • PR #28759: (jfindlay) simplify stdin use of stdin in at.present state
  • PR #28824: (rallytime) Back-port #28778 and #28820 to 2015.8
  • PR #28803: (jfindlay) decode strings to utf-8
  • PR #28782: (rallytime) Fixes to rabbitmq user state
  • PR #28789: (nmadhok) Provide ability to enable/disable customization for newly create VMs using VMware salt-cloud driver
  • PR #28768: (mrosedale) 2015.8
  • PR #28772: (rallytime) rabbitmq.list_user_permissions returns a dict, not a list. Don't expect a list.
  • PR #28774: (rallytime) Back-port #28725 to 2015.8
  • PR #28775: (rallytime) Back-port #28740 to 2015.8
  • PR #28755: (rallytime) Move most vmware driver list_* functions to use salt.utils.vmware functions
  • PR #28744: (jfindlay) import gate elementtree
  • PR #28758: (jfindlay) remove redundant logic in useradd execution module
  • PR #28757: (mbarrien) Bug fix: pip command to not quote spaces in cmd line args
  • PR #28764: (multani) Various documentation fixes
  • PR #28752: (aboe76) Update openSUSE grain for tumbleweed
  • PR #28713: (hexedpackets) Rename consul.list to consul.list_keys.
  • PR #28719: (jacobhammons) removed dependencies info from docs
  • PR #28709: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
  • PR #28710: (rallytime) Pass kwargs correctly to _get_group from get_group_id
  • PR #28698: (rallytime) Back-port #28530 to 2015.8
  • PR #28700: (rallytime) Back-port #28679 to 2015.8
  • PR #28695: (s0undt3ch) [2015.8] Update to latest bootstrap script v2015.11.09
  • PR #28656: (clarkperkins) `#28526`_ fixed yumpkg module issue with pkg.installed
  • PR #28672: (jfindlay) add OS grain support for SuSE Leap
  • PR #28673: (jfindlay) add hidden_opts to mount.mounted
  • PR #28667: (cro) saltutil.sync_all should sync proxymodules as well as the rest.
  • PR #28665: (jfindlay) fixes to windows execution and state modules
  • PR #28660: (techhat) Don't sign empty regions
  • PR #28632: (terminalmage) Fixes/improvements to pkgbuild state/modules
  • PR #28658: (techhat) Remove _pkgdb_fun() references
  • PR #28653: (rallytime) Provide possible parameters for boto_rds.present engine values
  • PR #28649: (bdrung) Fix OS related grains on Debian
  • PR #28646: (rallytime) Back-port #28614 to 2015.8
  • PR #28647: (rallytime) Back-port #28624 to 2015.8
  • PR #28648: (rallytime) Merge branch '2015.5' into '2015.8'
  • PR #28638: (anlutro) Salt-SSH: Return more concise error when SSH command fails
  • PR #28644: (pass-by-value) Make sure versionchanged is correct
  • PR #28615: (The-Loeki) Fixes to FreeBSD pkg
  • PR #28613: (cachedout) Add facility to deepcopy bound methods in Py2.6 and apply to grains
  • PR #28612: (rallytime) Remove unsupported storage_type argument for parity with boto_rds module
  • PR #28611: (rallytime) [2015.8] Be explicit about salt.utils.vmware function calls
  • PR #28610: (pass-by-value) Lxc config additions
  • PR #28602: (nasenbaer13) Allow setting of custom dimensions in asg alarm specification
  • PR #28596: (rallytime) Merge branch '2015.5' into '2015.8'
  • PR #28593: (blueyed) doc: fix typo with salt.states.file: s/preseve/preserve/
  • PR #28578: (twangboy) Fixed the script... something got broke...
  • PR #28579: (jfindlay) fix __virtual__ returns: tls,uptime mods
  • PR #28584: (rallytime) If AssociatePublicIpAddress is set to True, don't auto-assign eip.
  • PR #28576: (jacksontj) Only encode the zmq message once
  • PR #28587: (cachedout) Reset yaml rendering hooks to avoid leaks
  • PR #28581: (basepi) Revert b4875e585a165482c4c1ddc8987d76b0a71ef1b0
  • PR #28573: (jacksontj) Add body to salt.utils.http.query returns
  • PR #28564: (s0undt3ch) [2015.8] Update to latest bootstrap script v2015.11.04
  • PR #28561: (Oro) Issue `#28527`_ boto_rds.create does not work
  • PR #28560: (bdrung) Fix various typos
  • PR #28550: (jfindlay) check timedatectl errno and return stdout on failure
  • PR #28545: (jfindlay) pass on concurrent create of jid_dir in local_cache
  • PR #28544: (rallytime) Start moving some vmware.py cloud funcs to utils/vmware.py
  • PR #28543: (gtmanfred) clean up changes for pkg.uptodate and supervisord.dead
  • PR #28538: (jfindlay) decode path and url to utf-8 in url.create
  • PR #28533: (jfindlay) decode highstate error messages to utf-8
  • PR #28547: (nmadhok) [Backport] [2015.8] Tasks can be in queued state instead of running
  • PR #28535: (techhat) Fail gracefully if 169.254* isn't available
  • PR #28536: (cro) Default configuration file for proxy minions.
  • PR #28534: (rallytime) Add versionadded directive for vpc_name arg in boto_secgroup.present
  • PR #28516: (rallytime) Back-port #28489 to 2015.8
  • PR #28506: (basepi) [2015.8] Log minion list for all rosters, at debug level
  • PR #28514: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
  • PR #28502: (cachedout) Lint #28427
  • PR #28464: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
  • PR #28486: (rallytime) Back-port #26945 to 2015.8
  • PR #28472: (gtmanfred) overwrite more than one value with names
  • PR #28493: (rallytime) Back-port #28492 to 2015.8
  • PR #28494: (whiteinge) Fix filter_by passing incorrect parameters to match functions
  • PR #28491: (rallytime) Back-port #28388 to 2015.8
  • PR #28465: (twangboy) Fix `#12363`_: Password Expiration in Windows
  • PR #28485: (nasenbaer13) Fix invalid usage of _get_conn causing `#28484`_
  • PR #28454: (sdm24) Fixed nodegroup doc formatting to correctly link to pillar_opts in the master config
  • PR #28487: (cachedout) Lint 28456
  • PR #28457: (sdm24) Clarified comments for grains/core.py for ip_interfaces, ip4_interfac…
  • PR #28473: (anlutro) Show check_cmd output on failure
  • PR #28460: (jtand) Skipped wipefs test if wipefs does not exist on OS
  • PR #28426: (terminalmage) pkgbuild.built: make template engine optional
  • PR #28422: (cachedout) Handle windows logging on thread_multi [WIP]
  • PR #28425: (twangboy) Fix `#13513`_ - Reflection
  • PR #28417: (rallytime) Add note about azure sdk version to getting started docs
  • PR #28410: (jacksontj) Add retries to the zeromq.AsyncReqMessageClient
  • PR #28404: (rallytime) Back-port #28395 to 2015.8
  • PR #28405: (opdude) Detect legacy versions of chocolatey correctly
  • PR #28187: (sjansen) fix at.present
  • PR #28375: (merll) Merge pillar includes correctly
  • PR #28376: (ryan-lane) Support update of route53 records with multiple values
  • PR #28377: (terminalmage) Deprecate 'always' in favor of 'force' in pkgbuild.built
  • PR #28380: (cro) Add missing call for service provider
  • PR #28348: (jfindlay) salt.utils.alias informs user they are using a renamed function
  • PR #28364: (jtand) In CentOS 5 the .split() causes a stacktrace.
  • PR #28361: (rallytime) Back-port #28087 to 2015.8
  • PR #28360: (multani) Various documentation fixes
  • PR #28370: (rallytime) Back-port #28276 to 2015.8
  • PR #28353: (merll) Consider each pillar match only once.
  • PR #28334: (anlutro) iptables needs -m comment for --comment to work
  • PR #28340: (jfindlay) sdecode file and dir lists in fileclient
  • PR #28344: (ryan-lane) Fix iptables state for non-filter tables
  • PR #28343: (rallytime) Back-port #28342 to 2015.8
  • PR #28330: (rallytime) Back-port #28305 to 2015.8
  • PR #28270: (rallytime) Refactor RabbitMQ Plugin State to correctly use test=true and format errors
  • PR #28269: (rallytime) Refactor rabbitmq_user state to use test=True correctly
  • PR #28299: (rallytime) Add test for availability_zone check to boto_vpc_tests
  • PR #28306: (sdm24) Updated the Nodegroup docs to include how to target nodegroups in SLS Jinja
  • PR #28308: (rallytime) Firewalld state services should use --add-service, not --new-service
  • PR #28302: (DmitryKuzmenko) Always close socket even if there is no stream.
  • PR #28282: (keesbos) Fix for __env__ in legacy git_pillar
  • PR #28258: (pass-by-value) Add service module for ssh proxy example
  • PR #28294: (bechtoldt) correct a bad default value in http utility
  • PR #28185: (jtand) Added single package return for latest_version, fixed other bug.
  • PR #28297: (cachedout) Lint fix proxy junos
  • PR #28210: (terminalmage) Fix for ext_pillar being compiled twice in legacy git_pillar code
  • PR #28265: (jfindlay) fix blockdev execution and state modules
  • PR #28266: (rallytime) Back-port #28260 to 2015.8
  • PR #28253: (rallytime) Back-port #28063 to 2015.8
  • PR #28231: (rallytime) Make sure we're compairing strings when getting images in the DO driver
  • PR #28224: (techhat) Optimize create_repo for large packages
  • PR #28214: (rallytime) Don't stacktrace if invalid credentials are passed to boto_route53 state
  • PR #28228: (rallytime) Back-port #27562 to 2015.8
  • PR #28232: (rallytime) Add documentation to supply the ssh_username: freebsd config to DO docs
  • PR #28198: (jacobhammons) Added note regarding missing spm exe on Debian/Ubuntu
  • PR #28182: (erchn) Some fixes for nova driver for Rackspace
  • PR #28181: (rallytime) Revamp firewalld state to be more stateful.
  • PR #28176: (cro) Add ping function
  • PR #28167: (The-Loeki) file.serialize needs to add a final newline to serialized files
  • PR #28168: (rallytime) Make sure availability zone gets passed in boto_vpc module when creating subnet
  • PR #28148: (basepi) [2015.8] Only expand nodegroups to lists if there is a nested nodegroup
  • PR #28155: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
  • PR #28149: (pass-by-value) Add clarification to cloud profile doc about host
  • PR #28146: (cachedout) Lint dracr.py
  • PR #28141: (rallytime) Don't use RAM for root disk size in linode.py
  • PR #28143: (jtand) Removed blank line at end of chassis.py
  • PR #28021: (blueyed) Handle includes in include_config recursively
  • PR #28095: (rallytime) Back-port #28001 to 2015.8
  • PR #28096: (rallytime) Back-port #28061 to 2015.8
  • PR #28139: (rallytime) Back-port #28103 to 2015.8
  • PR #28098: (jacksontj) For all multi-part messages, check the headers. If the header is not …
  • PR #28134: (bernieke) fix unicode pillar values `#3436`_
  • PR #28076: (redmcg) Replace option 'i' with an explicit queryformat
  • PR #28119: (jacksontj) Check if the remote exists before casting to a string.
  • PR #28105: (jfindlay) add reason for not loading localemod
  • PR #28108: (cachedout) Set logfile permsissions correctly
  • PR #27922: (cro) WIP States/Modules for managing Dell FX2 chassis via salt-proxy
  • PR #28104: (pass-by-value) Add documentation for proxy minion ssh
  • PR #28020: (DmitryKuzmenko) LazyLoader deepcopy fix.
  • PR #27933: (eliasp) Provide all git pillar dirs in opts[pillar_roots]
  • PR #28013: (rallytime) Back-port #27891 to 2015.8
  • PR #28018: (rallytime) Add example to Writing Grains of how grains can be loaded twice
  • PR #28084: (cachedout) #28069 with lint
  • PR #28079: (The-Loeki) Fix for trace dump on failing imports for win32com & pythoncom 4 win_task
  • PR #28081: (The-Loeki) fix for glance state trace error on import failure
  • PR #28066: (jacksontj) Use the generic text attribute, not .body of the handler
  • PR #28019: (rallytime) Clean up version added and deprecated msgs to be accurate
  • PR #28058: (rallytime) Back-port #28041 to 2015.8
  • PR #28055: (rallytime) Back-port #28043 to 2015.8
  • PR #28046: (pass-by-value) Add pkg install and remove functions
  • PR #28050: (ryan-lane) Use a better method for checking dynamodb table existence
  • PR #28042: (jfindlay) fix repo path in ubuntu installation documentation
  • PR #28033: (twangboy) Fixed win_useradd.py
  • PR #28027: (cro) Make ssh conn persistent.
  • PR #28029: (jacobhammons) Updated release notes with additional CVE information
  • PR #28022: (jacobhammons) Updated Debian and Ubuntu repo paths with new structure for 2015.8.1
  • PR #27983: (rallytime) Pip state run result should be False, not None, if installation error occurs.
  • PR #27991: (twangboy) Fix for `#20678`_
  • PR #27997: (rallytime) Remove note about pip bug with pip v1 vs pip v2 return codes
  • PR #27994: (jtand) Fix schedule_test failure
  • PR #27992: (cachedout) Make load beacon config into list
  • PR #28003: (twangboy) Fix `#26336`_
  • PR #27984: (rallytime) Versionadded for clean_file option for pkgrepo
  • PR #27989: (ryan-lane) Do not try to remove the main route table association
  • PR #27982: (pass-by-value) Add example for salt-proxy over SSH
  • PR #27985: (jacobhammons) Changed current release to 8.1 and added CVEs to release notes
  • PR #27979: (cachedout) Fix regression with key whitespace
  • PR #27977: (cachedout) Decode unicode names in fileclient/server
  • PR #27981: (jtand) Fixed trailing whitespace lint
  • PR #27969: (jeffreyctang) fix parse of { on next line
  • PR #27978: (terminalmage) Add note about dockerng.inspect_image usage
  • PR #27955: (pass-by-value) Bp 27868
  • PR #27953: (The-Loeki) Fix CloudStack cloud for new 'driver' syntax
  • PR #27965: (ryan-lane) Fail in boto_asg.present if alarms fail
  • PR #27958: (twangboy) Added new functionality to win_task.py
  • PR #27959: (techhat) Change __opts__ to self.opts
  • PR #27943: (rallytime) Back-port #27910 to 2015.8
  • PR #27944: (rallytime) Back-port #27909 to 2015.8
  • PR #27946: (jtand) Changed grain to look at osmajorrelease instead of osrelease
  • PR #27914: (rallytime) Use eipalloc instead of eni in EC2 interface properties example
  • PR #27926: (rallytime) Back-port #27905 to 2015.8
  • PR #27927: (ryan-lane) Do not manage ingress or egress rules if set to None
  • PR #27928: (rallytime) Back-port #27908 to 2015.8
  • PR #27676: (ticosax) [dockerng] WIP No more runtime args passed to docker.start()
  • PR #27885: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
  • PR #27882: (twangboy) Created win_task.py module
  • PR #27802: (terminalmage) Correct warning logging when update lock is present for git_pillar/winrepo, add runner function for clearing git_pillar/winrepo locks
  • PR #27886: (rallytime) Handle group lists as well as comma-separated group strings.
  • PR #27746: (anlutro) timezone module: handle timedatectl errors
  • PR #27816: (anlutro) Make system.reboot use shutdown -r when available
  • PR #27874: (rallytime) Add mention of Periodic Table naming scheme to deprecation docs
  • PR #27883: (terminalmage) Work around --is-ancestor not being present in git-merge-base before git 1.8.0
  • PR #27877: (rallytime) Back-port #27774 to 2015.8
  • PR #27878: (rallytime) Use apache2ctl binary on SUSE in apache module
  • PR #27879: (cro) Add docs for 2015.8.2+ changes to proxies
  • PR #27731: (cro) Add __proxy__ to replace opts['proxymodule']
  • PR #27745: (anlutro) Add pip_upgrade arg to virtualenv.managed state
  • PR #27809: (ticosax) [dockerng] Remove dockerng.ps caching
  • PR #27859: (ticosax) [dockerng] Clarify doc port bindings
  • PR #27748: (multani) Fix `#8646`_
  • PR #27850: (rallytime) Back-port #27722 to 2015.8
  • PR #27851: (rallytime) Back-port #27771 to 2015.8
  • PR #27833: (jfindlay) decode path before string ops in fileclient
  • PR #27837: (jfindlay) reverse truth in python_shell documentation
  • PR #27860: (flavio) Fix OS related grains on openSUSE and SUSE Linux Enterprise
  • PR #27768: (rallytime) Clean up bootstrap function to be slightly cleaner
  • PR #27797: (isbm) Zypper module clusterfix
  • PR #27849: (rallytime) Don't require a size parameter for proxmox profiles
  • PR #27827: (techhat) Add additional error checking to SPM
  • PR #27826: (martinhoefling) Fixes `#27825`_
  • PR #27824: (techhat) Update Azure errors
  • PR #27795: (eguven) better change reporting for postgres_user groups
  • PR #27799: (terminalmage) Fix usage of identity file in git.latest
  • PR #27717: (pass-by-value) Proxy beacon example
  • PR #27793: (anlutro) update code that changes log level of salt-ssh shim command
  • PR #27761: (terminalmage) Merge git pillar data instead of using dict.update()
  • PR #27741: (ticosax) [dockerng] pass filters argument to dockerng.ps
  • PR #27760: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
  • PR #27757: (jfindlay) fix virtual fcn return doc indentation
  • PR #27754: (rallytime) Change test.nop version directive to 2015.8.1
  • PR #27734: (jacobhammons) Updated saltstack2 theme to add SaltConf16 banner
  • PR #27727: (rallytime) Merge #27719 w/pylint fix
  • PR #27724: (jfindlay) update __virtual__ return documentation
  • PR #27725: (basepi) Fix global injection for state cross calls
  • PR #27628: (ticosax) [dockerng] Add support of labels parameter for dockerng
  • PR #27704: (jacobhammons) Update compound matcher docs to clarify the usage of alternate delimi…
  • PR #27705: (rallytime) Merge #27602 with final pylint fix
  • PR #27691: (notpeter) Faster timeout (3s vs 2min) for instance metadata lookups. `#13850`_.
  • PR #27696: (blueyed) loader.proxy: call _modules_dirs only once
  • PR #27630: (ticosax) Expose container_id in mine.get_docker
  • PR #27600: (blueyed) dockerng: use docker.version=auto by default
  • PR #27689: (rallytime) Merge #27448 with test fixes
  • PR #27693: (jacobhammons) initial engines topic, updates to windows repo docs
  • PR #27601: (blueyed) dockerng: handle None in container.Names
  • PR #27596: (blueyed) gitfs: fix UnboundLocalError for 'msg'
  • PR #27651: (eliasp) Check for existence of 'subnetId' key in subnet dict
  • PR #27639: (rallytime) Docement version added for new artifactory options
  • PR #27677: (rallytime) Back-port #27675 to 2015.8
  • PR #27637: (rallytime) Back-port #27604 to 2015.8
  • PR #27657: (garethgreenaway) Fix to pkg state module
  • PR #27632: (rallytime) Back-port #27539 to 2015.8
  • PR #27633: (rallytime) Back-port #27559 to 2015.8
  • PR #27579: (rallytime) Change boto_route53 region default to 'universal' to avoid problems with boto library
  • PR #27581: (tkwilliams) Add support for 'vpc_name' tag in boto_secgroup module and state
  • PR #27624: (nasenbaer13) Wait for sync is not passed to boto_route53 state
  • PR #27614: (blueyed) doc: minor fixes to doc and comments
  • PR #27627: (eyj) Fix crash in boto_asg.get_instances if the requested attribute is None
  • PR #27616: (jacobhammons) Updated windows software repository docs
  • PR #27569: (lomeroe) boto_vpc.get_subnet_association now returns a dict w/key of vpc_id, a…
  • PR #27567: (whiteinge) Use getattr to fetch psutil.version_info
  • PR #27583: (tkwilliams) Fixup zypper module
  • PR #27597: (blueyed) gitfs: remove unused variable "bad_per_remote_conf"
  • PR #27585: (ryan-lane) Fix undefined variable in cron state module