在 saltstack 中使用 jinja 和 pillars.get() // 过滤器工作不如预期
Working with jinja and pillars.get() in saltstack // Filter works not as expected
我在 bash 命令行和 pillar.get() 的 SLS 文件中有不同的结果。
在命令行中我收到了预期的结果。
salt-master:/srv/pillar # salt salt-minion2 pillar.get mqobjdetails
salt-minion2:
----------
QM200@QLOCAL@LQ2:
----------
DEFPSIST:
NO
GET:
ENABLED
MAXDEPTH:
5000
MAXMSGL:
4194304
MONQ:
QMGR
QM200@QMGR@QM200:
----------
DEADQ:
MAXMSGL:
4194304
MONCHL:
OFF
MONQ:
OFF
并带有过滤器
salt-master:/srv/pillar # salt salt-minion2 pillar.get mqobjdetails:QM200@QLOCAL@LQ2
salt-minion2:
----------
DEFPSIST:
NO
GET:
ENABLED
MAXDEPTH:
5000
MAXMSGL:
4194304
MONQ:
QMGR
当我使用以下 jinja 循环语句在状态文件中尝试同样的事情时
{% for objkey, parameters in pillar.get('mqobjdetails', { } ).items() %}
循环按预期工作。
当我尝试使用附加过滤器时
{% for name, value in pillar.get("mqobjdetails:QM200@QMGR@LQ2", { } ).items() %}
循环永远不会 运行 通过。所以在这种情况下我似乎得到了一个空集。
我做错了什么?有人可以帮帮我吗?
我刚刚在文档中找到了答案。
有一个注释,比较了 pillar.get() 和 salt'pillar.get'.
好吧,当我使用类似
的东西时
{% for name, value in salt['pillar.get']('mqobjdetails:' ~ foo, { } ).items() %}
我得到了预期的结果。
我仍然不喜欢这个想法,即相同的函数具有不同的行为。
我在 bash 命令行和 pillar.get() 的 SLS 文件中有不同的结果。
在命令行中我收到了预期的结果。
salt-master:/srv/pillar # salt salt-minion2 pillar.get mqobjdetails
salt-minion2:
----------
QM200@QLOCAL@LQ2:
----------
DEFPSIST:
NO
GET:
ENABLED
MAXDEPTH:
5000
MAXMSGL:
4194304
MONQ:
QMGR
QM200@QMGR@QM200:
----------
DEADQ:
MAXMSGL:
4194304
MONCHL:
OFF
MONQ:
OFF
并带有过滤器
salt-master:/srv/pillar # salt salt-minion2 pillar.get mqobjdetails:QM200@QLOCAL@LQ2
salt-minion2:
----------
DEFPSIST:
NO
GET:
ENABLED
MAXDEPTH:
5000
MAXMSGL:
4194304
MONQ:
QMGR
当我使用以下 jinja 循环语句在状态文件中尝试同样的事情时
{% for objkey, parameters in pillar.get('mqobjdetails', { } ).items() %}
循环按预期工作。
当我尝试使用附加过滤器时
{% for name, value in pillar.get("mqobjdetails:QM200@QMGR@LQ2", { } ).items() %}
循环永远不会 运行 通过。所以在这种情况下我似乎得到了一个空集。
我做错了什么?有人可以帮帮我吗?
我刚刚在文档中找到了答案。
有一个注释,比较了 pillar.get() 和 salt'pillar.get'.
好吧,当我使用类似
的东西时{% for name, value in salt['pillar.get']('mqobjdetails:' ~ foo, { } ).items() %}
我得到了预期的结果。
我仍然不喜欢这个想法,即相同的函数具有不同的行为。