Merge branch '2016.11' into 'develop'

Conflicts:
  - pkg/windows/req_base.txt
  - salt/modules/ssh.py
This commit is contained in:
rallytime 2017-03-23 16:40:44 -06:00
commit dbf74330ec
8 changed files with 131 additions and 29 deletions

View File

@ -147,7 +147,7 @@ should be opened on our tracker_, with the following information:
Why aren't my custom modules/states/etc. available on my Minions?
-----------------------------------------------------------------
Custom modules are synced to Minions when
Custom modules are synced to Minions when
:mod:`saltutil.sync_modules <salt.modules.saltutil.sync_modules>`,
or :mod:`saltutil.sync_all <salt.modules.saltutil.sync_all>` is run.
Custom modules are also synced by :mod:`state.apply` when run without
@ -166,6 +166,11 @@ Other custom types (renderers, outputters, etc.) have similar behavior, see the
documentation for the :mod:`saltutil <salt.modules.saltutil>` module for more
information.
:ref:`This reactor example <minion-start-reactor>` can be used to automatically
sync custom types when the minion connects to the master, to help with this
chicken-and-egg issue.
Module ``X`` isn't available, even though the shell command it uses is installed. Why?
--------------------------------------------------------------------------------------

View File

@ -641,7 +641,7 @@ And in the master config file, add the following reactor configuration:
.. code-block:: yaml
reactor:
- 'minion_start':
- 'salt/minion/*/start':
- /srv/reactor/sync_grains.sls
This will cause the master to instruct each minion to sync its custom grains
@ -651,3 +651,8 @@ when it starts, making these grains available when the initial :ref:`highstate
Other types can be synced by replacing ``local.saltutil.sync_grains`` with
``local.saltutil.sync_modules``, ``local.saltutil.sync_all``, or whatever else
suits the intended use case.
Also, if it is not desirable that *every* minion syncs on startup, the ``*``
can be replaced with a different glob to narrow down the set of minions which
will match that reactor (e.g. ``salt/minion/appsrv*/start``, which would only
match minion IDs beginning with ``appsrv``).

View File

@ -6,21 +6,101 @@ Version 2016.3.6 is a bugfix release for :ref:`2016.3.0 <release-2016-3-0>`.
Changes for v2016.3.5..v2016.3.6
---------------------------------------------------------------
--------------------------------
Extended changelog courtesy of Todd Stansell (https://github.com/tjstansell/salt-changelogs):
*Generated at: 2017-03-20T21:43:28Z*
*Generated at: 2017-03-22T20:18:54Z*
Statistics:
- Total Merges: **108**
- Total Issue references: **51**
- Total PR references: **155**
- Total Merges: **118**
- Total Issue references: **53**
- Total PR references: **168**
Changes:
- **PR** `#39855`_: (*Foxlik*) Use regular expression instead of split when replacing authorized_keys
@ *2017-03-22T18:28:32Z*
- **ISSUE** `#39854`_: (*Foxlik*) quoted space in authorized_keys confuses ssh.py
| refs: `#39855`_
* c59ae9a Merge pull request `#39855`_ from Foxlik/use_regex_to_compare_authorized_keys
* d46845a Add newline at end of file
* d4a3c8a Use regular expression instead of split when replacing authorized_keys
- **PR** `#40221`_: (*rallytime*) Back-port `#39179`_ to 2016.3
@ *2017-03-22T17:40:34Z*
- **PR** `#39179`_: (*mcalmer*) fix error parsing
| refs: `#40221`_
* fd10430 Merge pull request `#40221`_ from rallytime/`bp-39179`_
* 07dc2de fix error parsing
- **PR** `#40206`_: (*cro*) Leave sign_pub_messages off by default.
@ *2017-03-22T16:43:03Z*
- **ISSUE** `#40203`_: (*frogunder*) 2016.3.6. Minion don't connect to older master.
| refs: `#40206`_
* a27a2cc Merge pull request `#40206`_ from cro/sign_pub_take2
* 01048de leave sign_pub_messages off on minion by default.
* a82b005 Leave sign_pub_messages off by default.
- **PR** `#40193`_: (*rallytime*) Back-port `#40117`_ to 2016.3
@ *2017-03-22T16:42:21Z*
- **PR** `#40117`_: (*narendraingale2*) Fix force remove
| refs: `#40193`_
* d1abb4c Merge pull request `#40193`_ from rallytime/`bp-40117`_
* cf18579 More optimization.
* 5a08266 Removed debug statemnt
* f557f7c Added fix for issue 39393
* bb62278 Reverting changes.
* a9107cd Added if condition for broken link.
- **PR** `#40196`_: (*twangboy*) Update dependencies for PyOpenSSL
@ *2017-03-22T16:40:46Z*
* 0f1ff4d Merge pull request `#40196`_ from twangboy/win_fix_deps
* 6761527 Update dependencies for PyOpenSSL
- **PR** `#40184`_: (*terminalmage*) Link to minion start reactor example from FAQ.
@ *2017-03-21T17:33:09Z*
* b050151 Merge pull request `#40184`_ from terminalmage/link-reactor-example
* a42be82 Link to minion start reactor example from FAQ.
- **PR** `#40182`_: (*terminalmage*) Add support for "stopped" state to dockerng's mod_watch
@ *2017-03-21T15:40:29Z*
* d4e6c58 Merge pull request `#40182`_ from terminalmage/dockerng-mod_watch-stopped
* 4629a26 Add support for "stopped" state to dockerng's mod_watch
- **PR** `#40171`_: (*Ch3LL*) additional PRs/issues for 2016.3.6 release notes
@ *2017-03-20T22:14:17Z*
* a0b4082 Merge pull request `#40171`_ from Ch3LL/2016.3.6_release
* 9c6d8d8 additional PRs/issues for 2016.3.6 release notes
- **PR** `#40120`_: (*sergeizv*) gce: Exclude GCENodeDriver objects from _expand_node result
@ *2017-03-20T21:44:42Z*
* 33ba782 Merge pull request `#40120`_ from sergeizv/gce-expand-node-fix
* 9d0fbe7 gce: Exclude GCENodeDriver objects from _expand_node result
- **PR** `#40122`_: (*meaksh*) Adding "pkg.install downloadonly=True" support to yum/dnf execution module
@ *2017-03-20T21:44:15Z*
* 4884397 Merge pull request `#40122`_ from meaksh/2016.3-yum-downloadonly-support
* 067f3f7 Adding downloadonly support to yum/dnf module
- **PR** `#40159`_: (*cro*) Turn on sign_pub_messages by default.
@ *2017-03-20T21:00:49Z*
@ -229,7 +309,7 @@ Changes:
- **PR** `#39791`_: (*gtmanfred*) load runners if role is master
@ *2017-03-02T19:43:41Z*
- **ISSUE** `#39333`_: (*jagguli*) Not Available error - Scheduling custom runner functions
- **ISSUE** `#39333`_: (*jagguli*) Not Available error - Scheduling custom runner functions
| refs: `#39791`_
- **ISSUE** `#38514`_: (*githubcdr*) Unable to schedule runners
| refs: `#39791`_
@ -554,7 +634,7 @@ Changes:
- **ISSUE** `#38595`_: (*yue9944882*) Redis ext job cache occurred error
| refs: `#38610`_ `#38610`_
- **PR** `#39299`_: (*rallytime*) Back-port `#38610`_ to 2016.3
- **PR** `#39299`_: (*rallytime*) Back-port `#38610`_ to 2016.3
- **PR** `#38610`_: (*yue9944882*) Fix `#38595`_ - Unexpected error log from redis retuner in master's log
| refs: `#39299`_
@ -1073,6 +1153,7 @@ Changes:
.. _`#39169`: https://github.com/saltstack/salt/issues/39169
.. _`#39170`: https://github.com/saltstack/salt/pull/39170
.. _`#39173`: https://github.com/saltstack/salt/pull/39173
.. _`#39179`: https://github.com/saltstack/salt/pull/39179
.. _`#39197`: https://github.com/saltstack/salt/pull/39197
.. _`#39199`: https://github.com/saltstack/salt/pull/39199
.. _`#39202`: https://github.com/saltstack/salt/pull/39202
@ -1150,6 +1231,8 @@ Changes:
.. _`#39819`: https://github.com/saltstack/salt/pull/39819
.. _`#39820`: https://github.com/saltstack/salt/pull/39820
.. _`#39826`: https://github.com/saltstack/salt/pull/39826
.. _`#39854`: https://github.com/saltstack/salt/issues/39854
.. _`#39855`: https://github.com/saltstack/salt/pull/39855
.. _`#39871`: https://github.com/saltstack/salt/pull/39871
.. _`#39899`: https://github.com/saltstack/salt/pull/39899
.. _`#39919`: https://github.com/saltstack/salt/pull/39919
@ -1175,12 +1258,25 @@ Changes:
.. _`#40059`: https://github.com/saltstack/salt/pull/40059
.. _`#40070`: https://github.com/saltstack/salt/pull/40070
.. _`#40090`: https://github.com/saltstack/salt/pull/40090
.. _`#40117`: https://github.com/saltstack/salt/pull/40117
.. _`#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
.. _`#40159`: https://github.com/saltstack/salt/pull/40159
.. _`#40171`: https://github.com/saltstack/salt/pull/40171
.. _`#40182`: https://github.com/saltstack/salt/pull/40182
.. _`#40184`: https://github.com/saltstack/salt/pull/40184
.. _`#40193`: https://github.com/saltstack/salt/pull/40193
.. _`#40196`: https://github.com/saltstack/salt/pull/40196
.. _`#40203`: https://github.com/saltstack/salt/issues/40203
.. _`#40206`: https://github.com/saltstack/salt/pull/40206
.. _`#40221`: https://github.com/saltstack/salt/pull/40221
.. _`bp-37632`: https://github.com/saltstack/salt/pull/37632
.. _`bp-39170`: https://github.com/saltstack/salt/pull/39170
.. _`bp-39179`: https://github.com/saltstack/salt/pull/39179
.. _`bp-40056`: https://github.com/saltstack/salt/pull/40056
.. _`bp-40117`: https://github.com/saltstack/salt/pull/40117
.. _`fix-2016`: https://github.com/saltstack/salt/issues/2016
.. _`fix-34780`: https://github.com/saltstack/salt/issues/34780
.. _`fix-38762`: https://github.com/saltstack/salt/issues/38762

