Денис
https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#using-multiple-inventory-sources
Anonymous
оу
Anonymous
@YoJiG_Kaluchka спасибо большое
Anonymous
@Dimainvestor будет жить. Поприветствуем!
inqfen
Падажжиии. А как ты их комбинируешь?
Создаёт папочку со статик инвентори, очевидно же
inqfen
Вообще ты можешь через -I хоть 10 инвентори заюзать
Vladislav 👻
Натолкнулся на очень интересное поведение, понадобилось старые машинки подключить, написал скрипт для init.d, а хендлеры дергаются через service общие. Ситуация, для systemd машины можно применять daemon_reload: yes в модуле, но при этом для машин с init.d ansible валится с ошибкой. Вопрос, хендлеры отдельные стоит писать или как-то можно сделать проверку для daemon_reload?
Vladislav 👻
И да, в модуле service ничего нет про daemon_reload 😬
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 👻
и вообще у init.d ес-но нет daemon_reload функции
так про что и речь, если машина с systemd, то модуль service проглатывает параметр daemon_reload и даже делает его
Vladislav 👻
Vladislav 👻
тоже работает 😬
George
ну логично, потому что service вероятно это не модуль полноценный
George
но вообще смысл использовать service на systemd машинах?
Vladislav 👻
типа чекает систему и ссылается на нужную?
George
у них же разная семантика с init.d
George
наверняка
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 чтобы он всосал новые сервисы?
George
https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/system/service.py#L476
George
он проваливается в системди все равно (
George
Init.d или systemd
хороший вопрос
Vladimir
Я бы сказал - ключевой
George
@SLASH_CyberPunk
Vladislav 👻
оба
Vladislav 👻
часть машин с systemd, часть с init.d
George
и ты не хочешь делать два разных набора плейбуков
Vladislav 👻
пытаюсь сделать плейбук и думаю как лучше это сделать, разными хендлерами или как-то можно универсально в рамках модуля service
Vladislav 👻
и ты не хочешь делать два разных набора плейбуков
да в роли смысла нет, ибо отличие только на уровне темплейта для старта
Vladimir
Ну сделай по какому нить условию
George
мне кажется, что service как модуль сосет, ибо не инкапсулирует нормально специфику
Vladislav 👻
ну т.е. разные хендлеры делать тогда, ибо я не понимаю, как мне условие засунуть в модуль service для daemon_reload
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
if systemd .... system_reload
Фу. #ненадотак
George
Фу. #ненадотак
ну, а как ты еще предлагаешь? в данном кейсе, как я понимаю, не идет речь о менеджменте конкретной системы инициализации
Артём
А просто service: … daemon_reload: yes ломается на инитд?
George
а мы притаскиваем ансибл на уже существующую инфраструктуру
Timur
ну, а как ты еще предлагаешь? в данном кейсе, как я понимаю, не идет речь о менеджменте конкретной системы инициализации
- name: Load a variable file based on the service manager include_vars: '{{ service_manager }}' with_first_found: - '{{ ansible_service_mgr }}.yml' - systemv.yml loop_control: loop_var: service_manager
Артём
Потому что на systemd он работает.
George
(иначе можно было бы сделать сильно проще)
George
у коллеги другая проблема
Timur
это тут причем?
Именно при этом. Разные хендлеры для разных сервис-менеджеров
Sergey
мы же выяснили, что daemon_reload нет на init.d-машинах
.....потому что там не отдельно лежащей в RAM копии скриптов.
Timur
systemd.yml --- es_service_handlers: - Reload systemd configuration - Restart elasticsearch