citius
если много хостов или (и) большой пинг - стоит
Aleksandr
много это сколько? для всех это понятие разное)
#Rλatan
3000 например это много?
Tadeusz
Очень
для энсибла)
Aleksey
особенно если все 3к под одним приложением это прям много
Aleksey
а если это 100500 окружений то не очень
Aleksey
Господа, а есть у кого-то опыт работы с mitogen? оно стоит того чтобы прикручивать к ансиблу или так, баловство
стоит. я сегодня прикрутил. потратил 2 минуты. раньше плейбук прогонялся за 27 минут. теперь за 7
Aleksey
Пока нет. Это первый тест в конце дня когда задолбало по 30 минут ждать прогон
Aleksey
Tadeusz
да ваще бредово и не воспроизводимо, практически)
Aleksey
Короче чем больше нод тем больше Профит
Tadeusz
угу
Sergey
Господа, а есть у кого-то опыт работы с mitogen? оно стоит того чтобы прикручивать к ансиблу или так, баловство
Зависит. Если ты от безысходности - может помочь. Если как кот из шутки - потому, что можешь - то не надо.
Aleksey
ну надругом плейбуке поймал багу. вот на таком коде падает # Read default value. - name: Read key/value pair for key {{ consul_service_key }} consul_kv: key: "{{ consul_service_key }}" state: present cas: 0 vars: ansible_python_interpreter: "{{ consul_control_python }}" register: consul_key_response changed_when: "False" check_mode: "False" вот так вот EOF on stream; last 100 lines received: bash: {{: command not found
Aleksey
грабля я так понимаю в подмене ansible_python_interpreter
Aleksandr
Зависит. Если ты от безысходности - может помочь. Если как кот из шутки - потому, что можешь - то не надо.
вот собственно реальной необходимости нет. потому и спрашиваю опыт людей, стоит ли этл внедрять. А у тебя есть какое-то информативное обоснование почему против? кроме очевидного что мы внедряем левую от ансибла приблуду которая становится точкой отказа с непредсказуемым результатом
Vladislav 👻
Господа, а есть у кого-то опыт работы с mitogen? оно стоит того чтобы прикручивать к ансиблу или так, баловство
Стоит, прирост до 60% где-то, основные операции быстрее происходят, но есть тонкость, если надо -vvv, то надо отключать
Lev
https://opensource.com/article/20/1/ansible-playbooks-lessons Jeff Geerling как всегда молодец. Прям годная штука про написание плэйбуков расписанная простым языком. Надо в код стайл на цитаты нарезать
Sergey
Только лайк могу добавить
Aleksandr
добавь😊
Aleksey
хостов 17. ла не мерял
Lev
хостов 17. ла не мерял
я эксперементирую на группе в 60+ хостов. немного потюненное ссш подключение. * было: 28 минут 5 трэдов, LA ~ 2-4 * стало: 8 минут 70 трэдов LA ~ 30
Владимир
Всем привет
Владимир
#AWX Есть INVENTORIES - KVMs в нем есть группы с 1 до 10 docker exec -it awx_task awx-manage inventory_import --inventory-name KVMs --source /home/hosts_add Команда импортирует внутрь этого KVMs, а в группы надо хосты руками разносить. Можно ли сразу в нужную группу импортировать?
Evgeny
Добрый день! Никак не могу разобраться с подстроками. Есть строка с кучей параметров, полученная с устройства вида " "system_print": "pin-status: no password required\n functionality: full\n registration-status: registered\n manufacturer: \"MikroTik\"\n model: \"R11e-LTE\"\n revision: \"MikroTik_CP_2.160.000_v012\"\n current-operator: MegaFon\n " Из нее нужно вытащить подстроку "MikroTik_CP_2.160.000_v012". Куда вообще копать. Я понимаю, что можно извлечь подстроку командой {{ansible_variable[x:y]}}, но как найти x, т.е. позицию вхождения первого символа?
Serg
может regex_search поможет?
Evgeny
может regex_search поможет?
Я натыкался на такой вариант, но недоразобрался. Сейчас поищу еще, спасибо!
Aleksey
а в AWX его реально прикрутить?)
там две переменные окружения и один питонопакет... ну даже не знаю
Отделение Bereke Bank
Отделение Bereke Bank
надо попробовать. у меня много времени тратится в куберовском плейбуке на slurp + copy content
Lev
а кол-во форков ты не пробовал увеличить? просто 5 - это искаропки
Дык увеличил же, остановился на 40 примерно. В итоге плэйбук бежит около 7 минут. Но дальше непонятно куда улучшать, да и надо ли. Думаю на ближайшие надцать месяцев головную боль снял
Sergey
Митоген+кол во трэдов
ОК, если у тебя это работает - хорошо.
Lev
ОК, если у тебя это работает - хорошо.
я обкатываю это пока. везде не тащу. но прирост в 4 раза... в итоге получается, выглядит заманчиво
Timur
я обкатываю это пока. везде не тащу. но прирост в 4 раза... в итоге получается, выглядит заманчиво
Да, для тех задач, где скорость деплоя критична, митоген - хороший вариант
ShadoWalkeR
Господа, есть вопрос. Смотрите в files есть примерно такая структура OuterDirA/ InnerDirAA/ fileAA fileAB InnerDirAB/ fileBA fileBB OuterDirB/... И тд. Хочется написать один yml который будет вызываться через include_tasks. От файлика требуется: - Проход по списку OuterDirA, OuterDirB, OuterDirC ... - Убедиться что на таргет хосте есть структуры OuterDirA/InnerDirAA, OuterDirA/InnerDirAB... - Скопировать все недостающие файлы - к примеру OuterDirA/InnerDirAA/fileAA -> host:OuterDirA/InnerDirAA/fileAA - Новые файлы должны подхватываться автоматически - просто чтобы положил в files чтото, а таска его сама подхватила
ShadoWalkeR
В целом все понятно, кроме одного момента - как мне получить полный список чего то в files плейбука?
Timur
У вас в роли в папке files файлы тасков лежат?
Timur
ShadoWalkeR
таски в tasks. Просто на серверах нужно время от времени файлы подкидывать с определенной структурой папок. Вот и приходится рожать такое решение
Timur
Ну, так в чем проблема?
Timur
Вызываете fileglob и идёте циклом по всем файлам
ShadoWalkeR
О, про fileglob не знал - надо почитать
Timur
Или вам просто отсинкать всю директорию нужно рекурсивно?
ShadoWalkeR
Мне нужно собрать список того что в files плейбука лежит.
ShadoWalkeR
Ну чтобы через copy перекинуть на удаленную машину
Timur
У плейбука, кстати, нет никаких папок. Это текстовый файл просто
Timur
Или вам просто отсинкать всю директорию нужно рекурсивно?
ShadoWalkeR
Не всю. У меня много чего в разные места по разным правилам растаскивается по серверам из files. Поэтому нужно немного отфильтровать.
Timur
В декларативном виде
Timur
Какого состояния на таргетах вы хотите достичь?
ShadoWalkeR
Проехали, пойду лучше гуглить - больше шансов получить ответ на свой вопрос
Sergey
Программирование на ансибле - к сломанному окружению, это плохая примета такая. Но плохая не потому, что плохо работает, а потому, что к плохим новостям.
Maksim
Привет Выполнение плейбука доходит до этого и все, никуда. Что можно предпринять? task path: /home/maksim/valo3.ansible/roles/install/elasticsearch/tasks/main.yml:7 Running systemd Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/systemd.py Pipelining is enabled. <t_ubuntu.valo.lab> ESTABLISH SSH CONNECTION FOR USER: maksim <t_ubuntu.valo.lab> SSH: ansible.cfg set ssh_args: (-C)(-o)(ControlMaster=auto)(-o)(ControlPersist=60s) <t_ubuntu.valo.lab> SSH: ANSIBLE_HOST_KEY_CHECKING/host_key_checking disabled: (-o)(StrictHostKeyChecking=no) <t_ubuntu.valo.lab> SSH: ANSIBLE_REMOTE_USER/remote_user/ansible_user/user/-u set: (-o)(User="maksim") <t_ubuntu.valo.lab> SSH: ANSIBLE_TIMEOUT/timeout set: (-o)(ConnectTimeout=10) <t_ubuntu.valo.lab> SSH: PlayContext set ssh_common_args: () <t_ubuntu.valo.lab> SSH: PlayContext set ssh_extra_args: () <t_ubuntu.valo.lab> SSH: found only ControlPersist; added ControlPath: (-o)(ControlPath=/tmp/ansible-ssh-%h-%p-%r) <t_ubuntu.valo.lab> SSH: EXEC sshpass -d8 ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o 'User="maksim"' -o ConnectTimeout=10 -o ControlPath=/tmp/ansible-ssh-%h-%p-%r t_ubuntu.valo.lab '/bin/sh -c '"'"'sudo -H -S -p "[sudo via ansible, key=rnvidvefaxgoonfqgbmkwqxmskidlxky] password:" -u root /bin/sh -c '"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-rnvidvefaxgoonfqgbmkwqxmskidlxky ; /usr/bin/python3'"'"'"'"'"'"'"'"' && sleep 0'"'"'' Escalation succeeded
Maksim
Операция - старт сервиса с помощью service
Sergey
в убунте системд вообще-то 😉
Maksim
в убунте системд вообще-то 😉
и? Synopsis Controls services on remote hosts. Supported init systems include BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart.
Maksim
И ничего: https://docs.ansible.com/ansible/latest/modules/systemd_module.html
Зачем использовать отдельный модуль systemd, когда можно использовать service?
Tadeusz
и, да, не забывайте страдать)
Maksim
отдельный service
systemd рулит только systemd, service рулит BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart.
Tadeusz
докажи энсиблом)
Sergey
чтобы усложнить себе жизнь
Если надо поддерживать такой зоопарк, то жизнь и так сложна 😃
Andor
Если надо поддерживать такой зоопарк, то жизнь и так сложна 😃
скажи это авторам публичных ролей которые делают роли для разнообразных систем/дистрибутивов с разными инитами