Денис
https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#using-multiple-inventory-sources
Anonymous
оу
Anonymous
@YoJiG_Kaluchka спасибо большое
Anonymous
@Dimainvestor будет жить. Поприветствуем!
inqfen
Вообще ты можешь через -I хоть 10 инвентори заюзать
Vladislav 👻
Натолкнулся на очень интересное поведение, понадобилось старые машинки подключить, написал скрипт для init.d, а хендлеры дергаются через service общие.
Ситуация, для systemd машины можно применять daemon_reload: yes в модуле, но при этом для машин с init.d ansible валится с ошибкой.
Вопрос, хендлеры отдельные стоит писать или как-то можно сделать проверку для daemon_reload?
Vladislav 👻
И да, в модуле service ничего нет про daemon_reload 😬
George
George
и вообще у init.d ес-но нет daemon_reload функции
Vladislav 👻
https://docs.ansible.com/ansible/2.6/modules/service_module.html
George
https://docs.ansible.com/ansible/latest/modules/systemd_module.html
George
daemon_reload
Vladislav 👻
Vladislav 👻
тоже работает 😬
George
ну логично, потому что service вероятно это не модуль полноценный
George
но вообще смысл использовать service на systemd машинах?
Vladislav 👻
типа чекает систему и ссылается на нужную?
George
у них же разная семантика с init.d
George
наверняка
Vladislav 👻
Vladislav 👻
Controls services on remote hosts. Supported init systems include BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart.
George
💩урсальный
George
попробуй им не сервисы, а таргетами поуправлять
Vladislav 👻
срать на таргеты 😬
George
я вообще фигею с того же дебиана, когда в системди дистрибутиве рсислог запущен через инит.д
George
наркомания блин
Vladislav 👻
мне надо понять, делать ли разыне хендлеры или можно как-то параметр для модуля сделать с проверкой
George
хорошо
George
смотри
George
инит.д
George
ты создаешь в нем новый сервис
George
вопрос в том - нужно ли перезапускать init.d чтобы он всосал новые сервисы?
Vladimir
George
https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/system/service.py#L476
George
он проваливается в системди все равно (
George
Vladimir
Я бы сказал - ключевой
George
@SLASH_CyberPunk
Vladislav 👻
оба
Vladislav 👻
часть машин с systemd, часть с init.d
George
и ты не хочешь делать два разных набора плейбуков
Vladislav 👻
пытаюсь сделать плейбук и думаю как лучше это сделать, разными хендлерами или как-то можно универсально в рамках модуля service
Vladimir
Ну сделай по какому нить условию
George
мне кажется, что service как модуль сосет, ибо не инкапсулирует нормально специфику
Vladislav 👻
ну т.е. разные хендлеры делать тогда, ибо я не понимаю, как мне условие засунуть в модуль service для daemon_reload
George
т.е. для простых вещей - типа включить и выключить сервис - он подходит
George
но для большей специфики... ну сорян
George
Vladimir
В фактах покопайся
George
мы же выяснили, что daemon_reload нет на init.d-машинах
Vladislav 👻
George
тогда сделай типа
George
if systemd ....
system_reload
George
(через when)
George
либо вообще жахни command: systemctl daemon-reload
Vladislav 👻
типа значение переменной daemon_reload через jinja темплейт и omit?
George
зачем?
George
- name: just force systemd to reread configs (2.4 and above)
systemd:
daemon_reload: yes
when:
SOMETHING
George
somthing - это платформа системди
George
"The init system on a host is available as Ansible fact ansible_service_mgr"
George
о
Vladislav 👻
Vladislav 👻
кажется вкурил, сделал доп хендлер с reload для systemd таски
George
👍
Timur
Timur
George
Фу. #ненадотак
ну, а как ты еще предлагаешь? в данном кейсе, как я понимаю, не идет речь о менеджменте конкретной системы инициализации
Артём
А просто
service:
…
daemon_reload: yes
ломается на инитд?
George
а мы притаскиваем ансибл на уже существующую инфраструктуру
Артём
Потому что на systemd он работает.
George
(иначе можно было бы сделать сильно проще)
George
George
у коллеги другая проблема
Timur
это тут причем?
Именно при этом. Разные хендлеры для разных сервис-менеджеров
Timur
systemd.yml
---
es_service_handlers:
- Reload systemd configuration
- Restart elasticsearch