diff --git a/salt/files/master.d/f_defaults.conf b/salt/files/master.d/f_defaults.conf index 39c0ad3..fac82fe 100644 --- a/salt/files/master.d/f_defaults.conf +++ b/salt/files/master.d/f_defaults.conf @@ -960,18 +960,23 @@ pillar_roots: {% if 'ext_pillar' in cfg_master %} {%- do default_keys.append('ext_pillar') %} +{#- workaround for missing mapping test in CentOS 6, part A #} +{%- set is_mapping = {} %} ext_pillar: {%- for pillar in cfg_master['ext_pillar'] -%} {%- for key in pillar -%} {%- if pillar[key] is string %} - {{ key }}: {{ pillar[key] }} - {%- elif pillar[key] is iterable and pillar[key] is not mapping %} + {#- workaround for missing mapping test in CentOS 6, part B #} + {%- do is_mapping.update({key: type(pillar[key]) == type({})}) %} + {%- elif pillar[key] is iterable and not is_mapping[key] %} - {{ key }}: {%- for parameter in pillar[key] %} - {{ parameter }} {%- endfor -%} - {%- elif pillar[key] is mapping and pillar[key] is not string %} - - {{ key }}: + {#- workaround for missing mapping test in CentOS 6, part C #} + {%- elif is_mapping[key] and pillar[key] is not string %} + - {{ key }}: {%- for parameter in pillar[key] %} {{ parameter }}: {{pillar[key][parameter]}} {%- endfor %}