ソースを参照

Hack to make rendering work on CentOS 6

!!   Not tested with an actual   !!
 !!  configured `ext_pillar` yet  !!

- jinja on RHEL/CentOS 6 has no 'mapping'
  test (see salt-formula issue #193)
- {% do ... %} allows no assignment, only
  function calls
- of course, `type(foo) is dict` doesn't
  work because it's no jinja test
- maybe `.isinstance()` would be nicer/more
  reliable
master
Florian Ermisch 7年前
コミット
5327e921fe
1個のファイルの変更8行の追加3行の削除
  1. +8
    -3
      salt/files/master.d/f_defaults.conf

+ 8
- 3
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 %}

読み込み中…
キャンセル
保存