Mikhail
хотелось бы ничего не править, а просто выполнить плейбук при желании для левого хоста
Magistr
сделай копию плейбука
Magistr
у тебя же там только список ролей надеюсь ?
Mikhail
да я могу и хост временно добавить, но бредово как-то это
jagga
динамический список смотри
Dmitry
в инвентори же можно добавить хост прямо при выполнении плейбука, например
Dmitry
а, понял вопрос
Mikhail
динамический список смотри
я все что мог уже посмотрел, погуглил, если есть конкретно что-то напиши
Mikhail
в принципе конечно ерунда это, но удобно было бы
hackru
пасаны
hackru
а есть аналог для file rsync --delete ?
hackru
короче, задача, таскать roles/rolename/files/* в директорию на хосте но при этом стирать имеющиеся файлы
hackru
http://docs.ansible.com/ansible/synchronize_module.html
hackru
оно шоле
Dmitry
да я могу и хост временно добавить, но бредово как-то это
блин, сорян. отвлекся на работу и забыл ответить ansible-playbook coolplaybook.yml -i 1.2.3.4, запятая в конце!
Mikhail
блин, сорян. отвлекся на работу и забыл ответить ansible-playbook coolplaybook.yml -i 1.2.3.4, запятая в конце!
спс, но про запятую я тоже знаю, проблема с наличием группы в плейбуке если в плейбуке hosts: all то все легко а если там hosts: somegrp то не могу придумать что в ключи написать
Dmitry
тогда ничего
Mikhail
и для хоста, которого нет в инвентори
Mikhail
в общем пока два варианта или временно добавить хост в инвентори (или инвентори переопределить) или сгенерить плейбук
Dmitry
я бы скрипт написал
Mikhail
ну в следующий раз как наткнусь на это - напишу
Dmitry
-i понимает скрипт, который выплюнет что нужно
Dmitry
но вот как ему в командной строке там аргументы передать :) чтобы скрипт понял $1 $2 с хостом и группой :)
Mikhail
а что скрипт-то должен выдать? и в каком виде это надо в -i пихнуть?
Mikhail
по-моему самый простой вариант - это генерить одноразовый инвентори и его подсунуть
Dmitry
блин
Dmitry
ну прочтет уже кто-нить про dynamic inventory скрипт? :)
Dmitry
он должен выдать json с группой и хостом http://docs.ansible.com/ansible/dev_guide/developing_inventory.html
Dmitry
в -i передается путь к нему
Mikhail
хм, это наверное и есть вариант )
Mikhail
спс
Dmitry
в принципе верно выше написано, можно намутить в шелле алиас, который распарсит свои аргументы и вызовет все что :)
Mikhail
ага
Sander
Всем привет
Alchemist
Привет
Sander
хотел бы посоветоваться, не знаю подойдет ли для таких задачь ansible. так как ничего другого я не знаю ) но использовать инструменты не по назначению тоже не хочу.
Sander
Ruslan
Sander
подойдет ли ansible для этого решения? ------- - у меня есть на prod.servere контейнер, который отвечает за backup базы данных. - у меня таких серверов много и бекапы запускаются по cron-у. - бекапы заливаются на s3, но держать доступы открытыми на prod servere я не хочу ---- поэтому думаю создать отдельный сервер с ansible, который будет перебрасывать пароли и открыть доступ на s3, только во время заливки бекапа на s3. все это будет запускатся каждый день по cron, все что ему нужно, перебросить доступ к s3 bucket в контейнер и запустить его. ---------------- в случаи какой-нибудь ошибки, отправить письмо на email. чтоб я знал, если на какой-то сервер не выполнился backup базы данных. ---------------- как подобное реализовать? и подойдет ли ansible.
hackru
Я бы дженкинсом воспользовался
hackru
Но под ним можно и ансибл
Sander
я jenkins ток 1 раз пробывал нет такой практики хорошей.
Sander
можно же запустить, таски чтоб он для каждого сайта делал каждый день в определенное время?
hackru
Можно
Sander
а логи и результаты? успешно или не успешно
Sander
--- а gitlab ci? подойдет?
Sander
но навряд ли получится логировать, он же просто контейнер запустит и все
Sander
контейнер должен как-то сам уведомление послать, если ошибка случилась
Sander
ansible может только сообщить если не удалось подключиться по ssh и тоже что-то сделать
Sander
@hackru
matt
Gitlab CI не умеет запускать джобы по расписанию
matt
лучше jenkins с ansible-плагином
Sander
ехх понятно
Sander
а можно как-то без jenkins? у меня просто все на gitlab не хочется плодить.
Sander
например если ansible не смог приконектиться к серверу, то в случаи ошибки, чтоб он письмо отправил мне на почту
matt
я вот тоже не хочу, и ищу решение
matt
если найду - отпишусь)
matt
есть еще Ansible Semaphore, посмотри
Sander
да мне ui не нужен вообще
Sander
пока что в голову приходит, запустить все по крону
Sander
просто боюсь сделать не правильно
Sander
потом жалеть буду
matt
можно и кроном, если его достаточно
matt
крон умеет письма слать, а ансибл умеет создавать крон-джобы
hackru
Почитай статью на хабре, серебренная пуля системного администрирования, про дженкинс
hackru
На самом деле, штука классная для запуска скриптов
Sander
да я знаю, но блин не хочу я учить jenkins.
Sander
куда мне gitlab уже использую
Sander
и туда же jenkins
hackru
Там учить нечего
Sander
целая пляска с техналогиями
hackru
Пятиклассник разберётся
Sander
да не хочу я, за последнее время столько информации что ...
Sander
еще сервак с jenkins держать
matt
можно же в контейнере развернуть
Sander
я хочу запустить вначале систему, так чтоб оно работало нормально. но потом допиливать, улучшать ее
matt
ну тогда крон
Sander
--- я охренею же, ansible, docker, реплекции, бекапы, всякие свистелки ... настройка nginx, iptables, тюнинг сервера, php, nodejs, go
Sander
до дурки не далеко