Merge branch '2018.3' into 'fluorine'

No conflicts.
This commit is contained in:
rallytime 2018-09-05 09:41:04 -04:00
commit 862c44c036
No known key found for this signature in database
GPG Key ID: E8F1A4B90D0DEA19
5 changed files with 14 additions and 22 deletions

View File

@ -32,20 +32,9 @@ possible solution or implementation.
- ``Blocked`` - The issue is waiting on actions by parties outside of
SaltStack, such as receiving more information from the submitter or
resolution of an upstream issue. This milestone is usually applied in
conjunction with the labels ``Info Needed``, ``Question``, ``Expected
Behavior``, ``Won't Fix For Now``, or ``Upstream Bug``.
- ``Under Review`` - The issue is having further validation done by a SaltStack
engineer.
- ``<Sprint>`` - The issue is being actively worked on by a SaltStack engineer.
Sprint milestones names are constructed from the chemical symbol of the next
release's codename and the number of sprints until that release is made. For
example, if the next release codename is ``Neon`` and there are five sprints
until that release, the corresponding sprint milestone will be called ``Ne
5``. See :ref:`here <version-numbers>` for a discussion of Salt's release
codenames.
resolution of an upstream issue. This milestone is usually applied in
conjunction with the labels ``Info Needed``, ``Question``,
``Expected Behavior``, ``Won't Fix For Now``, or ``Upstream Bug``.
Labels
======

View File

@ -446,7 +446,7 @@ class SSH(object):
if target.get('passwd', False) or self.opts['ssh_passwd']:
self._key_deploy_run(host, target, False)
return ret
if (ret[host].get('stderr') or '').count('Permission denied'):
if ret[host].get('stderr', '').count('Permission denied'):
target = self.targets[host]
# permission denied, attempt to auto deploy ssh key
print(('Permission denied for host {0}, do you want to deploy '

View File

@ -66,13 +66,15 @@ passed in as a dict, or as a string to pull from pillars or minion config:
# Import Python Libs
from __future__ import absolute_import, print_function, unicode_literals
import logging
import uuid
# Import Salt Libs
import salt.utils.dictupdate as dictupdate
from salt.utils import exactly_one
from salt.ext.six.moves import range
from salt.exceptions import SaltInvocationError
import logging
import salt.utils.data
import salt.utils.dictupdate
log = logging.getLogger(__name__) # pylint: disable=W1699
@ -143,7 +145,7 @@ def hosted_zone_present(name, Name=None, PrivateZone=False,
if not isinstance(VPCs, list):
raise SaltInvocationError("Parameter 'VPCs' must be a list of dicts.")
for v in VPCs:
if not isinstance(v, dict) or not exactly_one((v.get('VPCId'), v.get('VPCName'))):
if not isinstance(v, dict) or not salt.utils.data.exactly_one((v.get('VPCId'), v.get('VPCName'))):
raise SaltInvocationError("Parameter 'VPCs' must be a list of dicts, each composed "
"of either a 'VPCId' or a 'VPCName', and optionally a "
"'VPCRegion', to help distinguish between multitple matches.")
@ -251,7 +253,7 @@ def hosted_zone_present(name, Name=None, PrivateZone=False,
log.info(msg)
ret['comment'] = ' '.join([ret['comment'], msg])
ret['changes']['old'] = zone
ret['changes']['new'] = dictupdate.update(ret['changes'].get('new', {}), r)
ret['changes']['new'] = salt.utils.dictupdate.update(ret['changes'].get('new', {}), r)
else:
ret['comment'] = 'Update of Route 53 {} hosted zone {} comment failed'.format('private'
if PrivateZone else 'public', Name)

View File

@ -667,4 +667,4 @@ class CPModuleTest(ModuleCase):
os.unlink(tgt_cache_file)
def test_envs(self):
self.assertEqual(self.run_function('cp.envs'), ['base', 'prod'])
self.assertEqual(sorted(self.run_function('cp.envs')), sorted(['base', 'prod']))

View File

@ -6,12 +6,13 @@ from __future__ import absolute_import
# Import Salt Testing libs
from tests.support.case import ModuleCase
from tests.support.unit import skipIf
from tests.support.helpers import destructiveTest
from tests.support.helpers import destructiveTest, flaky
# Import Salt Libs
import salt.utils.platform
@flaky
@skipIf(not salt.utils.platform.is_windows(), 'Tests for only Windows')
class NTPTest(ModuleCase):
'''