Asgoret
А я не могу, меня там забанили
О_о сча гляну. Помнишь за что?
Dan
Ха, нет конечно, это сто лет назад было
Dan
Во времена Антона
simplemice.eth
ansible-playbook -i ansible.chat stop_offtopic.yml
Aleksey
Так парни давайте меньше офтопа?
Денис
помогите советом. пишу роли для деплоя приложения (по сути там rabbit, postgres и набор виндовых сервисов), и может быть ситуация, что приложение на один набор серверов нужно задеплоить в единственном экземпляре (на примере постгреса - условно создать 8 баз, какие-то схемы и пользователей), а на другой набор серверов - условно 5 раз продеплоить (соотвественно, 5 раз по 8 баз со схемами и пользователями, в один кластер постгреса, ну и виндовые сервисы тоже рядом все будут с разными параметрами). Вопрос в планировании - как лучше подобное организовывать? Я сейчас на стадии написания этого всего, поэтому могу по-разному вертеть. Из того что сейчас придумал - писать роли с инклудом и with_items, и передавать какой-нибудь словарь, в котором количество сервисов и параметры для них. Опыта пока не очень много, поэтому хочется услышать другие варианты, может я неправильно вообще подхожу к этому
Денис
ну и соотвестенно в груп варсах указывать эти словари, для каждого набора серверов
Vladislav 👻
Я так сейчас описываю для nginx
Vladislav 👻
По другому по теории можно, но потом контролить это будет проблемно
Денис
ну то есть это оптимальный вариант? он меня в целом устраивает, я спрашиваю больше для понимания, что я делаю не какую-то откровенную дичь :)
Vladislav 👻
Я лучше не придумал и не смог нагуглить... Правда надо бы скачать роль в гелакси, может там есть что-то интересное
Павел П.
Добрый день. Верно ли я понимаю, что логи AWX внутри докера в var/log отсутствуют по причине не очень правильной настройки, или это норм и нужно смотреть логи джанги? (только вот где тогда?) Ни с того ни с сего /api/v2/ начал returned status: 500 A server error has occurred. выдавать
Павел П.
И нормально ли это для хоста назваться "named_url": "/api/v2/hosts/sometestserver.ru++API test++someorganization/",
Artur
какие логи тебя интересуют ?
Павел П.
а какие есть?) там где можно найти причину по которой A server error has occurred.
Павел П.
в логах докера только обращения к серверу и немного сообщений джанги
Artur
где это ошибку получаеш ?
Павел П.
В веб морде при удалении хоста из инвентори. Или из группы. Нашел кажется причину, спасибо. Rabbitmq завис
Damir
Парни, помогите реализовать конструкцию с условиями.
Damir
- hosts: localhost tasks: - name: Task-1 shell: /bin/bash test_1.service - name: Task-2 shell: /bin/bash check status test_1.service ??? - name: Task-3 shell: /bin/bash test_2.service
Damir
Task-1 запускает сервис, который стартует несколько минут и при успешном запуске c помощью вывода /bin/bash check status test_1.service в output выводит сообщение, среди прочего Running и Ok. Я хочу с попощью Task-2 зафиксировать что у меня процесс стартовал успешно и только потом перейти к Task-3.
Timur
Сделать из ансибла баш
Damir
К сожалению, такое окружение
Timur
В смысле?
Timur
Сервис запускать нужно не через баш
Damir
Сервис так построен
matt
#проклято
Damir
Поискал по интернетам, не нашел умеет ли ансибл в такой кондишн
matt
может тебе wait_for нужен
matt
https://docs.ansible.com/ansible/2.7/modules/wait_for_module.html
Victor
и service вместо шелла
matt
а для сервисов написать systemd unit
Timur
Сервис так построен
Что за сервис такой? На какой версии Linux?
Victor
Ну так время перестроить
Damir
может тебе wait_for нужен
Как минимум он принимает параметр msg как условие, попробую поэксперементировать
Damir
Что за сервис такой? На какой версии Linux?
rpm based, 6.4. Сервис в виде говнокода на баше+питон, все это завернуто в ансибл
Victor
rpm based, 6.4. Сервис в виде говнокода на баше+питон, все это завернуто в ансибл
т.е. уже что-то на анзибле есть и ты это по человечески оформить хочешь?
Damir
Да, я пишу плейбук, который будет разворачивать эту среду (сервис), на бекап платформе
Victor
Да, я пишу плейбук, который будет разворачивать эту среду (сервис), на бекап платформе
Запустить тот плейбук, который разворачивает прод, но с параметрами от бекапа, как я понимаю, не вариант?
Damir
Его физически сейчас нет, а хочется автоматизировать этот процесс
Victor
а, т.к. всетаки новое.
Victor
У тебя там systemd есть?
Andrey
Его физически сейчас нет, а хочется автоматизировать этот процесс
тебе правильно посоветовали завернуть в systemd unit, это гораздо проще, чем оборачивать костылями в ansible
Victor
вот поддериживаю ,написать юнит, который будет запускать консольную команду и из азибла дергать уже его - топовое решение
Damir
Да, совет годный. А в случаи когда systend unit стартанет процесс, с помощью ансибла, мне надо будет в любом случаи с помощью того же ансибла убедиться, что процесс у меня стартанул без ошибок и прочего
Damir
Что бы перейти к следующему шагу деплоя
Victor
Наличие же ворнингов или ошибок в софте - тоже не скоуп анзибла
Damir
Тут даже не вопрос стартанул или нет, то что стартанет это факт, мне нужно убедится, что процесс перешел из состояния Running в Ok
Victor
Точнее как ты в этом собираешься убеждаться
Damir
В Task-2 засунуть что то типа service system_unit status и по факту output-а сделать выбор что делать дальше
Damir
Подождать, рестартануть процесс или перейти к Task-3
Damir
Как заметили выше, баш стайл засунуть в ансибл
Damir
Первый таск, стартанет процесс и только
Andrey
systemclt start service не вернёт пока не получит рабочий сервис или ошибку запуска
Victor
Первый таск, стартанет процесс и только
#!/usr/bin/env ansible-playbook - hosts: localhost connection: local tasks: - name: service service: name: ssh state: started register: service_status - name: service status debug: msg: "{{service_status}}"
Victor
и читай что выдал
Павел
Товарищи, кто пользует AWX для запуска плейбуков, скажите, пожалуйста, какое под него железо нужно? сколько он кушает ресурсов?
Egor
Товарищи, кто пользует AWX для запуска плейбуков, скажите, пожалуйста, какое под него железо нужно? сколько он кушает ресурсов?
https://docs.ansible.com/ansible-tower/2.2.2/html/installandreference/requirements_refguide.html От мощности зависит количество форков
Egor
Запустить можно и на минимальных мощностях
simplemice.eth
в докере поднять
Div
для регулярных исполнений у меня вмка 16 vcpu / 8 gb ram. для опытов и боевого деплоя двухксеонный hp z600 / 24 gb ram
Div
на сложных тасках выедает до половины ресурсов.
Павел
в докере поднять
Я его и поднял в докере на тестовой машинке в GCP с двумя ядрами и 4Гб озу на SSD. Засунул плейбук, который делает базовую настройку виртуалки - пакеты ставит и конфиги раскидывает. Ну то есть, ничего особо сложного, как я понимаю, ну и вот при установке пакетов LA до 20 растет =(
simplemice.eth
да и больше если сложный плейбук
simplemice.eth
лучше как выше написали 8гигов
Div
Скольео job в день?
на данный момент две громадных роли раз в сутки и одна в ручном режиме пару раз в неделю.
Pavel
Ну я запускал в докере 3гб оперативки, 2 ядра и ссд диск. Более менее для 1-2 задач в парк минкт
Div
по статистике ресурсов две запланированных задачи выедают на пике до 400mhz cpu и до 30% озу.
Div
может это поможет вам более точно расчитывать свои ресурсы.
Div
какая ирония...
mertv0e
Всем ку. Спасибо, разобрался
Victor
Я кажется понял где учат пути боли и страдания.