sysadmin.su
229 subscribers
282 photos
29 videos
225 files
2.11K links
Админам/sre/devops’ам будет интересно!
Download Telegram
Forwarded from Админим с Буквой (bykva)
jinja как не ставить последнюю запятую в цикле

дано
: переменная с количеством серверов
задача: составить строку вида

zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181/kafka

в целом решается простым циклом for + 2 небольших нюанса:
1) вместо последней запятой стоит /kafka
2) необходимо убрать newline который добавляется на каждом проходе

Решение:

zookeeper.connect=
{%- for server in range(servers_count) -%}
zookeeper{{ server+1 }}:2181{% if not loop.last %},{% endif %}
{%- endfor %}/kafka

все довольно просто - запятая ставится конструкцией {% if not loop.last %},{% endif %}, а переносы строк убираются постановкой дефиса у открывающих и закрывающих тегов {% и %}.

з.ы. счет начинается с нуля, поэтому для красоты именования серверов инкрементирую переменную server.

#jinja #ansible #kafka #zookeeper
Forwarded from CatOps
8 вещей, о которых нужно подумать, прежде чем тащить Apache Kafka в продакшн.

1. Key all the messages!
2. Ensure all producers are using the same partitioned
3. Topic versioning
4. Treat ZooKeeper like royalty
5. Unclean elections and minimum ISRs
6. Memory Maps
7. File descriptors
8. Log Compaction

#kafka