@pro_ansible

Страница 137 из 625
Semyon
16.01.2017
19:04:41
донести и, как минимум, дёрнуть рестарт сервисов

а то ещё в процессе, не дай Бог, базу мигрировать

или конфиги перегенерить

Dmitry
16.01.2017
19:44:42
:)

Google
Dmitry
16.01.2017
19:44:50
программирование на конфигах

again

Dmitriy
16.01.2017
19:46:15
донести и, как минимум, дёрнуть рестарт сервисов
это вопрос удобного уровня абстракции. Почему вы считаете, что ваш уровень более правилен, чем чей-то ещё?

ой. Семён, я ж не тебе пишу.

A
16.01.2017
19:50:21
(ansible – система управления конфигурацией)
ансибль - жырный инструмент для превращения yaml файлов в серию ssh (и не только) команд. это и деплой, и провижн, и конфигурация может быть

Lev
16.01.2017
19:51:37
Окок) если нет своего инструмента, то почему нет

Anatoly
16.01.2017
19:53:40
https://github.com/myplaceonline/posixcube тут кстати пока стоик писали, другие уже с решением пришли.

A
16.01.2017
20:13:35
https://github.com/myplaceonline/posixcube тут кстати пока стоик писали, другие уже с решением пришли.
прочитал как "стоя писали", простите. спасибо, посмотрю.

Anatoly
16.01.2017
20:14:01
A
16.01.2017
20:16:12
как альтернативу софту по теме. но там еще всего нет, если сравнивать с.

Google
Dmitry
17.01.2017
05:25:43
Bogdan (SirEdvin)
17.01.2017
15:52:11
Приходится использовать в случаях, когда проверка возможна только через статус задачи

Sander
17.01.2017
21:55:05
====== Помогите, как вставить переменную с массивом в roles. Мне это надо, чтоб устанавливать для разных проектов, необходимые ему контейнеры. hosts_vars: --- domain: site.ru roles_conf: - application - php-fpm - nginx website.yml --- - hosts: "site.ru" become: true roles: "{{ roles_conf }}" так конечно не работает но в docker_containers хелпере, такой метод работал.

Albert
17.01.2017
21:59:00
Энтер убери

Sander
17.01.2017
22:02:20
пробывал

уже

The error appears to have been in '/ansible/app.yml': line 2, column 3, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be:

@Tahvok

--- - hosts: "sajt.ru" become: true roles: "{{ roles_conf }}"

Albert
17.01.2017
22:05:32
Тогда никак.. Я помню мне @bcoca по irc рассказывал что есть вещи которые ансибл читает, до превращения параметров из jinja2 в обычный yaml. Ролы логично что одни из них.

Кстати, именно поэтому и никакие нормальные возможности из jinja2 не работают

Sander
17.01.2017
22:06:18
просто у меня в конфиге roles_conf: - application - php-fpm - nginx и надо чтоб он эти контейнеры запустил

я думал в roles сделать

но он так не идет