View File

@ -1,16 +1,17 @@
backports-abc==0.4
backports.ssl-match-hostname==3.5.0.1
certifi
cffi==1.7.0
cffi==1.10.0
CherryPy==7.1.0
cryptography==1.8.1
enum34==1.1.6
futures==3.0.5
gitdb==0.6.4
GitPython==2.0.8
idna==2.1
idna==2.5
ioflo==1.5.5
ioloop==0.1a0
ipaddress==1.0.16
ipaddress==1.0.18
Jinja2==2.9.4
libnacl==1.4.5
Mako==1.0.4
@ -18,10 +19,10 @@ MarkupSafe==0.23
msgpack-python==0.4.8
psutil==4.3.0
pyasn1==0.1.9
pycparser==2.14
pycparser==2.17
pycurl==7.43.0
PyMySQL==0.7.6
pyOpenSSL==16.1.0
pyOpenSSL==16.2.0
python-dateutil==2.5.3
python-gnupg==0.3.8
pyzmq==16.0.1

View File

@ -2665,9 +2665,11 @@ def create(vm_=None, call=None):
transport=__opts__['transport']
)
set_tags(
vm_['name'],
tags,
salt.utils.cloud.wait_for_fun(
set_tags,
timeout=30,
name=vm_['name'],
tags=tags,
instance_id=vm_['instance_id'],
call='action',
location=location

View File

@ -1032,7 +1032,7 @@ DEFAULT_MINION_OPTS = {
'master_failback': False,
'master_failback_interval': 0,
'verify_master_pubkey_sign': False,
'sign_pub_messages': True,
'sign_pub_messages': False,
'always_verify_signature': False,
'master_sign_key_name': 'master_sign',
'syndic_finger': '',
@ -1576,7 +1576,7 @@ DEFAULT_MASTER_OPTS = {
DEFAULT_PROXY_MINION_OPTS = {
'conf_file': os.path.join(salt.syspaths.CONFIG_DIR, 'proxy'),
'log_file': os.path.join(salt.syspaths.LOGS_DIR, 'proxy'),
'sign_pub_messages': True,
'sign_pub_messages': False,
'add_proxymodule_to_opts': False,
'proxy_merge_grains_in_module': True,
'append_minionid_config_dirs': ['cachedir', 'pidfile'],

View File

@ -155,15 +155,8 @@ def _replace_auth_key(
# Commented Line
lines.append(line)
continue
comps = line.split()
if len(comps) < 2:
# Not a valid line
lines.append(line)
continue
key_ind = 1
while comps[key_ind - 1][:4:] not in ['ssh-', 'ecds'] and key_ind < len(comps):
key_ind += 1
if comps[key_ind] == key:
comps = re.findall(r'((.*)\s)?(ssh-[a-z0-9-]+|ecdsa-[a-z0-9-]+)\s([a-zA-Z0-9+/]+={0,2})(\s(.*))?', line)
if comps[0][3] == key:
lines.append(auth_line)
else:
lines.append(line)

View File

@ -205,7 +205,7 @@ def _get_sysv_services():
try:
sysv_services = os.listdir(INITSCRIPT_PATH)
except OSError as exc:
if exc.errno == errno.EEXIST:
if exc.errno == errno.ENOENT:
pass
elif exc.errno == errno.EACCES:
log.error(