diff options
author | Thomas Wiest <twiest@users.noreply.github.com> | 2015-06-29 15:41:28 -0400 |
---|---|---|
committer | Thomas Wiest <twiest@users.noreply.github.com> | 2015-06-29 15:41:28 -0400 |
commit | a27076bee3e8f93681f5d5e1c4b072084f6847b6 (patch) | |
tree | 4ee6293daf334a825e9fcf1caa71ce42189a621d /filter_plugins | |
parent | accd98845aac3e271295e3115501b25e6d72b114 (diff) | |
parent | cde074730ed8278673498157008651d192c8236a (diff) | |
download | openshift-a27076bee3e8f93681f5d5e1c4b072084f6847b6.tar.gz openshift-a27076bee3e8f93681f5d5e1c4b072084f6847b6.tar.bz2 openshift-a27076bee3e8f93681f5d5e1c4b072084f6847b6.tar.xz openshift-a27076bee3e8f93681f5d5e1c4b072084f6847b6.zip |
Merge pull request #309 from brenton/manage_node
delegate_to doesn't appear to be thread safe
Diffstat (limited to 'filter_plugins')
-rw-r--r-- | filter_plugins/oo_filters.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/filter_plugins/oo_filters.py b/filter_plugins/oo_filters.py index b7248efaa..0f3f4fa9e 100644 --- a/filter_plugins/oo_filters.py +++ b/filter_plugins/oo_filters.py @@ -52,8 +52,9 @@ class FilterModule(object): @staticmethod def oo_collect(data, attribute=None, filters=None): ''' This takes a list of dict and collects all attributes specified into a - list If filter is specified then we will include all items that match - _ALL_ of filters. + list. If filter is specified then we will include all items that + match _ALL_ of filters. If a dict entry is missing the key in a + filter it will be excluded from the match. Ex: data = [ {'a':1, 'b':5, 'z': 'z'}, # True, return {'a':2, 'z': 'z'}, # True, return {'a':3, 'z': 'z'}, # True, return @@ -74,7 +75,7 @@ class FilterModule(object): raise errors.AnsibleFilterError("|fialed expects filter to be a" " dict") retval = [FilterModule.get_attr(d, attribute) for d in data if ( - all([d[key] == filters[key] for key in filters]))] + all([d.get(key, None) == filters[key] for key in filters]))] else: retval = [FilterModule.get_attr(d, attribute) for d in data] |