Merge branch '2017.7' into '2018.3'

Conflicts:
  - pkg/windows/build_env_2.ps1
  - pkg/windows/req.txt
  - salt/_compat.py
  - salt/engines/slack.py
  - salt/modules/dockermod.py
  - salt/modules/git.py
  - salt/modules/heat.py
  - salt/modules/incron.py
  - salt/modules/lxc.py
  - salt/modules/memcached.py
  - salt/modules/network.py
  - salt/modules/nspawn.py
  - salt/modules/saltutil.py
  - salt/modules/win_network.py
  - salt/modules/yumpkg.py
  - salt/serializers/yaml.py
  - salt/states/heat.py
  - salt/states/module.py
  - salt/states/rabbitmq_policy.py
  - salt/states/virtualenv_mod.py
  - salt/states/win_system.py
  - salt/utils/master.py
  - tests/integration/cli/test_batch.py
  - tests/support/case.py
This commit is contained in:
Ch3LL 2019-02-15 14:38:26 -05:00
commit 547889b375
No known key found for this signature in database
GPG key ID: 132B55A7C13EFA73
4 changed files with 17 additions and 2 deletions

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>Label</key>
<string>salt-minion</string>
<string>com.saltstack.salt.minion</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>

View file

@ -341,6 +341,16 @@ class Minion(salt.utils.parsers.MinionOptionParser, DaemonsMixin): # pylint: di
NOTE: Run any required code before calling `super()`.
'''
super(Minion, self).start()
while True:
try:
self._real_start()
except SaltClientError as exc:
# Restart for multi_master failover when daemonized
if self.options.daemon:
continue
break
def _real_start(self):
try:
if check_user(self.config['user']):
self.action_log_info('Starting up')

View file

@ -42,6 +42,7 @@ def __virtual__():
else (False, 'python-logstash not installed')
log = logging.getLogger(__name__)

View file

@ -22,6 +22,7 @@ from __future__ import absolute_import, unicode_literals, print_function
# Import python libs
import logging
import salt.utils.path
import json
log = logging.getLogger(__name__)
@ -69,7 +70,10 @@ def present(name,
if policy:
if policy.get('pattern') != pattern:
updates.append('Pattern')
if policy.get('definition') != definition:
current_definition = policy.get('definition')
current_definition = json.loads(current_definition) if current_definition else ''
new_definition = json.loads(definition) if definition else ''
if current_definition != new_definition:
updates.append('Definition')
if apply_to and (policy.get('apply-to') != apply_to):
updates.append('Applyto')