Timur
Какова исходная задача?
Yuf
у меня выходит список юзверов под которыми запущен томкат
Yuf
на разных машинах
Yuf
есть где то 20 бэккендов везде запущенны томкаты под разными юзверами
Anonymous
@slnnk будет жить. Поприветствуем!
Timur
Какого состояния системы достичь?
Yuf
далее я вытаскиваю список юзверов и сую в темлейт tomcat systemd сервиса .. где нужно указать директорию и юзвера под котрым запускается сервис томката
Yuf
Что вы хотите сделать?
понапихать сервисд томката с разными home и юзверами
Yuf
раскинуть конфиг томката сервиса где user и home дира отличается(в systemd)
Yuf
Timur
Ещё раз: какое состояние системы вам нужно получить?
Yuf
Timur
создать сервис томката
Отлично. При чем тут всякие юзеры с их директориями?
Andor
ощущение что ты пытаешься пихнуть в системд параметры сейчас запущенного процесса, что несколько экстарвагантно
Yuf
есть гдето 10-20 backend где крутится tomcat. У всех томкатов разные home директории (типа /export/home/название_модуля) и юзверы под которыми они запущены(название_модуля)
Andor
то есть ты хочешь сделать системд юниты для сейчас запущеных томкатов чтобы при ребуте они поднялись системдой, а не по-старинке?
Yuf
На одном сервере один tomcat?
да, точнее по 2 ноды для одного модуля
Andor
жуть
Timur
да, точнее по 2 ноды для одного модуля
Тогда зачем такие извращения? Для каждого сервера пользователь и путь заранее известны?
Yuf
я не могу понять почему stdout урезает название модуля/юзвера
Andor
вот соглашусь, проще вписать 10-20 строчек в инвентори, чем вот это вот
Yuf
Тогда зачем такие извращения? Для каждого сервера пользователь и путь заранее известны?
ну можно было и вручную прописовать .. я хотел чтоб юзверов вытащить с запущеного томката
Timur
я не могу понять почему stdout урезает название модуля/юзвера
Это не stdout. Это у вас кривой однострочник похоже
Yuf
блин
Yuf
сорри
Timur
ну можно было и вручную прописовать .. я хотел чтоб юзверов вытащить с запущеного томката
Вытащите заранее любым способом, а потом просто пропишите нужные параметры в инвентарь
Yuf
спасибо за наводку
Yuf
я не там копал
Yuf
Andor
угу, один раз пройтись по хостам и собрать данные
Andor
тебе ваще надо pid-файл искать, а не вот это вот
Timur
Мой вам совет - выкиньте из ансибл кода весь башсибл
Timur
Сделайте нормальные таски с темплейтом и модулем systemd
Yuf
я пиды тоже через ансибл создал ) поэтому хочу по быстрее перенести на systemd
Yuf
)
Timur
А данные вытащите заранее и пропишите в параметры через инвентарь или плейбук
Denis
Привет коллегам Кто может показать пример работы с action плагином и как его правильно заюзать в playbook-е А то гугол ничего путевого не выдает
Nikolay
При помощи какого гуя можно запускать плейбуки с интерактивно заданной переменной непосредственно при запуске? К примеру гитлаб все хранит в CI, и без очередного коммита данные не поменяешь. В какую сторону сомтреть? В Женькинсе можно тако делать? Rundeck?
Nikolay
у меня просто сейчас такой случай, что переменная всегда будет меняться, и ее было бы удобнее задавать непосредтственно перед запуском в гуе
Andor
руками менять что ли будешь
Michael
@deniswork94 хочешь еще херни для упрощения жЫзни?! =)
Anonymous
На тему ?)
Michael
На тему ?)
https://t.me/sysodminium/3217
Michael
https://t.me/sysodminium/3217
Тупо ради поржать :)
Michael
Хотя и пригодилось
Anonymous
Гляну позже.
Michael
Nikolay
руками менять что ли будешь
Да ansible-playbook test.yml -e "var1=X" Где X задается интерактивно, т.к сегодня x должен быть равен 1, завтра двум, послезавтра опять одному, как вариант
Павел П.
добрый день! туплю на простом месте. Через uri - register получил myresponse вида {"url":"https://mxxxxx.bla.me/WMuXC0KGxX"} затем set_fact mylink = myresponse.content и в дебаге {{mylink.url}} - всё хорошо Затем я хочу получить только WMuXC0KGxX - делаю set_fact: linkpart="{{mylink.url}}" вывожу дебагом debug: msg="link part is {{linkpart | regex_findall('(?s).*https://.*/([^\r\n]+).*')}}" и получаю питоновскую юникод-строку [u'WMuXC0KGxX']" Как от нее избавиться? Беглый гугл пока не помог. | to_yaml не сработал
Andor
а откуда берутся знания какое значение навесить переменной?
Timur
Как вариант - https://github.com/vstconsulting/polemarch
Nikolay
а откуда берутся знания какое значение навесить переменной?
Много факторов, в основном - загруженность очереди задач, типы задач, но в целом эту переменную задают по ситуации
Andor
Много факторов, в основном - загруженность очереди задач, типы задач, но в целом эту переменную задают по ситуации
"по ситуации" значит что человек задаёт или это таки робот как-то определяет?
Nikolay
человек человечный
Andor
после regex_findall добавил | to_nice_yaml | regex_replace ('\n' , '') вроде получилось
{{ "http://user:password@www.acme.com:9000/dir/index.html?query=term#fragment" | urlsplit('path') }} # => '/dir/index.html'
Andor
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#id32
Andor
кажется это то что ты хочешь
Павел П.
как всё просто) спасибо"!
Timur
ок, спасибо гляну
Есть еще https://github.com/ansible-semaphore/semaphore
Andor
как бы мне сделать логику как у wait_for но чтобы оно получало статус докер-контейнера, я оттуда могу получать healthy
Andor
ну то есть ждать пока контейнер не будет healthy
Andor
контейнер запускаю через docker_container модуль
George
Не думаю, что из коробки есть
George
getContainerHealth() { docker inspect --format "{{json .State.Health.Status }}" $1 } waitContainer() { while STATUS=$(getContainerHealth $1); [ $STATUS != "\"healthy\"" ]; do if [ $STATUS == "\"unhealthy\"" ]; then echo "Failed!" return -1 fi printf . lf=$'\n' sleep 1 done printf "$lf" }
Andor
Ну, на шелле наговнякай
это я всегда могу
George
Вероятно, что можно циклом на ансибле сделать, без написания своего модуля
George
Если что-то умеет отдавать статус контейнера