您觉得我需要为我几个小时以来一直在苦苦挣扎的事情提供答案。希望有一天能对某人有所帮助。
我一直在尝试自动化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”或未找到组错误。