Anonymous
Ребят, я наркоман или это в принципе нормально? - name: "Check firewalld installed" shell: which firewalld register: out failed_when: false - name: "Configure firewalld" when: - ansible_os_family == "RedHat" - out.stdout.find('/usr/sbin/firewalld') != -1
Anonymous
Проверка на то, установлен ли firewalld. Если да, то настраивает его
Vadim
А что сделать надо? Надо установить firewalld или нет?
Anonymous
Надо настроить его, если он есть
Constantin
А после настройки обычно делают еще и notify с перезапуском сервиса (т. е. еще и сервис у вас будет постоянно перезапускаться)
Anonymous
Notify там есть
Constantin
Notify там есть
Ну я вам про то и говорю, что у вас не идемподентная система получается. Таск будет выполняться постоянно, если есть notify — это не очень хорошо
Anonymous
А как можно это красивей решить?
Constantin
А как так вышло, что вы не знаете, что на конкретных хостах может быть, а может не быть firewalld? Вы же по идее знаете, машины на которых он должен быть? Для этих машин держать таск его установки и настройки через template, например. Какие-то такие мысли. Просто мне пока не понятна задача и картинка целиком, чтобы подсказать вам что-то конкретное, полная картинка вашей инфраструктуры есть только у вас, может вам 1 раз запустить и забыть про этот плэйбук. В этом чате полно гораздо более гуровых гуру, чем я, может они что-то подскажут дополнительно.
Vadim
У нас это управляется двумя переменными - юзать firewalld или iptables
Vadim
Соответственно ставится пакет и никаких гаданий
Vadim
Если так сильно хочется попрограммировать на ямле, то лучше проверять есть ли сервис с таким именем
Boris
а некоторые так не любят firewalld, что ставят iptables
Старый
а некоторые так не любят firewalld, что ставят iptables
скорее просто не хотят доку читать по нему
Старый
без него хватает 100500 дел которые нужно сделать срочно и до завтра
[IPT] Dmitry
а некоторые так не любят firewalld, что ставят iptables
скорее лень (нет времени) переделывать код инфры + в некоторых ситуациях в firewalld приходится использовать raw iptables
Andrey
Привет всем. Если мне нужно на машине создать сервис, который будет стартовать докеровский контейнер. Мне же провиженинг этого сервиса только нужно сделать?!
manefesto
да
Михаил Telsir
Котаны, есть вопрос. Я хочу из консоли передавать экстра-аргс переменные, что бы выполнялся тот или иной блок, но хочу, что бы переменные были удобные, одним словом. Подскажите, в какую сторону копать !?
manefesto
что значит удобными ?
Михаил Telsir
ну то есть например ansible-playbook playbook.yml -e "installsoft"
manefesto
во первых не так
Михаил Telsir
я знаю, что через var=value
manefesto
ansible-playbook playbook.yml -e "{'action':'installsoft'}"
Piri
Что бы выполнялся тот или иной блок лучше использовать таги
manefesto
ну а что у тебя там за мегапараметры ?
Михаил Telsir
я хочу сократить всю эту дребедень до одного слова
Михаил Telsir
Это уже личные заморочки\
manefesto
ну
manefesto
делай разные роли
manefesto
зато потом в говнокоде не запутаешься
Nik
как при использовании uri не дублировать ответ? Сервер просталяет content-type json, и один и тот же текст валится дважды
Михаил Telsir
делай разные роли
Разные роли - это самое простое
Михаил Telsir
делай разные роли
Я хочу понять, реализуемо это или нет, что бы расширить кругозор)
manefesto
я хз, по факту пишешь в плейбуке для роли условие when или тэг и при запуске плейбука передаешь переменную
manefesto
но
manefesto
минутку
manefesto
https://docs.ansible.com/ansible/devel/user_guide/playbooks_tags.html
manefesto
соответственно плейбук запускаешь так
manefesto
ansible-playbook playbook.yml —tags "installsoft"
manefesto
- hosts: webservers roles: - {'task': 'common', 'tag': 'all'} - {'task':'webservers', 'tag': 'installsoft'}
manefesto
как то так
manefesto
спасибо где ?
Михаил Telsir
Спасибо за док. Почитаю! Плюсик в карму!
Mikhail
Почему так я получаю словарь: - debug: msg: "{{ webpage4 }}" А так: - debug: msg: "{{ webpage4.content }}" строку, в то время когда content это вложенный словарь?
Mikhail
не надо так. - debug: var: webpage4['content']
спасибо, вроде бы лучше, но не до конца
Mikhail
Mikhail
как мне получить значение cpu.usage ?
Sergey
дальше дописывай хвостом ключи словарей
Sergey
так же в кавычках и квадратных скобках
Mikhail
Mikhail
Mikhail
- debug: var: webpage4['content']['error']
Sergey
Чот странное.... но в любом случае скриншоты в чат - не надо. Прояви, пожалуйста, уважение к тем, кто сидит с мобильных устройств.
Sergey
Возможен вариант webpage4['content'].error, но всё это выглядит очень странно.....
Mikhail
webpage4['content'].error: 'VARIABLE IS NOT DEFINED!: ''ansible.utils.unsafe_proxy.AnsibleUnsafeText object'' has no attribute ''error'''
Alex
webpage.content.my.super.key
Михаил Telsir
Он же тебе прямым языком говорит, что пытаешься вычитать несуществующую перекменную
Mikhail
ok: [localhost] => { "webpage4.content": { "error": "", "error_code": 0, "metadata": { "cpu": { "usage": 955894937 },
Mikhail
ok: [localhost] => { "webpage4.content.error": "VARIABLE IS NOT DEFINED!" }
Mikhail
если я обращаюсь так webpage4.content[0] то получаю { это нормально?)
Sergey
нулевой элемент строки, в которую неявно превращается словарь - да, нормально
Mikhail
The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'metadata' очень смущает эта надпись
Mikhail
как будто он изолирует вывод и меняет его тип
Alex
The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'metadata' очень смущает эта надпись
Я вдуплил, тебе надо флаг поставить чтобы он содержимое ответа не только как текст, но и как Джейсон обрабатывал. У тебя в переменной контент просто текст.
xfs_repair
Коллеги , можно ли ансибл использовать как систему мониторинга ю?
xfs_repair
Умеет ли ансибл выводить графику
Sergey
Ты, кажется, троллишь..... Впрочем - а что ты ожидаешь увидеть на этой графике?
Vadim
умеет конечно, libcaca поможет
Vadim
но Prometheus + Grafana все равно лучше
xfs_repair
Доступность сервисов ,диск ,память все такое
xfs_repair
Стандартное