Size: a a a

ansible — русскоговорящее сообщество

2020 March 05

t

tenni in ansible — русскоговорящее сообщество
Paul
Камрады, помогите решить такую задачу: есть ansible на WSL (настроен и работает с хостами windows), есть 3 сервера windows. Задача: ребутать сервера по очереди и проверять, что определенные сервисы (4 штуки) запущены. Проверять запущенность сервисов можно win_service, но я не совсем понимаю, как написать в плейбуке: 1) чтобы следующая зачача (в данном случае перезагрузка) не начиналась, пока не запустятся все сервисы на первом сервере; 2) как написать все это в цикле. Примеры использования win_service и loop смотрел, но видимо просто опыта пока не хватает
источник

P

Paul in ansible — русскоговорящее сообщество
О, спасибо, кажется то, что нужно! Буду тестировать
источник

P

Paul in ansible — русскоговорящее сообщество
Может быть кто-то еще посоветует книжку по ansible, желательно на русском, но можно и en. Желательно, конечно под виндовую инфраструктуру, но, боюсь такой нет
источник

t

tenni in ansible — русскоговорящее сообщество
там дока хорошая
источник

AS

Anton Sergievich in ansible — русскоговорящее сообщество
Paul
Может быть кто-то еще посоветует книжку по ansible, желательно на русском, но можно и en. Желательно, конечно под виндовую инфраструктуру, но, боюсь такой нет
https://t.me/pro_ansible
была куча ссылок на всякие книжки, в том числе на
O'Reilly "Запускаем Ansible" исходник 2017 перевод 2018.
Но в основном всё гуглится по вариациям таск. А вот всякие AWX и его исходные Tower's отдельная тема геммороя которую разгугливать фиг знает как
источник

P

Paul in ansible — русскоговорящее сообщество
Anton Sergievich
https://t.me/pro_ansible
была куча ссылок на всякие книжки, в том числе на
O'Reilly "Запускаем Ansible" исходник 2017 перевод 2018.
Но в основном всё гуглится по вариациям таск. А вот всякие AWX и его исходные Tower's отдельная тема геммороя которую разгугливать фиг знает как
благодарю!
источник

t

tenni in ansible — русскоговорящее сообщество
Anton Sergievich
https://t.me/pro_ansible
была куча ссылок на всякие книжки, в том числе на
O'Reilly "Запускаем Ansible" исходник 2017 перевод 2018.
Но в основном всё гуглится по вариациям таск. А вот всякие AWX и его исходные Tower's отдельная тема геммороя которую разгугливать фиг знает как
awx же простой как два пальца, что там гуглить
источник

AS

Anton Sergievich in ansible — русскоговорящее сообщество
Незачто, там большее количество участников. Прежде чем туда писать рекомендуется гуглить..
источник

AS

Anton Sergievich in ansible — русскоговорящее сообщество
tenni
awx же простой как два пальца, что там гуглить
смарт фильтр по динамическому инвентарю + смарт фильтр по тому же динамическому инвентарю но возвращающий только сфэйленные в прошлый запуск по этому темплэйту
+ он плохо переносит большое количество групп с большим количеством хостов. т.е. ~4k групп в которых +8k хостов на каждом из них получается от 5 фактов приползающих в динамическом инвентаре по которому бы и надо делать смарт  фильтр
источник

t

tenni in ansible — русскоговорящее сообщество
понятно, да есть такое
источник

t

tenni in ansible — русскоговорящее сообщество
я стараюсь сложную логику в ансибл не использовать
источник

P

Paul in ansible — русскоговорящее сообщество
И все-таки, как реализовать ожидание и не переход к следующей задаче до тех пор, пока сервис не будет в состоянии started?
источник

AS

Anton Sergievich in ansible — русскоговорящее сообщество
Руки не доходят всё это раскурить.. В прошлый раз эксперимент дал какой-то положительный результат, но это было с пол года назад и не помню на котором из AWX. Результат - по новой раскуривать. А примеров вменяемых нигде нет. Либо все галопом по европам и в эту тему никто не вдаётся или вдаётся на 1% из всего потока мыслей. И дока по моему в данном случае весьма куцая. В прошлый раз по моему раскуривал через исходники
источник

AS

Anton Sergievich in ansible — русскоговорящее сообщество
Paul
И все-таки, как реализовать ожидание и не переход к следующей задаче до тех пор, пока сервис не будет в состоянии started?
линейная стратегия в один поток, проверять сервис любым удобным способом. Я обжегшись на сервисах jboss доверять понятию "служба запущена"="работает" отказываюсь. Использую для себя всякие uri для опроса веб интерфейсов службы на предмет его ответа с retry и т.д.
источник

P

Paul in ansible — русскоговорящее сообщество
собственно, я получаю статус службы, записываю в переменную, потом следующий шаг - возобновление мониторинга prtg, если служба стартовала. и это работает.
источник

P

Paul in ansible — русскоговорящее сообщество
но, если служба не стартовала, то задача запуска мониторинга выдает ошибку и переходит к следующему серверу, а мне нужно, чтобы она, например подождала еще 5 минут и повторила проверку и включила мониторинг
источник

P

Paul in ansible — русскоговорящее сообщество
и только потом переходила к следующему серверу, ну или в крайнем случае, останавливалась
источник

P

Paul in ansible — русскоговорящее сообщество
конечно, задав большой таймаут, можно получить почти 100% результат, но останется 0,1% фейла, а на проде это череповато
источник

КС

Константин Сергеевич in ansible — русскоговорящее сообщество
Paul
конечно, задав большой таймаут, можно получить почти 100% результат, но останется 0,1% фейла, а на проде это череповато
https://www.youtube.com/watch?v=yjwcbeL9S10&list=PL2dth4P1teyQlHVP9kymN7irhyFZH2yFS&index=19&t=1s
Возможно это вас натолкнет на решение.
источник

t

tenni in ansible — русскоговорящее сообщество
Paul
но, если служба не стартовала, то задача запуска мониторинга выдает ошибку и переходит к следующему серверу, а мне нужно, чтобы она, например подождала еще 5 минут и повторила проверку и включила мониторинг
игнорируешь ошибку, добавляешь логику с таймаутом и повтором логики запуска, после трех попыток роняешь таской с модулем фейл
источник