Timur
Как самый дубовый способ смасштабировать ансибл на десятки тысяч хостов можно порекомендовать разве что ansible-pull, где выполнение целиком делегируется клиенту. Но там есть свои издержки
Timur
В push модели деплоя масштабирование нужно продумывать для таких размеов
Timur
Вячеслав
нет конечно
Вячеслав
Давайте абстрагируемся от 30к хостов
Timur
Если абстрагироваться, то проблемы нет вообще
Вячеслав
запуск на 1к, зависание, возможные причины: сеть, корявый хост
Timur
Поскольку она у вас возникает исключительно при попытке запуска на больших наборах таргетов, если я правильно понял
Anonymous
Timur
Sergey
Timur
Можно смотреть опции игнора зафейленных подключений и таймауты
Вячеслав
Вячеслав
чем я собственно сейчас и занимаюсь
Вячеслав
еще же что-то может кешироваться? или нет?
Вячеслав
без сбора фактов я имею ввиду
Timur
Сами факты могут отлично кэшироваться
Timur
В том же redis, например
Вячеслав
удалил папку .ansible в хомнике и все заработало
Вячеслав
...
Вячеслав
Еще поставил транспорт парамико и отрубил ControlMaster
Вячеслав
но заработало только после удаления папки
Timur
Timur
Парамико - так себе транспорт
Timur
OpenSSH гораздо надежнее по-моему
Вячеслав
Ну все познается в сравнении, если логически подумать ты прав, даже исходя из того что openssh на плюсах писан, а питон не такой быстрый.
Anonymous
и тому были причины
Вячеслав
Ну с этим можно поэксперементировать, вы мне лучше объясните что могло быть такого в .ansible папке
Вячеслав
Из за чего вставал плейбук
Вячеслав
Там подпапки cp и tmp
Вячеслав
Причем сбор фактов выключен
Anonymous
Слава, "угомонись уже". нет у тебя понимания, как этим "хороводить". Не твое это.
Вячеслав
Ну ок, пойду цветочки выращивать
Anonymous
+
Вячеслав
Раз уж ты сказал
Вячеслав
Тут все такие профи
Вячеслав
С рождения наверное
Гайрат
Anonymous
С рождения наверное
я не могу Вам помочь, я могу посоветовать сменить работу Вам. т.к. Ваши задачи вызываются очень сильный диссонанс с Вашими вопросами
Anonymous
при всем моем уважении
Вячеслав
Моя работа меня устраивает и выполняю я её без нареканий. Эксперементировать мне никто не запрещает.
Anonymous
я не могу Вам помочь при всем желании
Вячеслав
Я понял
Вячеслав
Спасибо
Timur
Timur
Что-то на каком-то этапе могло вызывать проблемы. Что именно - сказать затруднительно без результатов дебага
Anonymous
Тим, та забей уже
Вячеслав
Nik
а кто-нибудь пробовал в молекулу? я тут смотрю в доку, в частности в тест на идемпотентность и не могу понять, можно ли покрасить таску какой нибудь аннтотацией, что бы она не влияла на результат теста?
Anonymous
tags
Anonymous
changed_when: False
Anonymous
^^ за такое можно "отхватить"
Anonymous
По чему?
Anonymous
если что-то возвращает разное значение, то лучше через условие
Anonymous
Например,
changed_when:
- '"ERROR" in result.stderr'
- result.rc == 2
Anonymous
По чему?
changed_when: False "искусственно говоришь", что изменений нет. а если изменения есть, а говоришь, что нет... это может ввести в заблуждение... как следствие неприятные кейсы...
Anonymous
Anonymous
если цель обмануть молекулу, то как бы не запускай ее с сценарием идемпотентности :)
Anonymous
либо по тегам разруливать, что проверять, что нет
Anonymous
В интерпрайсе идемпотентность «очень дорого» из-за тотального непонимания бизнеса нафига это надо. А если есть понимание, что надо, то тотальное отрицание, что это разработка со всеми вытекающими
Anonymous
аля, какой-то там "оператор вам начинает качать права, как разработчик"
Timur
Timur
Но то такое...
Timur
Лучше ничего не скипать и нормальный идемпотентный код делать по моему опыту
Timur
Timur
Что делает таск?
Timur
Nik
Timur
uri выдаёт результат запроса, который можно обрабатывать и на основе вывода выставлять флаг changed
Timur
По умолчанию, емнип, он вообще changed: false сам выдаёт
Timur
Тут вопрос возник. PostgreSQL кто какой ролью ставить предпочитает?
Anton
Timur
А если стендэлон?
citius
я вот этой ставлю
https://github.com/geerlingguy/ansible-role-postgresql
citius
кластер на патрони собираю своей потом.