Aleksey
hostvars | keys(@)
Aleksey
нет не спасет мне ненадо with
Sergey
Sergey
решил чутка постикерофильствовать.
Sergey
опять что-то странное (ну или внешне кажущееся таковым) ваяешь 😊
Aleksey
да не. кликхаус хочет что бы ему перечитслили список соседей.
каждая нода знает какой у нее номер.
но на каждой ноде надо сделать одинаковый файлик с данными
Aleksey
выглядит будто бы ключ в hostvars это спсение да
Aleksey
hostvars.*.{name: inventory_hostname, replica:ha_clickhouse_current_replica, shard:ha_clickhouse_current_shard}
Sergey
то есть ты вообще можешь один раз эту фигню сгенерить и она будет одинаковой для всех нод?
Aleksey
она должна быть одинаковой. и более того что ужаснее позиционной.
Sergey
не, ща всё равно не вкурю толком. лучше пойду высплюсь, один фиг полезнее будет 😞
Aleksey
https://clickhouse.yandex/docs/ru/table_engines/distributed/
Aleksey
такая вот бабалайка
Womchik
@freeseacher
Alexandr
Всем привет, реально ли в роли перезаписать дефолтную переменную, не переписывая весь словарь переменных?
вот пример переменных
pgbouncer:
logfile: "/var/log/postgresql/pgbouncer.log"
pidfile: "/var/run/postgresql/pgbouncer.pid"
listen_addr: "127.0.0.1"
listen_port: "6432"
unix_socket_mode: ""
unix_socket_group: ""
unix_socket_dir: "/var/run/postgresql"
auth_type: "trust"
auth_file: "/etc/pgbouncer/userlist.txt"
вот так указываю в таске переменную, которую хочу перезаписать
- hosts: pg-int, pg-prod
gather_facts: yes
become: yes
roles:
- { role: pgbouncer, pgbouncer.listen_addr: "0.0.0.0", pgbouncer.listen_port: "6532" }
tags: ['pgbouncer']
manefesto
Должно работать
manefesto
Внутри плейбука локальная область видимости
manefesto
Почитай про LEGB
manefesto
https://pythlife.blogspot.ru/2012/10/blog-post_29.html?m=1
eucariot отпуск (MSK+4)
Коллеги, подскажите, пожалуйста, как экранировать спецсимволы в шаблонах jinja?
Не думаю, что я первый с этим встречаюсь. Есть список пользователей с хэшами, где, конечно, ад и израиль. Его хочу джинджей в конфиг положить.
Ругается красным на последовательность символов.
Выделять кавычками не помогает.
eucariot отпуск (MSK+4)
Вроде того:
- name: eucariot
pwd_hash: $1c$FCM#Y+8Z:T$/l>IX1tZG%Fh~u&q\Xq6fd7dT|>*,8>G8y:f38{-$
level: 3
Maksimi
знаки процента - обратный слеш?
eucariot отпуск (MSK+4)
Возможно. Настолько не разбирался.
eucariot отпуск (MSK+4)
Из хэша слов не выкинешь. Что делать? )
Tadeusz
из слов хэш не выкинешь)
One
Sergey
Должно работать
Не путай человека.
Он хочет переписать конкретный ключ в уже существующем словаре, а это ай-яй-яй (из разряда "лучше не надо так делать, чтобы потом не решать проблемы, которые этим вызваны")
manefesto
Не обратил внимания.
Sergey
Sergey
тебя интересуют heredoc-конструкции
Sergey
где допустимы любые символы без какой бы то ни было обработки-экранирования
eucariot отпуск (MSK+4)
https://lzone.de/cheat-sheet/YAML
Я правильно понимаю, что использовать нужно так?
pwd_hash: |+$1a$eWcH'5dD~1$l<vvDig#@.)I|;ZASgH'%Kv~N)&DA=[i<R@.'{%>$
eucariot отпуск (MSK+4)
Ругается так: ERROR! Syntax Error while loading YAML.
Alexandr
eucariot отпуск (MSK+4)
eucariot отпуск (MSK+4)
И в тексте акцент на разбивку по линиям
Alexandr
eucariot отпуск (MSK+4)
одинарные кавычки?
одинарные не работают, потому что в хэше они тоже могут встречаться.
Ievgen
@LychanginAV плюс как сайд эффект ты всегда сможешь передать переменную из cli типа ansible-playbook -e listen_port=9999 pgbouncer.yml к примеру и поставить на левый порт с минимальными телодвижениями
Ivan
manefesto
Ужас какой
Alexandr
Alexandr
при работе в команде будут проблемы
Ievgen
в гит пойдет:
roles:
- { role: pgbouncer, listen_port: "6532" }
Ievgen
а если хочется заюзать ту же роль в своей песочнице то можно и руками передать
Ievgen
я же не агитирую передавать все через cli
Sergey
Ivan
Sergey
ok: [localhost] => {
"test_hash": "$1c$FCM#Y+8Z:T$/l>IX1tZG%Fh~u&q\\Xq6fd7dT|>*,8>G8y:f38{-$"
}
Sergey
---
test_hash: |-
$1c$FCM#Y+8Z:T$/l>IX1tZG%Fh~u&q\Xq6fd7dT|>*,8>G8y:f38{-$
level: 0
Ivan
Sergey
а какая фиг разница?
Ivan
там есть {% и он интерпретируется jinja
Sergey
любая дрянь через heredoc пролезет
Ivan
pwd_hash: !unsafe |
$1a$eWcH'5dD~1$l<vvDig#@.)I|;ZASgH'%Kv~N)&DA=[i<R@.'{%>$\n"}
Sergey
да-да, так работает
matt
как в docker_containter передать параметр sysctls?
matt
sysctls (added in 2.4) Dictionary of key,value pairs.
eucariot отпуск (MSK+4)
eucariot отпуск (MSK+4)
Последний вопрос. Когда генерю конфиг - после heredoc добавляется пустая строка. Как от неё избавиться?
eucariot отпуск (MSK+4)
Nik
Nik
а то проект в одном месте, а статус деплоя смотреть в другом. не фонтан
Денис
Ну в моей ситуации удобнее разделить ансибл от деплоя и следить в Tower. Своя специфика... Но вообще в ci указывал:
test:
script:
- pwd
- cd ansible/
- ansible-playbook -i my_inv deploy.yml
- cd ..
- pwd
tags:
- test
only:
- master
Это спрашивал? Или хотел изящнее?
Vadim
Vadim
А вот еще вопросец - никто не встречался с аналогом coverage для плейбуков?
Nik
Nik
сложаня задачка - когда 5 ДЦ, и сегодня хочу всех хосты по всем дц из группы А, а завтра я хочу обновить одну софтину, но только во втором ДЦ
Nik
и пока это генерить все возможные варианты в gitlab-ci.yml, что очень уродски
Денис
Денис
Nik
ща читаю, можно ли что то более интерактивное сделать в gitlab