Aleksey
я не хочу командой
Stanislav
из коробки никак имхо
Aleksey
это криво
Stanislav
пиши модуль свой
Stanislav
на пайтоне
Stanislav
- service: name=firewalld state=started
Stanislav
не канает?
Stanislav
или тебе прям нельзя запускать =)
Aleksey
мне надо узнать состояние
Aleksey
и есл ивключен добавить праивло если нет пройти мимо
jagga
status?
Aleksey
я хочу
- name: check if firewalld state
service:
name: firewalld
register: firewalld_state
- name: Add firewall permissions for nodes
firewalld:
rich_rule: "rule family='ipv4' source address={{ item.value.address }} accept"
permanent: true
state: enabled
with_dict: "{{ noc_config.nodes }}"
when: firewalld_state.running = true
Stanislav
Aleksey
не мой хост. не я принимаю решения.
Dmitry
мда :)
https://github.com/ansible/ansible-modules-core/pull/3316
Aleksey
дак они забили. но тут вот есть
Aleksey
https://docs.ansible.com/ansible/systemd_module.html
Aleksandr
а такое извращение не подойдет?
- name: stop firewalld
service:
name: firewalld
state: stopped
ignore_errors: yes
register: firewalld_state
- name: start firewalld
service:
name: firewalld
state: started
when: not firewalld_state.changed
- name: Add firewall permissions for nodes
firewalld:
rich_rule: "rule family='ipv4' source address={{ item.value.address }} accept"
permanent: true
state: enabled
with_dict: "{{ noc_config.nodes }}"
when: not firewalld_state.changed
Stanislav
Aleksandr
ой, not там лишние :)
Aleksey
Dmitriy
А в чём проблема?
Dmitriy
проваливаешься в шелл, делаешь регистер и ченджед_вен - фолс
Dmitriy
а то модули какие-то писать
Dmitriy
@freeseacher ☝️
Aleksey
шел бе..
Aleksey
шелл кодировку выставлять
Aleksey
я хотел без шел
Dmitriy
он бе, если ты через него управленческие воздействия совершаешь
Dmitriy
а ты просто спрашиваешь факт, по сути
Aleksey
ну у меня ансибл головного мозга и я хочу через модули а не через шел :)
Dmitriy
ок, у меня есть решение!
Dmitriy
используй модуль shell или command
Aleksey
о!
Aleksey
точно
Aleksey
спасибо
Dmitriy
a u serious? :)
Aleksey
Aleksandr
мой вариант решает твою проблему через модули :)
Aleksey
да да. drop table...
Aleksandr
на самом деле ты можешь там restrarted еще использовать
Aleksey
Alex, ты же шутишь надеюсь ?
Aleksandr
нет :) я пытаюсь найти тебе решение в рамках твоей задачи :)
Aleksey
в рам ках задачи я пытаюсь не трогать фаервол
Aleksey
я не знаю что там как так и не могу быть неи в чем уверенным
Aleksey
у меня публичный плейбук который настраивает часть сиситеы
Aleksey
реально получается надо через шел
Aleksey
по крайней мере в рамках 2.1
Aleksandr
кстати, если хочешь применить permanent правила сразу, то надо еще immediate=yes поставить
Aleksey
о
Aleksey
спасибо
Aleksey
это не знал
Aleksey
я зачем то reload делаю
Denis 災 nobody
Aleksey
2,2
Aleksey
а у меня на 2.1.1.0 уже какая то беда...
Denis 災 nobody
мигрировать.. делов-то ))
Aleksey
дак 2.2 нету еще :)
Александр
Ребят, я что-то информации не нашёл, куда-то на машине пишутся исполняемые команды?
Aleksey
никуда.
Александр
Ну т.е. если запускаю плейбук, он исполняет всё, но в машине где исполняется ни где не сохраняется информация?
Aleksey
можно вроде на каком то уровне отдадки это сохранят
Aleksey
но не помню как
Александр
Спасибо.
Max
Поройся в темпах на целевом хосте
Max
Он туда чота пишет, но я не вникал
Александр
Мне и не нужно что б он туда писал что-то)))
Max
а ну тогда ок )
Aleksey
в конечном счете
---
- name: check if firewalld state
shell: systemctl is-active firewalld
register: firewalld_state
- name: Add firewall permissions for nodes
firewalld:
rich_rule: "rule family='ipv4' source address={{ item.value.address }} accept"
permanent: true
state: enabled
immediate: true
with_dict: "{{ noc_config.nodes }}"
when: firewalld_state.stdout == "active"
tags:
- config
ignore_errors: yes
Dmitriy
@freeseacher changed_when: false для регистер добавь. Иначе у тебя каждый запуск "изменения" будут, хотя их там нет
Aleksey
да действительно. спасибо
Andrew
спасибо
Александр
Пожалуйста.
Александр
Ребят, как ребутаете хосты?
Aleksandr
не ребутаем)
Александр
Жаль, но уже решил проблему. 😊
Dmitry
наглядный пример, кстати, как человек задает вопрос, разговаривая с голосами в своей голове
Александр
Мне вообще ответ не нужен был, нужна была уточка
Александр
😆