Привет, я чувствовал, что мне нужно дать ответ на то, с чем я боролся в течение нескольких часов. Я надеюсь, что когда-нибудь это кому-нибудь поможет.
Я пытался автоматизировать шаблон для развертывания с помощью 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%} для работы. Оказывается, комментарий «#» на самом деле не приводит к игнорированию этой строки, что я имел для целей тестирования, так как мне надоело набирать тексты снова и снова.
Я пытался изменить свой (без комментариев)Если в каждом из заявлений, начиная с воскресенья, я либо получу только верхнюю часть шаблона, то возникнет ошибка, сообщающая о неожиданном 'elif' или о группах, которые не нашли ошибок.