В указанном выше шаблоне есть несколько возможных ошибок, касающихся доступа к переменным. Более того, вместо обрезки последнего символа в строке, вероятно, лучшим решением будет не писать его. Вот лучшее решение IMO в моем нижеприведенном примере, исправляющее все проблемы, о которых я говорю:
{% set zookeeperServers=[] %}
{% if hostvars[inventory_hostname].local_zk_server_id is defined %}
{% for host in groups[target_hosts] %}
{% zookeeperServers.append(hostvars[host].inventory_hostname + ":2181") %}
{% endfor %}
zookeeperServers="{{ zookeeperServers | join(',') }}"
{% endif %}