((

?

Albert
17.01.2017
22:06:49
Типа {% if %} (с новыми строчками) и т.п.

Sander
17.01.2017
22:07:57
в yml нельзя же j2

Albert
17.01.2017
22:08:07
Ну две возможности: напиши два разных плея, и запускай каждый по нужде через when Либо сами роли через when

Google
Albert
17.01.2017
22:08:15
Sander
17.01.2017
22:08:22
как

? пожалуйста подскажи как

Albert
17.01.2017
22:08:41
Если писать {% if %} на одной строке, то будет работать

Sander
17.01.2017
22:08:53
?

Albert
17.01.2017
22:08:59
? пожалуйста подскажи как
С ролами не поможет... Этот трюк только в тасках

Sander
17.01.2017
22:09:16
мне для ролей как-то надо

Albert
17.01.2017
22:09:28
Но опять, какая надобность динамически подставлять роли?

Sander
17.01.2017
22:12:33
ansible-playbook website.yml --extra-vars "hosts_vars=site.ru"

я когда запускаю прейбук, он для каждого сайта смотрит hosts_vars

допустим для сайта site.ru, только 2 контейнера nginx, php-fpm

он их и поставит

Sander
17.01.2017
22:13:53
я могу запустить чтоб на всех серверах он поднял контейнеры, если я укажу просто hosts_vars php например

или all

везде он будет смотреть мои настройки в hosts_vars и в зависимости от них, делать нужные действия

?

Albert
17.01.2017
22:27:04
Каждый сайт - отдельный проект с отдельными требованиями - именно для этого и сделаны плейбуки. Просто пиши разный плейбук под разный проект

ansible-playbook website-site.ru.yml

Sander
17.01.2017
22:28:32
тогда зачем hosts_vars

Albert
17.01.2017
22:29:02
Для хост варс

Google
Albert
17.01.2017
22:29:11
Замене default в ролях

Одному nginx с портом 80, другому с 8080

Но обеим пишешь тот же роль

Либо берешь готовый из galaxy.ansible.com

А что запускать, должен не хост решать, а ты сам - то есть плейбук.

Илья
18.01.2017
09:58:27
Всем привет! Мне кажется уже когда-то спрашивал, но все же. Есть следующий сценарий: * Отработала таска обновления конфига, на которой висит notify * Машина, с которой устанавливаем отключается (либо просто потеря связи до настраиваемого хоста) * notify не отрабатывает и сервис например не подтягивает новый конфиг Последующий запуск не выполнит notify так как конфиг уже не обновляется. Как выходите из подобного сценария?

Ivan
18.01.2017
10:02:04
как вариант You can change this behavior with the —force-handlers command-line option, or by including force_handlers: True in a play, or force_handlers = True in ansible.cfg. When handlers are forced, they will run when notified even if a task fails on that host. (Note that certain errors could still prevent the handler from running, such as a host becoming unreachable.)

Admin
ERROR: S client not available

Ivan
18.01.2017
10:02:23
отсюда http://docs.ansible.com/ansible/playbooks_error_handling.html#handlers-and-failure

Илья
18.01.2017
10:07:10
ну force_handlers выполнится в конце текущего запуска. Если локальная машина упала или пропала сеть до удаленного хоста, то notify все равно не будет выполнен: Note that certain errors could still prevent the handler from running, such as a host becoming unreachable.

Ivan
18.01.2017
10:13:53
He ansible way - в начале таски ставить некий флаг ( ~/.ansible/job_fail ) и удалять его в конце плейбука.

Это неэлегантно, но быстро реализуемо

Ну и проверять его в начале выполнения

Albert
18.01.2017
10:16:28
Добавь просто таск сразу после таска где конфа меняется:

- name: flush all handlers meta: flush_handlers

Ivan
18.01.2017
10:18:10
Есть веорятность, что такой подход не сработает. Небольшая, но есть.

feature
18.01.2017
10:22:10
может быть вставить в начале конфига макрос ansible_managed с какой-нибудь версией?

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

Илья
18.01.2017
14:20:29
во всех вариантах судя по всему есть вероятность того, что что-то не сойдется. Из коробки проблема не решается.

Игорь
19.01.2017
12:59:15
Скажите, а что в Ansible с тестированием?

Google
Игорь
19.01.2017
12:59:39
Как playbook и прочее тестировать?

Алексей
19.01.2017
13:00:40
molecule

Игорь
19.01.2017
13:13:53
спасибо

Dmitry
19.01.2017
14:53:47
testinfra

Алексей
19.01.2017
14:55:25
testinfra
оно там в коробке. уверен человек найдет

Alexey
19.01.2017
14:56:54
Алексей
19.01.2017
14:57:21
эм. что ?

в молекуле для тестов используется тестинфра и серверспек и госс

Alexey
19.01.2017
15:00:08
эм. что ?
Вот теперь усе понятно) Спасибо

Aleksandr
19.01.2017
17:21:21
из-за чего может быть ошибка [WARNING]: sftp transfer mechanism failed on [server.ru]. Use ANSIBLE_DEBUG=1 to see detailed information [WARNING]: scp transfer mechanism failed on [server.ru]. Use ANSIBLE_DEBUG=1 to see detailed information

Никита
19.01.2017
17:23:26
Gatheting_facts вырубить попробуй

Lev
19.01.2017
17:23:26
в плохой экономике

Никита
19.01.2017
17:24:00
Проверить что хостнеймы из andible_host есть в dns

Connection local

Dmitry
19.01.2017
17:25:13
Вообще если сделать -vvvv

То скорее всего будет видно

Aleksandr
19.01.2017
22:24:40
в конфиге ssh на удаленном сервер нужно заменить #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp

Jothi basu
20.01.2017
07:16:56
https://t.me/joinchat/AAAAAEEPrsUexTZTIZUjYg

For Ansible English

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