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
Timur
Сделать из ансибла баш
Damir
К сожалению, такое окружение
Timur
В смысле?
Timur
Сервис запускать нужно не через баш
Damir
Сервис так построен
matt
#проклято
Damir
Поискал по интернетам, не нашел умеет ли ансибл в такой кондишн
Victor
matt
может тебе wait_for нужен
matt
https://docs.ansible.com/ansible/2.7/modules/wait_for_module.html
Victor
и service вместо шелла
matt
а для сервисов написать systemd unit
Victor
Ну так время перестроить
Victor
Damir
Да, я пишу плейбук, который будет разворачивать эту среду (сервис), на бекап платформе
Damir
Его физически сейчас нет, а хочется автоматизировать этот процесс
Victor
а, т.к. всетаки новое.
Victor
У тебя там systemd есть?
Victor
вот поддериживаю ,написать юнит, который будет запускать консольную команду и из азибла дергать уже его - топовое решение
Damir
Да, совет годный. А в случаи когда systend unit стартанет процесс, с помощью ансибла, мне надо будет в любом случаи с помощью того же ансибла убедиться, что процесс у меня стартанул без ошибок и прочего
Damir
Что бы перейти к следующему шагу деплоя
Victor
Victor
Наличие же ворнингов или ошибок в софте - тоже не скоуп анзибла
Damir
Тут даже не вопрос стартанул или нет, то что стартанет это факт, мне нужно убедится, что процесс перешел из состояния Running в Ok
Victor
Victor
Точнее как ты в этом собираешься убеждаться
Damir
В Task-2 засунуть что то типа service system_unit status и по факту output-а сделать выбор что делать дальше
Damir
Подождать, рестартануть процесс или перейти к Task-3
Damir
Как заметили выше, баш стайл засунуть в ансибл
Victor
Damir
Первый таск, стартанет процесс и только
Andrey
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
Запустить можно и на минимальных мощностях
simplemice.eth
в докере поднять
Div
для регулярных исполнений у меня вмка 16 vcpu / 8 gb ram.
для опытов и боевого деплоя двухксеонный hp z600 / 24 gb ram
Div
на сложных тасках выедает до половины ресурсов.
Павел
в докере поднять
Я его и поднял в докере на тестовой машинке в GCP с двумя ядрами и 4Гб озу на SSD. Засунул плейбук, который делает базовую настройку виртуалки - пакеты ставит и конфиги раскидывает. Ну то есть, ничего особо сложного, как я понимаю, ну и вот при установке пакетов LA до 20 растет =(
simplemice.eth
да и больше если сложный плейбук
simplemice.eth
лучше как выше написали 8гигов
Pavel
Div
Скольео job в день?
на данный момент две громадных роли раз в сутки и одна в ручном режиме пару раз в неделю.
Pavel
Ну я запускал в докере 3гб оперативки, 2 ядра и ссд диск. Более менее для 1-2 задач в парк минкт
Div
по статистике ресурсов две запланированных задачи выедают на пике до 400mhz cpu и до 30% озу.
Div
может это поможет вам более точно расчитывать свои ресурсы.
Egor
Div
какая ирония...
mertv0e
Всем ку. Спасибо, разобрался
Victor
Я кажется понял где учат пути боли и страдания.