Pass in a list as final arg to cloud.filter_event utils call

The third argument that is passed to the salt.utils.cloud.filter_event
function is supposed to be a list. Most of the places calling this function
were using `foo.keys()`, which returns a list in PY2. But, in PY3, this
is a dictionary view.

This change updates the places where `filter_event` is using `.keys()` and
instead wraps the dict with list(). It also adds some extra type checking
in the filter_event function in case a list is not passed in.
This commit is contained in:
rallytime 2017-06-01 12:50:42 -06:00
parent 5295ff2a50
commit 655e5fa1d3
20 changed files with 27 additions and 21 deletions

View file

@ -655,7 +655,7 @@ def create(vm_):
'event',
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args=__utils__['cloud.filter_event']('requesting', kwargs, kwargs.keys()),
args=__utils__['cloud.filter_event']('requesting', kwargs, list(kwargs)),
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']
)

View file

@ -432,7 +432,7 @@ def create(vm_):
'event',
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args=__utils__['cloud.filter_event']('requesting', kwargs, kwargs.keys()),
args=__utils__['cloud.filter_event']('requesting', kwargs, list(keys)),
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']
)

View file

@ -257,7 +257,7 @@ def create(vm_):
'event',
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args=__utils__['cloud.filter_event']('requesting', event_data, event_data.keys()),
args=__utils__['cloud.filter_event']('requesting', event_data, list(event_data)),
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']
)

View file

@ -126,7 +126,7 @@ def create(vm_):
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', create_kwargs, create_kwargs.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', create_kwargs, list(create_kwargs)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']

View file

@ -290,7 +290,7 @@ def create(vm_):
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, kwargs.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, list(kwargs)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']

View file

@ -339,7 +339,7 @@ def create(vm_):
'requesting instance',
'salt/cloud/{0}/requesting'.format(name),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, kwargs.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, list(kwargs)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']

View file

@ -538,7 +538,7 @@ def create(vm_):
'event',
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args=__utils__['cloud.filter_event']('requesting', event_kwargs, event_kwargs.keys()),
args=__utils__['cloud.filter_event']('requesting', event_kwargs, list(event_kwargs)),
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']
)

View file

@ -686,7 +686,7 @@ def request_instance(vm_=None, call=None):
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', event_kwargs, event_kwargs.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', event_kwargs, list(event_kwargs)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']
@ -1054,7 +1054,7 @@ def create(vm_):
'event',
'created instance',
'salt/cloud/{0}/created'.format(vm_['name']),
args=__utils__['cloud.filter_event']('created', event_data, event_data.keys()),
args=__utils__['cloud.filter_event']('created', event_data, list(event_data)),
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']
)

View file

@ -1029,7 +1029,7 @@ def create(vm_):
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, kwargs.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, list(kwargs)),
},
sock_dir=__opts__['sock_dir'],
)

View file

@ -556,7 +556,7 @@ def request_instance(vm_=None, call=None):
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', event_kwargs, event_kwargs.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', event_kwargs, list(event_kwargs)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']

View file

@ -258,7 +258,7 @@ def create_node(vm_):
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', data, data.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', data, list(data)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']

View file

@ -762,7 +762,7 @@ def create_node(vm_, newid):
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', newnode, newnode.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', newnode, list(newnode)),
},
sock_dir=__opts__['sock_dir'],
)

View file

@ -694,7 +694,7 @@ def create(vm_):
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', params, params.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', params, list(params)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']

View file

@ -246,7 +246,7 @@ def create(server_):
'requesting instance',
'salt/cloud/{0}/requesting'.format(server_['name']),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, kwargs.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, list(kwargs)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']

View file

@ -373,7 +373,7 @@ def create(vm_):
'requesting instance',
'salt/cloud/{0}/requesting'.format(name),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, kwargs.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, list(kwargs)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']

View file

@ -326,7 +326,7 @@ def create(vm_):
'requesting instance',
'salt/cloud/{0}/requesting'.format(name),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, kwargs.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, list(kwargs)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']

View file

@ -155,7 +155,7 @@ def create(vm_info):
'event',
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_info['name']),
args=__utils__['cloud.filter_event']('requesting', request_kwargs, request_kwargs.keys()),
args=__utils__['cloud.filter_event']('requesting', request_kwargs, list(request_kwargs)),
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']
)
@ -181,7 +181,7 @@ def create(vm_info):
'event',
'created machine',
'salt/cloud/{0}/created'.format(vm_info['name']),
args=__utils__['cloud.filter_event']('created', vm_result, vm_result.keys()),
args=__utils__['cloud.filter_event']('created', vm_result, list(vm_result)),
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']
)

View file

@ -2648,7 +2648,7 @@ def create(vm_):
'event',
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args=__utils__['cloud.filter_event']('requesting', event_kwargs, event_kwargs.keys()),
args=__utils__['cloud.filter_event']('requesting', event_kwargs, list(event_kwargs)),
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport']
)

View file

@ -284,7 +284,7 @@ def create(vm_):
'requesting instance',
'salt/cloud/{0}/requesting'.format(vm_['name']),
args={
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, kwargs.keys()),
'kwargs': __utils__['cloud.filter_event']('requesting', kwargs, list(kwargs)),
},
sock_dir=__opts__['sock_dir'],
transport=__opts__['transport'],

View file

@ -1756,6 +1756,12 @@ def filter_event(tag, data, defaults):
if use_defaults is False:
defaults = []
# For PY3, if something like ".keys()" or ".values()" is used on a dictionary,
# it returns a dict_view and not a list like in PY2. "defaults" should be passed
# in with the correct data type, but don't stack-trace in case it wasn't.
if not isinstance(defaults, list):
defaults = list(defaults)
defaults = list(set(defaults + keys))
for key in defaults: