@pro_ansible

Страница 522 из 625
Nik
23.07.2018
16:36:52
TASK [Gathering Facts] ***************************************************************************************************************************************************************************************** ok: [127.0.0.1]

Сколько хостов тут пишет?

Anton
23.07.2018
16:37:16
в пределах таска 20 хостов

но выполняются они поочереди

Google
Anton
23.07.2018
16:37:34
выводит 20

но не соазу

Nik
23.07.2018
16:37:52
хз

надо плейбуки смотреть

мб у тебя там так настроено

потом ради интереса у себя дамп сниму

но дефолтная его паралельность - такая какая есть

больше никак не наконфигурить

(в рамках хостов)

Anton
23.07.2018
16:38:52
ниче в плейбуках кроме сериала нету

остальное все для конкретного хоста

Sergey
23.07.2018
16:39:13
forks = сколько одновременно хостов обрабатывается

к сетевым железкам это не относится

Google
Anton
23.07.2018
16:39:38
а это куда печатать? в саму команду?

а у них как тада?

Sergey
23.07.2018
16:39:56
у тебя сетевые железки?

Anton
23.07.2018
16:40:03
да

Sergey
23.07.2018
16:40:13
вот тебе и ответ

ансибл не для этого случая - покупай софт от вендоров ?

Anton
23.07.2018
16:40:33
ответ в том что мне ни как не помочь?

Sergey
23.07.2018
16:41:16
модули для весёлых сетевых железок в большинстве своём вендорами не поддерживаются, поэтому написаны через задницу: у них connection_type = local

а локал форкам не поддаётся

Anton
23.07.2018
16:41:46
а, ну ясно

спасибо

Sergey
23.07.2018
16:42:05
всегда пожалуйста

Nik
23.07.2018
16:42:07
Sergey пока ты тут - подскажи плиз как запарлелить таск?

Anton
23.07.2018
16:42:28
вендоры тоже не умеют эту штуку делать нормально, слишком кастомная

придется ждать

Nik
23.07.2018
16:43:08
только один? O_o
да. Таск с with_items

задача простая - послать одновременно 20 http запросов с разным body

Google
Sergey
23.07.2018
16:44:27
задача простая - послать одновременно 20 http запросов с разным body
Cмотри....... Плейбуки выполняются последовательно для хоста, но несколько хостов могут параллельно выполнять один и тот же плейбук (forks=....).

Alex
23.07.2018
16:44:37
bashcode for i in $(ansible-inventory); do ansible-playbook -l $i playbook.yml & done

Sergey
23.07.2018
16:44:55
Однако средства для реально упоротой синхронизации искаропки в ансибле нет.

Nik
23.07.2018
16:45:09
делать loop на роль, в роль прокинуть переменную

а потом loop можно делать async судя по роли

но у меня даже переменная не прокидывается

Sergey
23.07.2018
16:45:58
придется ждать
Напиши свой нормальный connection_plugin. Вендорам срать - они поголовно продают свой софт с мышкой под винду ?

Nik
23.07.2018
16:46:22
bashcode for i in $(ansible-inventory); do ansible-playbook -l $i playbook.yml & done
это на самый крайний случай пока, оч нехочется так делать

Sergey
23.07.2018
16:47:13
вот как то так быть должно
Вижу странное. Как изначальная задача звучит, которую ты таким образом решаешь?

Anton
23.07.2018
16:47:38
Напиши свой нормальный connection_plugin. Вендорам срать - они поголовно продают свой софт с мышкой под винду ?
я прост не понимаю, почему нельзя запустить тоже самое несколько раз

Nik
23.07.2018
16:48:06
есть 20 файлов с описанием тестов. их POST запросом в веб сервис, он прокрутит их, и отдаст либо 200 и пустое тело, либо не 200 и текст ошибки в body

Nik
23.07.2018
16:48:19
последовательно запускать их - оч долго, над паралельно

Sergey
23.07.2018
16:49:26
я прост не понимаю, почему нельзя запустить тоже самое несколько раз
Потому что модули весёлых сетевых железок написаны для connection_type = local. Именно поэтому - потому что все соединения у тебя идут как бы на localhost, а сама модель исполнения ансибла предполагает очередь тасок для каждого хоста.

Ievgen
23.07.2018
16:49:42
я так ансибл пускаю на несколько групп

Sergey
23.07.2018
16:50:28
последовательно запускать их - оч долго, над паралельно
https://docs.ansible.com/ansible/2.5/user_guide/playbooks_strategies.html

тебе нужно free

заDDoS'ь свой сервис сам ?

Alex
23.07.2018
16:51:14
man parallel
Не везде есть

Google
Alex
23.07.2018
16:51:20
Отказался

Nik
23.07.2018
16:55:06
https://docs.ansible.com/ansible/2.5/user_guide/playbooks_strategies.html
да, но тогда он каждый таск выполнит на каждом доступном хосте

или все таски на всех хостах?

Nik
23.07.2018
16:55:31
И что за магию пытаются вообразить тут?

https://docs.ansible.com/ansible/2.5/user_guide/playbooks_async.html

Anton
23.07.2018
16:55:53
потребность есть же у многих

Admin
ERROR: S client not available

Sergey
23.07.2018
16:56:05
да, но тогда он каждый таск выполнит на каждом доступном хосте
английским по белому: A second strategy ships with Ansible - free - which allows each host to run until the end of the play as fast as it can

https://docs.ansible.com/ansible/2.5/user_guide/playbooks_async.html
это закинуть таск на выполение, а рещультат спросить как-нибудь потом

Nik
23.07.2018
16:57:12
или я дурак, или я не вижу, где это ложится в то, что он не будет пытаться выполнять все таски на всех хостах

Sergey
23.07.2018
16:57:15
Если у тебя какая-нибудь длинная операция, и тебе результат интересен в принципе, но нафиг не нужен прям вот ваще сейчас.

Sergey
23.07.2018
16:58:01
вот это как раз тест
я про async написал

Anton
23.07.2018
16:59:32
читатели реквестов

Sergey
23.07.2018
17:01:28
читатели реквестов
Эм...... это какие-то загадочные люди, я не слышал про таких.

Nik
23.07.2018
17:02:28
Если у тебя какая-нибудь длинная операция, и тебе результат интересен в принципе, но нафиг не нужен прям вот ваще сейчас.
но он не ждет ответа и завершает раньше плейбук. Я думал он их все хапросит в работу, и будет ждать пока все хавершатся

как то все не прямо

Google
Anton
23.07.2018
17:03:42
Эм...... это какие-то загадочные люди, я не слышал про таких.
контрибьюторы кароч. ониж на чем то основывают свои видения дальнейшей разработке продукта, а не рандомно по клаве лупят

Sergey
23.07.2018
17:05:22
контрибьюторы кароч. ониж на чем то основывают свои видения дальнейшей разработке продукта, а не рандомно по клаве лупят
Извини за капитанство, но, насколько я могу судить, есть более критичные вещи, чем поддержка весёлых сетевых железок. (кстати, ты же за них деньги же вендору платишь, попробуй стряси с него, это точно должна быть головная боль вендора)

Ну и это же опен-сорс, напиши сам нужное, тебе братья по пичальке в ноги поклонятся.

Nik
23.07.2018
17:07:22
тебе нужно strategy: free
не, с async как раз то что нужно.

- name: запускаем тесты hosts: 127.0.0.1 connection: local tasks: - uri: url: http://10.16.144.58:6650/testSingle method: POST timeout: 1800 body: "{{ lookup('file',item) }}" return_content: yes async: 1800 poll: 0 register: async_results with_lines: - ls -lah interface-h2o/*.yaml | awk '{print $9}' - name: Check sync status async_status: jid: "{{ async_result_item.ansible_job_id }}" loop: "{{ async_results.results }}" loop_control: loop_var: "async_result_item" register: async_poll_results until: async_poll_results.finished retries: 60

Alex
23.07.2018
17:07:29
А кто тут админ? Может бота для антиспамеров запилит? Кто то советова @FilterAlienBot

Nik
23.07.2018
17:07:38
работает прям как хотел

Sergey
23.07.2018
17:09:36
ну смотри, тебе виднее

Nik
23.07.2018
17:09:59
ну смотри, тебе виднее
ну честно, учитывая что на локалхсоте - перезайти на себя 20 раз - странно

Ievgen
23.07.2018
18:10:52
это закинуть таск на выполение, а рещультат спросить как-нибудь потом
если хост один (в данном случае локалхост) и есть loop в таске то async это как раз оно

Nik
23.07.2018
18:13:53
вопрос - а кто-нибудь пробовал управлять выводом таски? подрезать лишние поля, красиво выводить json-ы и так далее?

Nklya
23.07.2018
18:36:56
Вот про красивый вывод

Оказывается в Ansible 2.5 теперь можно включить вывод ошибок в красивом Yaml вместо простыни Json. TL;DR Достаточно добавить в ansible.cfg stdout_callback = yaml Подробнее в блоге Jeff Geerling https://goo.gl/u6b2TH

Vlad
23.07.2018
18:52:02
вопрос - а кто-нибудь пробовал управлять выводом таски? подрезать лишние поля, красиво выводить json-ы и так далее?
В самом ansible уже есть куча разных плагинов для вывода - https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/callback

Nik
23.07.2018
18:54:57
спасибо, ща буду пробовать

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