@pro_ansible

Страница 148 из 625
Magistr
17.02.2017
11:24:16
- name: add host to hostgroup add_host: name: 127.0.0.1 groups: ssp-services

это правда изврат вариант )

Mikhail
17.02.2017
11:24:26
хотелось бы ничего не править, а просто выполнить плейбук при желании для левого хоста

Magistr
17.02.2017
11:25:13
сделай копию плейбука

Google
Magistr
17.02.2017
11:25:39
у тебя же там только список ролей надеюсь ?

Mikhail
17.02.2017
11:25:58
да я могу и хост временно добавить, но бредово как-то это

jagga
17.02.2017
13:09:29
динамический список смотри

Dmitry
17.02.2017
14:26:25
в инвентори же можно добавить хост прямо при выполнении плейбука, например

а, понял вопрос

Mikhail
17.02.2017
17:03:58
динамический список смотри
я все что мог уже посмотрел, погуглил, если есть конкретно что-то напиши

в принципе конечно ерунда это, но удобно было бы

Hackru
17.02.2017
17:10:21
пасаны

а есть аналог для file rsync --delete ?

короче, задача, таскать roles/rolename/files/* в директорию на хосте но при этом стирать имеющиеся файлы

Hackru
17.02.2017
17:13:16
http://docs.ansible.com/ansible/synchronize_module.html

Google
Hackru
17.02.2017
17:13:19
оно шоле

Dmitry
17.02.2017
17:25:38
да я могу и хост временно добавить, но бредово как-то это
блин, сорян. отвлекся на работу и забыл ответить ansible-playbook coolplaybook.yml -i 1.2.3.4, запятая в конце!

Mikhail
17.02.2017
17:30:28
блин, сорян. отвлекся на работу и забыл ответить ansible-playbook coolplaybook.yml -i 1.2.3.4, запятая в конце!
спс, но про запятую я тоже знаю, проблема с наличием группы в плейбуке если в плейбуке hosts: all то все легко а если там hosts: somegrp то не могу придумать что в ключи написать

Dmitry
17.02.2017
17:30:43
тогда ничего

Mikhail
17.02.2017
17:31:31
и для хоста, которого нет в инвентори

в общем пока два варианта или временно добавить хост в инвентори (или инвентори переопределить) или сгенерить плейбук

Dmitry
17.02.2017
17:38:11
я бы скрипт написал

Mikhail
17.02.2017
17:39:24
ну в следующий раз как наткнусь на это - напишу

Dmitry
17.02.2017
17:40:01
-i понимает скрипт, который выплюнет что нужно

но вот как ему в командной строке там аргументы передать :) чтобы скрипт понял $1 $2 с хостом и группой :)

Mikhail
17.02.2017
17:41:19
а что скрипт-то должен выдать? и в каком виде это надо в -i пихнуть?

по-моему самый простой вариант - это генерить одноразовый инвентори и его подсунуть

Dmitry
17.02.2017
17:42:11
блин

ну прочтет уже кто-нить про dynamic inventory скрипт? :)

он должен выдать json с группой и хостом http://docs.ansible.com/ansible/dev_guide/developing_inventory.html

в -i передается путь к нему

Mikhail
17.02.2017
17:45:11
хм, это наверное и есть вариант )

спс

Dmitry
17.02.2017
17:45:15
в принципе верно выше написано, можно намутить в шелле алиас, который распарсит свои аргументы и вызовет все что :)

Mikhail
17.02.2017
17:45:41
ага

Google
Sander
17.02.2017
18:01:45
Всем привет

Ruslan
17.02.2017
18:09:58
Привет

Sander
17.02.2017
18:13:58
хотел бы посоветоваться, не знаю подойдет ли для таких задачь ansible. так как ничего другого я не знаю ) но использовать инструменты не по назначению тоже не хочу.

Ruslan

подойдет ли ansible для этого решения? ------- - у меня есть на prod.servere контейнер, который отвечает за backup базы данных. - у меня таких серверов много и бекапы запускаются по cron-у. - бекапы заливаются на s3, но держать доступы открытыми на prod servere я не хочу ---- поэтому думаю создать отдельный сервер с ansible, который будет перебрасывать пароли и открыть доступ на s3, только во время заливки бекапа на s3. все это будет запускатся каждый день по cron, все что ему нужно, перебросить доступ к s3 bucket в контейнер и запустить его. ---------------- в случаи какой-нибудь ошибки, отправить письмо на email. чтоб я знал, если на какой-то сервер не выполнился backup базы данных. ---------------- как подобное реализовать? и подойдет ли ansible.

Hackru
17.02.2017
18:29:19
Я бы дженкинсом воспользовался

Но под ним можно и ансибл

Sander
17.02.2017
18:31:38
я jenkins ток 1 раз пробывал нет такой практики хорошей.

можно же запустить, таски чтоб он для каждого сайта делал каждый день в определенное время?

Hackru
17.02.2017
18:32:19
Можно

Sander
17.02.2017
18:32:29
а логи и результаты? успешно или не успешно

--- а gitlab ci? подойдет?

Sander
17.02.2017
18:33:02
но навряд ли получится логировать, он же просто контейнер запустит и все

контейнер должен как-то сам уведомление послать, если ошибка случилась

ansible может только сообщить если не удалось подключиться по ssh и тоже что-то сделать

@hackru

Matvey
17.02.2017
18:37:41
Gitlab CI не умеет запускать джобы по расписанию

лучше jenkins с ansible-плагином

Sander
17.02.2017
18:39:51
ехх понятно

а можно как-то без jenkins? у меня просто все на gitlab не хочется плодить.

Google
Sander
17.02.2017
18:40:51
например если ansible не смог приконектиться к серверу, то в случаи ошибки, чтоб он письмо отправил мне на почту

Matvey
17.02.2017
18:40:51
я вот тоже не хочу, и ищу решение

если найду - отпишусь)

есть еще Ansible Semaphore, посмотри

Sander
17.02.2017
18:41:35
да мне ui не нужен вообще

пока что в голову приходит, запустить все по крону

просто боюсь сделать не правильно

потом жалеть буду

Admin
ERROR: S client not available

Matvey
17.02.2017
18:42:48
можно и кроном, если его достаточно

крон умеет письма слать, а ансибл умеет создавать крон-джобы

Hackru
17.02.2017
18:43:33
Почитай статью на хабре, серебренная пуля системного администрирования, про дженкинс

На самом деле, штука классная для запуска скриптов

Sander
17.02.2017
18:44:49
да я знаю, но блин не хочу я учить jenkins.

куда мне gitlab уже использую

и туда же jenkins

Hackru
17.02.2017
18:45:06
Там учить нечего

Sander
17.02.2017
18:45:12
целая пляска с техналогиями

Hackru
17.02.2017
18:45:24
Пятиклассник разберётся

Sander
17.02.2017
18:45:33
да не хочу я, за последнее время столько информации что ...

Google
Sander
17.02.2017
18:45:52
еще сервак с jenkins держать

Matvey
17.02.2017
18:46:07
можно же в контейнере развернуть

Sander
17.02.2017
18:46:15
я хочу запустить вначале систему, так чтоб оно работало нормально. но потом допиливать, улучшать ее

Matvey
17.02.2017
18:46:30
ну тогда крон

Sander
17.02.2017
18:47:04
--- я охренею же, ansible, docker, реплекции, бекапы, всякие свистелки ... настройка nginx, iptables, тюнинг сервера, php, nodejs, go

до дурки не далеко

Matvey
17.02.2017
18:47:28
женкинс если очень утрированно тот же самый крон, только продвинутей

Sander
17.02.2017
18:48:00
я jenkins месяца так 3-4 назад пробывал, play framework какой-то ставил, но уже не очень помню как там и что

Matvey
17.02.2017
18:48:37
там yum install jenkins, создал жобу, настроил расписание и отчеты, и все

Sander
17.02.2017
18:49:04
да не хочу я пока что ничего лишнего еще учить, да и времени нет.

если надо будет jenkins, я заюзаю

но что оно мне даст?

Matvey
17.02.2017
18:49:27
значит крон

Sander
17.02.2017
18:49:34
запуск ansible по расписаню, это может сделать cron.

что еще? мне надо чтоб была отправка письма с логами, если в ansible случилась ошибка, например не смог приконектиться к серверу

--- все остальные ошибки, которые могут случиться во время бекапа, будет отправлять мне на почту, сам контейнер с prod сервера.

Matvey
17.02.2017
18:50:47
у ansible есть модуль mail, который умеет слать письма

Sander
17.02.2017
18:51:21
а как ansible, сказать отправить notify : "mail_error" если случилась ошибка

?

Matvey
17.02.2017
18:52:06
регистрируешь вывод через register, отдаешь его в следующей итерации через модуль mail

Страница 148 из 625