Pavel
Или, раздать сценарий десятку пользователей...
Pavel
И видеть кто когда его тыкал. это я так, выдумываю зачем
Alexey
по количеству хостов в инвентори ограничивают, насколько я помню
Alexey
но там же сейчас вроде открытый форк завезли, без всяких ограничений
Alexey
а я всё никак не доберусь попробовать его
Alexey
форк
Alexey
tower слишком дорогой мне получается
Alexey
да и не стоит он того, что просят
Nklya
Шо ж вы так все любите руками наяривать. Есть же готовая роль уже.
Nklya
https://github.com/geerlingguy/ansible-role-awx
Alexey
ну и есть в докере собранный сервер
Vlad
ну и есть в докере собранный сервер
Толстый как гитлаб? Оригинальный awx запускает набор контейнеров.
Alexey
Толстый как гитлаб? Оригинальный awx запускает набор контейнеров.
не знаю, не смотрел еще. Может и толстый. Это проблема?
Alexey
у меня гитлаб в докере уже года полтора в проде - всё никак не нарадуюсь.
Anonymous
скорее всего она никому не нужна
Aleksey
врятли такая есть.
Aleksey
создайте да
Aleksey
для создания группы по интересам ненадо быть крут
Aleksey
надо хотеть
Anonymous
пустая затея, если только в целом по VCS... И то сомнительно
Anonymous
наверное он активен
Aleksey
ну это сокарщенный список
Aleksey
вот этот норм https://github.com/goq/telegram-list
citius
народ, а как правильно решается проблема повторного проигрывания ролей, которые уже были накатаны? например есть некая роль base-setup.role которая включает всякие базовые твики, обновляет нужные пакеты и т.д. после того как она единожды была накачена на конкретный тазик, накатывать ее опять - потеря времени (если конечно сама роль не обновлялась). С учетом общей слоупочности ансибля это важно. ну и из этого вытекает - если какая-то роль проводит много подготовительных степов, и мы предполагаем что они единожды уже были проведены - также можно было бы частично скипать.
Nklya
теги-теги
citius
а что теги?
✙ DarkKC ✙
скорее факты уж
Nklya
1. Роль должна быть идемпотентна и не накатывать второй раз то же самое. 2. Если хочется скипать - есть теги
✙ DarkKC ✙
педаль в /etc/ansible/facts.d, если я не ошибаюсь, фактоотдавалки, которые будут отдавать статус проделанных степов. По ним и решай
citius
1. Роль должна быть идемпотентна и не накатывать второй раз то же самое. Роль есессно идемпотентна. но проверки занимают огромное количество времени, например есть хосты до которых пинг 250-300. 2. Скипать не хочется, хочется автоматом.
citius
насчет фактов спасибо, посмотрю.
✙ DarkKC ✙
велкам
citius
для сравнения - проигрывание одинакового набора тасков солтом и ансиблом, когда происходят только проверки - 6 сек на любое кол-во хостов солтом, против 15-20 сек на каждый хост ансиблом
citius
солт сам правда кака, вот и ищу способ ансибл ускорить
Alf 🙀
Делайте разные плэйбуки?
✙ DarkKC ✙
не, если у тебя есть некий набор задач для всех хостов, и этот набор большой - лучше юзать одну буку, но на стадии gather facts получить инфу об уже проделанных степах
✙ DarkKC ✙
если с хостами связь не очень, админ сидит в бункере на gprs - это логичнее вроде :)
✙ DarkKC ✙
ну прям сама она лежать нигде не будет. Но в особую папочку можно положить любой шустрый скриптец, который будет отдавать этот статус
✙ DarkKC ✙
как именно - вопрос личных предпочтений, флагами там, проверками, как хочется
Alf 🙀
не, если у тебя есть некий набор задач для всех хостов, и этот набор большой - лучше юзать одну буку, но на стадии gather facts получить инфу об уже проделанных степах
Делать провижн хоста и делать выкатку продукта - это набор задач, например, но дешевле иметь два плэйбука для этого нет?
✙ DarkKC ✙
http://docs.ansible.com/ansible/latest/playbooks_variables.html#local-facts-facts-d
✙ DarkKC ✙
ну провижн и деплой желательно разнести канеш
citius
ну мне пока видится удобнее всего - просто в метаинфе роли держать версию и кидать ее в факты. если версия не стала старше, ничего не делать.
✙ DarkKC ✙
но я так понимаю речь о том, что провижн состоит из лютого количества задач
Womchik
программирование ?
✙ DarkKC ✙
Womchik
:)
Womchik
не хватит ли просто кёширования фактов с большим временем?
✙ DarkKC ✙
может и хватит, но я-б не стал. Если у тебя набор фактов добывается одним скриптом, отрабатывающим милисекунды - это всяко лучше чем лепить проверки на каждый степ плейбуки
citius
не, лично мне - не хватит. во-первых раннеры которые катят таски могут быть в разных местах и общее хранилище гемор. во-вторых промежуток может быть большой в ройоне недель.
✙ DarkKC ✙
а кешировать или нет - дело личное
Nklya
Ну можно в каждой роли встроить сохранение версии на хост, чтение при прогоне и скип, если ничего не менялось. Но костыльненько звучит
Евгений
Всем привет ! Может кто сможет подсказать, что-то перерыл все, а ответ найти не могу... хочу через ansible скопировать файлик на удаленное устройтсво - юбик. Но выдает ошибку модуля: Failed to get information on remote file (/var/tmp/system.cfg): MODULE FAILURE Кто то встречался с подобным?
Евгений
да - Это юбик, галимый линукс ... так что точно должен быть
Евгений
При установки ansibe модули автоматом же подтягиваются, их же не надо ручками ставить вроде?
k
да - Это юбик, галимый линукс ... так что точно должен быть
В общем, у тебя падает сам модуль. Попробуй добавить -K, если ты become делаешь и оно пароль просит. Пока непонятно дальше. Скинь вывод с -vvvv?
Dmitry
и попробуй выполнить что-то через raw
Dmitry
хотя это наверняка заработает
k
При установки ansibe модули автоматом же подтягиваются, их же не надо ручками ставить вроде?
На твою локальную машину все нужное приезжает, ага, а на удаленный хост надо вкатывать всякие python-apt, но для copy не должно быть никаких доп. зависимостей, насколько я знаю.
k
Риалли, дай вывод с -vvvv
Евгений
Loading callback plugin minimal of type stdout, v2.0 from /usr/lib/python2.7/dist-packages/ansible/plugins/callback/init.pyc Using module file /usr/lib/python2.7/dist-packages/ansible/modules/core/files/stat.py <172.17.9.35> ESTABLISH SSH CONNECTION FOR USER: users <172.17.9.35> SSH: EXEC sshpass -d12 ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o Port=22 -o User=ybuth -o ConnectTimeout=10 -o ControlPath=/home/evgen/.ansible/cp/ansible-ssh-%h-%p-%r 172.17.9.35 '/bin/sh -c '"'"'( umask 77 && mkdir -p " echo $HOME/.ansible/tmp/ansible-tmp-1506439690.01-128744530334527 " && echo ansible-tmp-1506439690.01-128744530334527=" echo $HOME/.ansible/tmp/ansible-tmp-1506439690.01-128744530334527 " ) && sleep 0'"'"'' <172.17.9.35> PUT /tmp/tmpaMcKXx TO /etc/persistent/.ansible/tmp/ansible-tmp-1506439690.01-128744530334527/stat.py <172.17.9.35> SSH: EXEC sshpass -d12 scp -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o Port=22 -o User=ybuth -o ConnectTimeout=10 -o ControlPath=/home/evgen/.ansible/cp/ansible-ssh-%h-%p-%r /tmp/tmpaMcKXx '[172.17.9.35]:/etc/persistent/.ansible/tmp/ansible-tmp-1506439690.01-128744530334527/stat.py' <172.17.9.35> ESTABLISH SSH CONNECTION FOR USER: users <172.17.9.35> SSH: EXEC sshpass -d12 ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o Port=22 -o User=ybuth -o ConnectTimeout=10 -o ControlPath=/home/evgen/.ansible/cp/ansible-ssh-%h-%p-%r 172.17.9.35 '/bin/sh -c '"'"'chmod u+x /etc/persistent/.ansible/tmp/ansible-tmp-1506439690.01-128744530334527/ /etc/persistent/.ansible/tmp/ansible-tmp-1506439690.01-128744530334527/stat.py && sleep 0'"'"'' <172.17.9.35> ESTABLISH SSH CONNECTION FOR USER: users <172.17.9.35> SSH: EXEC sshpass -d12 ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o Port=22 -o User=ybuth -o ConnectTimeout=10 -o ControlPath=/home/evgen/.ansible/cp/ansible-ssh-%h-%p-%r -tt 172.17.9.35 '/bin/sh -c '"'"'/usr/bin/python /etc/persistent/.ansible/tmp/ansible-tmp-1506439690.01-128744530334527/stat.py; rm -rf "/etc/persistent/.ansible/tmp/ansible-tmp-1506439690.01-128744530334527/" > /dev/null 2>&1 && sleep 0'"'"'' ubnt | FAILED! => { "failed": true, "msg": "Failed to get information on remote file (/var/tmp/varna.cfg): MODULE FAILURE"
k
Легче не стало)
Dmitry
а файлик есть?
Dmitry
он ваще читаемый?
Aleksey
а теперь вывод этот руками проиграть
Евгений
файлик есть, он нормальный...
Dmitry
sudo -u ybuth cat /var/tmp/system.cfg
Евгений
через raw ошибки нет, но фаил не заливается
Dmitry
просто я думаю что если бы отьебнул модель - был бы трейс от него, не?
Евгений
щас
Евгений
не помогает
k
Чет пока могу только предложить пойти в иссю смотреть похожие и пробовать все подряд https://github.com/ansible/ansible/issues/20332
Nklya
микротиками рулят например только в raw
Pavel
на всякий случай спрошу: на удаленной машине юзер "ybuth" имеет доступ на запись в "/var/tmp/" ?
Евгений
микротиками рулят например только в raw
С микротиками там особая атмосфера... Там вообще через костыли приходится гулять...