gpt4 book ai didi

templates - Jinja 注释掉命令会破坏模板

转载 作者:行者123 更新时间:2023-12-04 11:01:56 24 4
gpt4 key购买 nike

嗨,我觉得我需要为我现在挣扎了几个小时的事情提供答案。我希望有一天这对某人有所帮助。

我一直在尝试自动化 Ansible 部署的模板:

库存内容:

[splunk_license]
10.10.113.209

[splunk_master]

[splunk_search]
10.10.113.209

[splunk_indexer]
10.10.113.234

我的模板有基于是否 的逻辑splunk_master 组是否定义了主机。

原始代码:
{% if inventory_hostname in groups['splunk_indexer'] and 
groups['splunk_master']|length > 0 %}
#{% if blah blah blah blah...%}
# CUSTOMER INDEXES go to $SPLUNK_HOME/etc/master-apps/_cluster/local/indexes.conf
# on Master node

{% elif inventory_hostname in groups['splunk_master'] %}
#{% if some other blah blah blah blah...%}
# CUSTOMER INDEXES go to $SPLUNK_HOME/etc/master-apps/_cluster/local/indexes.conf

{% else %}
# CUSTOMER INDEXES

[nothing]
coldToFrozenDir = $SPLUNK_DB/frozen/nothing/frozendb
thawedPath = $SPLUNK_DB/hotwarm/nothing/thaweddb
coldPath = volume:secondary/nothing/colddb
homePath = volume:primary/nothing/db
{% endif %}

无论我做了什么,我都无法在 {% else %} 工作后得到底部。
事实证明,注释掉 '#' 实际上并不会导致该行被忽略,这是我出于测试目的而使用的,因为我厌倦了一遍又一遍地输入内容。

我试图从星期天开始修改我的(未注释的)if 语句,我要么只得到模板的顶部,一个提示意外的“elif”或组未找到错误的 ansible 错误。

最佳答案

本来打算在这里寻求帮助,但最后一刻试图删除所有注释行,现在我的模板终于可以工作了。

工作代码(删除注释行):

{% if inventory_hostname in groups['splunk_indexer'] and 
groups['splunk_master']|length > 0 %}
# CUSTOMER INDEXES go to $SPLUNK_HOME/etc/master-apps/_cluster/local/indexes.conf
# on Master node

{% elif inventory_hostname in groups['splunk_master'] %}
# CUSTOMER INDEXES go to $SPLUNK_HOME/etc/master-apps/_cluster/local/indexes.conf

{% else %}
# CUSTOMER INDEXES

[nothing]
coldToFrozenDir = $SPLUNK_DB/frozen/nothing/frozendb
thawedPath = $SPLUNK_DB/hotwarm/nothing/thaweddb
coldPath = volume:secondary/nothing/colddb
homePath = volume:primary/nothing/db
{% endif %}

抱歉,如果这是 Jinja 的明显行为,我想我还是会在这里发帖,以免有人在这个问题上浪费时间。

关于templates - Jinja 注释掉命令会破坏模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58753208/

24 4 0