Egor
А кстати про идемпотентность, а когда есть случаи которые не описаны в модулях.
То есть идет использование или command или shell на крайняк, как в данном случае вы соблюдаете?
Пишете свои модули или перед выполнение данных команд делаете проверку и выводите в register?
Max
Timur
Timur
Egor
Ну просто к примеру из недавнего это автоматизация поднятие mongo replication.
Модуля я не нашел и там получается я использовал написанный скрипт на js и command.
И вот только через register я так понимаю можно соблюсти идемпотентность или полностью описать в скрипте.
Max
модуль, если нужно завернуть портянку команд с логикой в 20+ башсибл тасков, по моему имеет смысл завернуть в модуль.
особенно, если уже есть драйвер на питоне.
Timur
В 95% случаев, как показывает опыт, это возможно
Max
у меня статистика пониже. в "большинстве" случаев :)
niko
niko
костыли на любой вкус!
Egor
Так а в целом, если вы попали в ваши 5% как вы соблюдаете идемпотентность?
register?
Max
niko
не бывает идеальных костылей)
Timur
Timur
Бывает вообще block/rescue
Timur
Ну, и да - надо не стесняться писать свои модули, либо контрибьютать в уже написанные
Timur
Включая сам ансибл
Max
ибо опен сорс.
Timur
Мы так регулярно делаем
Yuf
Обьявите весь список пожалуйста
Yuf
Интересно стало какие вы модули написали
Timur
Если нам чего-то очень сильно не хватает в ансибле/молекуле/линте и т.п. - дописываем, делаем PR и пробиваем свои правки через review
Yuf
Я хочу написать модуль для master master mariadb/mysql replication сделать
Timur
Yuf
Yuf
Он больше заточен для master/slave
Yuf
А мне нужно для master/master
Yuf
А стоп
Yuf
Сорри
Yuf
Я это как раз модуль и использовал
Yuf
Я имел ввиду модул который делает эти все моменты типа гасит слейв переключает мастер етс
Timur
Timur
И что имеется в виду под гасит?
Yuf
Stopslave, startslave
Yuf
Я имел ввиду процедуру поднятие репликации спрятать в модуль .. Довести до коробчного решения
Yuf
Или я опять какие то законы галактики ансибл нарушаю
Max
Yuf
)))))
Sergei
Используй оркестратор, не придется заниматься ерестью типа мастер-мастер
Yuf
Yuf
Вы про galera
Yuf
?
Sergei
Вы про galera
https://github.com/github/orchestrator, правда это не про ансибл, но пофиг %]
Max
кстати о птичках:
существует какой-то contrib-ный модуль работы с dropbox?
послать файйл, найти файл, скачать и т.д.?
Sergey
Sergey
или к ансиблу
Max
не пойдет в данном случае, но спасибо за наводку 👍
Max
(мне нужно делать поиск, из найденного скачивать)
Max
т.е. rclone не подходит (он делает фьюз, т.е. начинает тянуть ненужное)
Sergey
а, пнятна
Yuf
Yuf
Свой кейс где использую master master replication
Yuf
Mysql/mariadb
Ohh
А как запихнуть '^\[' вот такую штуку в переменную, чтобы не терялись одинарные ковычки? Чет пол часа пытаюсь решить, но не заходит
Alex
Eduard
Alex
'\'\[\''
Ему нельзя такого показывать, запутается. Не баш конечно, но всё равно экранирование пиздец, а если предподготовка для регулярки, там каша та ещё будет
Eduard
😄
Eduard
вай?
Timur
Отделение Bereke Bank
Подскажите, а папка group_vars работает если inventory файл в yaml-формате? Или group-переменные в таком случае нужно писать только в inventory?
Отделение Bereke Bank
А понял, не туда папку положил. надо было в папку со всеми inventory а не в корневую репы
Отделение Bereke Bank
Sergey
Имя инвентори может указывать на файл (inventory.yml), а может и на каталог: inventory/main.yml
Отделение Bereke Bank
Sergey
Впрямую нет. Однако ты можешь просто несколько файлов положить, они будут считаны в общую кучу.
Отделение Bereke Bank
Спасибо! попробую
Sergey
Там вроде алгоритм достаточно простой: всё, что можно испольнить в каталоге (+x), будет запущено и исполнено, выхлоп по возможности прочитан как JSON и загружен в список хостов, всё ,что текстовое - просто прочитано и загружено. Так работают все динамические инвентори.
Alex
Sergey