mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge pull request #44202 from rallytime/merge-2017.7
[2017.7] Merge forward from 2016.11 to 2017.7
This commit is contained in:
commit
85c0ef493f
6 changed files with 55 additions and 43 deletions
|
@ -493,10 +493,17 @@ def update_parameter_group(name, parameters, apply_method="pending-reboot",
|
|||
|
||||
param_list = []
|
||||
for key, value in six.iteritems(parameters):
|
||||
item = (key, value, apply_method)
|
||||
item = odict.OrderedDict()
|
||||
item.update({'ParameterName': key})
|
||||
item.update({'ApplyMethod': apply_method})
|
||||
if type(value) is bool:
|
||||
item.update({'ParameterValue': 'on' if value else 'off'})
|
||||
else:
|
||||
item.update({'ParameterValue': str(value)})
|
||||
param_list.append(item)
|
||||
if not len(param_list):
|
||||
return {'results': False}
|
||||
|
||||
if not len(param_list):
|
||||
return {'results': False}
|
||||
|
||||
try:
|
||||
conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)
|
||||
|
@ -779,6 +786,7 @@ def describe_parameters(name, Source=None, MaxRecords=None, Marker=None,
|
|||
'message': 'Could not establish a connection to RDS'}
|
||||
|
||||
kwargs = {}
|
||||
kwargs.update({'DBParameterGroupName': name})
|
||||
for key in ('Marker', 'Source'):
|
||||
if locals()[key] is not None:
|
||||
kwargs[key] = str(locals()[key])
|
||||
|
@ -786,26 +794,23 @@ def describe_parameters(name, Source=None, MaxRecords=None, Marker=None,
|
|||
if locals()['MaxRecords'] is not None:
|
||||
kwargs['MaxRecords'] = int(locals()['MaxRecords'])
|
||||
|
||||
r = conn.describe_db_parameters(DBParameterGroupName=name, **kwargs)
|
||||
pag = conn.get_paginator('describe_db_parameters')
|
||||
pit = pag.paginate(**kwargs)
|
||||
|
||||
if not r:
|
||||
return {'result': False,
|
||||
'message': 'Failed to get RDS parameters for group {0}.'
|
||||
.format(name)}
|
||||
|
||||
results = r['Parameters']
|
||||
keys = ['ParameterName', 'ParameterValue', 'Description',
|
||||
'Source', 'ApplyType', 'DataType', 'AllowedValues',
|
||||
'IsModifieable', 'MinimumEngineVersion', 'ApplyMethod']
|
||||
|
||||
parameters = odict.OrderedDict()
|
||||
ret = {'result': True}
|
||||
for result in results:
|
||||
data = odict.OrderedDict()
|
||||
for k in keys:
|
||||
data[k] = result.get(k)
|
||||
|
||||
parameters[result.get('ParameterName')] = data
|
||||
for p in pit:
|
||||
for result in p['Parameters']:
|
||||
data = odict.OrderedDict()
|
||||
for k in keys:
|
||||
data[k] = result.get(k)
|
||||
|
||||
parameters[result.get('ParameterName')] = data
|
||||
|
||||
ret['parameters'] = parameters
|
||||
return ret
|
||||
|
|
|
@ -1388,7 +1388,7 @@ def _parse_settings_eth(opts, iface_type, enabled, iface):
|
|||
for opt in ['up_cmds', 'pre_up_cmds', 'post_up_cmds',
|
||||
'down_cmds', 'pre_down_cmds', 'post_down_cmds']:
|
||||
if opt in opts:
|
||||
iface_data['inet'][opt] = opts[opt]
|
||||
iface_data[def_addrfam][opt] = opts[opt]
|
||||
|
||||
for addrfam in ['inet', 'inet6']:
|
||||
if 'addrfam' in iface_data[addrfam] and iface_data[addrfam]['addrfam'] == addrfam:
|
||||
|
|
|
@ -1414,24 +1414,26 @@ def install(name=None,
|
|||
to_install.append((pkgname, pkgstr))
|
||||
break
|
||||
else:
|
||||
if re.match('kernel(-.+)?', name):
|
||||
# kernel and its subpackages support multiple
|
||||
# installs as their paths do not conflict.
|
||||
# Performing a yum/dnf downgrade will be a no-op
|
||||
# so just do an install instead. It will fail if
|
||||
# there are other interdependencies that have
|
||||
# conflicts, and that's OK. We don't want to force
|
||||
# anything, we just want to properly handle it if
|
||||
# someone tries to install a kernel/kernel-devel of
|
||||
# a lower version than the currently-installed one.
|
||||
# TODO: find a better way to determine if a package
|
||||
# supports multiple installs.
|
||||
to_install.append((pkgname, pkgstr))
|
||||
else:
|
||||
# None of the currently-installed versions are
|
||||
# greater than the specified version, so this is a
|
||||
# downgrade.
|
||||
to_downgrade.append((pkgname, pkgstr))
|
||||
if pkgname is not None:
|
||||
if re.match('kernel(-.+)?', pkgname):
|
||||
# kernel and its subpackages support multiple
|
||||
# installs as their paths do not conflict.
|
||||
# Performing a yum/dnf downgrade will be a
|
||||
# no-op so just do an install instead. It will
|
||||
# fail if there are other interdependencies
|
||||
# that have conflicts, and that's OK. We don't
|
||||
# want to force anything, we just want to
|
||||
# properly handle it if someone tries to
|
||||
# install a kernel/kernel-devel of a lower
|
||||
# version than the currently-installed one.
|
||||
# TODO: find a better way to determine if a
|
||||
# package supports multiple installs.
|
||||
to_install.append((pkgname, pkgstr))
|
||||
else:
|
||||
# None of the currently-installed versions are
|
||||
# greater than the specified version, so this
|
||||
# is a downgrade.
|
||||
to_downgrade.append((pkgname, pkgstr))
|
||||
|
||||
def _add_common_args(cmd):
|
||||
'''
|
||||
|
|
|
@ -687,7 +687,10 @@ def parameter_present(name, db_parameter_group_family, description, parameters=N
|
|||
changed = {}
|
||||
for items in parameters:
|
||||
for k, value in items.items():
|
||||
params[k] = value
|
||||
if type(value) is bool:
|
||||
params[k] = 'on' if value else 'off'
|
||||
else:
|
||||
params[k] = str(value)
|
||||
logging.debug('Parameters from user are : {0}.'.format(params))
|
||||
options = __salt__['boto_rds.describe_parameters'](name=name, region=region, key=key, keyid=keyid, profile=profile)
|
||||
if not options.get('result'):
|
||||
|
@ -695,8 +698,8 @@ def parameter_present(name, db_parameter_group_family, description, parameters=N
|
|||
ret['comment'] = os.linesep.join([ret['comment'], 'Faled to get parameters for group {0}.'.format(name)])
|
||||
return ret
|
||||
for parameter in options['parameters'].values():
|
||||
if parameter['ParameterName'] in params and str(params.get(parameter['ParameterName'])) != str(parameter['ParameterValue']):
|
||||
logging.debug('Values that are being compared are {0}:{1} .'.format(params.get(parameter['ParameterName']), parameter['ParameterValue']))
|
||||
if parameter['ParameterName'] in params and params.get(parameter['ParameterName']) != str(parameter['ParameterValue']):
|
||||
logging.debug('Values that are being compared for {0} are {1}:{2} .'.format(parameter['ParameterName'], params.get(parameter['ParameterName']), parameter['ParameterValue']))
|
||||
changed[parameter['ParameterName']] = params.get(parameter['ParameterName'])
|
||||
if len(changed) > 0:
|
||||
if __opts__['test']:
|
||||
|
@ -705,9 +708,9 @@ def parameter_present(name, db_parameter_group_family, description, parameters=N
|
|||
return ret
|
||||
update = __salt__['boto_rds.update_parameter_group'](name, parameters=changed, apply_method=apply_method, tags=tags, region=region,
|
||||
key=key, keyid=keyid, profile=profile)
|
||||
if not update:
|
||||
if 'error' in update:
|
||||
ret['result'] = False
|
||||
ret['comment'] = os.linesep.join([ret['comment'], 'Failed to change parameters {0} for group {1}.'.format(changed, name)])
|
||||
ret['comment'] = os.linesep.join([ret['comment'], 'Failed to change parameters {0} for group {1}:'.format(changed, name), update['error']['message']])
|
||||
return ret
|
||||
ret['changes']['Parameters'] = changed
|
||||
ret['comment'] = os.linesep.join([ret['comment'], 'Parameters {0} for group {1} are changed.'.format(changed, name)])
|
||||
|
|
|
@ -578,10 +578,9 @@ class CkMinions(object):
|
|||
if search is None:
|
||||
return minions
|
||||
addrs = salt.utils.network.local_port_tcp(int(self.opts['publish_port']))
|
||||
if '127.0.0.1' in addrs or '0.0.0.0' in addrs:
|
||||
# Add in possible ip addresses of a locally connected minion
|
||||
if '127.0.0.1' in addrs:
|
||||
# Add in the address of a possible locally-connected minion.
|
||||
addrs.discard('127.0.0.1')
|
||||
addrs.discard('0.0.0.0')
|
||||
addrs.update(set(salt.utils.network.ip_addrs(include_loopback=include_localhost)))
|
||||
if subset:
|
||||
search = subset
|
||||
|
|
|
@ -279,7 +279,10 @@ def vb_get_network_addresses(machine_name=None, machine=None):
|
|||
# We can't trust virtualbox to give us up to date guest properties if the machine isn't running
|
||||
# For some reason it may give us outdated (cached?) values
|
||||
if machine.state == _virtualboxManager.constants.MachineState_Running:
|
||||
total_slots = int(machine.getGuestPropertyValue('/VirtualBox/GuestInfo/Net/Count'))
|
||||
try:
|
||||
total_slots = int(machine.getGuestPropertyValue('/VirtualBox/GuestInfo/Net/Count'))
|
||||
except ValueError:
|
||||
total_slots = 0
|
||||
for i in range(total_slots):
|
||||
try:
|
||||
address = machine.getGuestPropertyValue('/VirtualBox/GuestInfo/Net/{0}/V4/IP'.format(i))
|
||||
|
|
Loading…
Add table
Reference in a new issue