Pavel
Pavel
Chef — система управления конфигурациями, написанная на Ruby и Erlang,
но вот это убивает конечно
Dmitrii
?
nvkv
nvkv
не на эрланге
Dmitrii
Надо попросить моего менеджера нанять джуниора, и заставить его переписать плейбки на шеф
nvkv
но он старый волосатый рубист :)
g
Да оба хороши для определенных задач.
Anonymous
Anonymous
cookbooks пишутся, в общем-то, на руби
Pavel
Существуют же рубифобы
Pavel
И тому есть причина - поддерживать все это небольшой командой весьма нелегко, на всех нагрузка большая, надо держать в голове много деталей.
Sergey
ну, когда система написана на языке, который знаешь, можно посмотреть исходники или что-то пофиксить, это плюс
Dmitrii
Ага, а когда ты зассаленный пхпшнег, то нет пути.
Sergey
написать phansible =)
Pavel
Когда проект на одном языке, управление конфигурацией на втором, провижининг софта на третьем, пару сервисов на четвертом
Sergey
Pavel
А кто говорит про пофиксить? Команда должна полностью с нуля все эти решения спроектировать и разработать и поддерживать постоянно
nvkv
вот подобное от языка почти никогда не зависит
nvkv
скорее всего если ты пофиксил и сломалось — ты плохо знаешь софтину, которую полез фиксить
Sergey
знать софтину и знать как она написана - это все-таки разные вещи
Pavel
в случае с chef знать софтину подразумевает знать ruby
Pavel
с ansible тоже есть такая штука, основы питона знать необходимо. Но в примитивных случаях можно обойтись только yml
nvkv
А можно primerchique?
nvkv
где надо петон там знать?
Anonymous
Ну для ансибла, мне кажется, знать пайтон необходимо
Anonymous
Без написания своих модулей явно не обойдется
Pavel
работа со строками питонная
Sergey
где надо петон там знать?
я недавно ансибл использую, но уже понимаю, что местами приходится в исходниках смотреть как работает конкретный модуль, потому что в доке описание слишком поверхностное
Pavel
Да, стектрейсы питонистические вываливаются
nvkv
ну шаблонизатор там jinja2
nvkv
то, что он похож на петон ещё не значит, что он петон
nvkv
стектрейсы да, принимается
Pavel
Впрочем питон это еще куда ни шло, язык достаточно очевидный, к нему легко привыкнуть.
Pavel
Но как бы когда надо прыгать python <-> ruby <-> php <-> java <-> js <-> go то моск немного закипает. А в девопсах сейчас в тренде инструменты на всех языках
Dmitrii
Лохи не пройдут
Maxim
все таки читать доки полезно.. некоторые таски не работают в dry-run режиме, убил 2 часа на это - думал может проблемы с интерпретатором в контейнере, или еще что
Maxim
Причем дебаг ансибла недостаточно понятны - стандартная отписка, что надо использовать кавычки для передачи переменных
Oleksandr
Maxim
Oleksandr
Типа плейбуки тестируются?
Maxim
Так вот если выполнить что то через command или shell и к этому сделать register, чтобы потом. Превратить в переменную, то при --check - будет ошибки
Maxim
Добрый день всем!
Aleksey
понедельник же
Aleksey
чоты
Maxim
подскажите как бы мне в файлик на хосте засунуть текст {{ DB_USER }} ? Я с помощью модуля replace в файле меняю строки, он все время хочет прочитать как переменную
Sergei
может кто-нибудь подсказать, как в темплейте сделать примерно такую конструкцию:
{% for host in groups.all %}
{{ host }} {{ hostvars.['{{ host }}'] }}
{% endfor %}
Maxim
Maxim
в такой таске
- name: create variables in sql file
replace:
dest={{ item }}
regexp='TO\sauth;'
replace="TO {{DB_USER}};"
with_items:
- "{{ service_root }}/{{ service_migration }}"
Dmitry
Dmitry
а хотя нет, я невнимательно прочел. у тебя это вообще не впишется, если закомментировать :)
Dmitry
Maxim
Dmitry
в принципе, думаю, что и вот так сработает
'{{' DB_USER '}}'
(ничем другим вокруг необорачивать, то есть НЕ окружать двойными кавычками например
" '{{' DB_USER '}}' "
^^^ нет
Dmitry
Dmitry
но вообще в jinja2 железобетонно {% raw %} отключает все мозги и шпарит как есть, так что можно помнить просто его, не запоминая все эти экранирования
Dmitry
для порядка
http://jinja.pocoo.org/docs/dev/templates/#escaping
Maxim
Denis
replace="TO \"{{DB_USER}}\";"
Denis
Как-то так по идее должно работать.
Dmitry
Maxim
мне больше с raw понравился вариант - простой и понятный )
Pavel
Dmitrii
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 57: ordinal not in range(128)
Dmitrii
Внезапно начало падать с таким сообщением. Может кто сталкивался?
Aleksandr
на 2.2 обновился?
Dmitrii
Нет
nvkv
2.2 вышел что ли?
Dmitrii
Бля, косячный ансибл
Dmitrii
Он обосрался на — в файле.
Bogdan (SirEdvin)
Потому что python 2.7
Sergey
Sergey
и хорошо бы полностью трейс увидеть