George
- name: Use a single pattern that contains a comma formatted as a list find: paths: /var/log file_type: file use_regex: yes patterns: ['^_[0-9]{2,4}_.*.log$'] register: war_file_non_default - set_fact: war_file: "{{ war_file | default(war_file_non_default) }}"
George
что-то такое
Fidelina
окей, спасибо!
Albert
Может тут кто знает:
Albert
I'm running a playbook with multiple plays, with free strategy. Is there a way to not continue to other plays if the previous play had failed hosts? any_errors_fatal doesn't work with free strategy
George
ихь бин не понимайт
George
что в твоем понимании есть разные плеи
Albert
Timur
https://docs.ansible.com/ansible/2.7/modules/stat_module.html#stat-module
Sergey
Это почему?
Потому что она потому и free, что все хосты бегут, кто во что горазд.
George
ну я вижу себе так
George
что можно тупо сделать вызов ansible-playbook столько раз, сколько нужно
George
с проверкой кода возврата
Albert
Потому что она потому и free, что все хосты бегут, кто во что горазд.
Это понятно почему any_errors_fatal не работает. Я поэтому и спросил есть ли у кого какие идеи
Albert
Мне не надо чтоб при первой ошибке он выпал. Мне надо чтоб на второй плей не перешел если в первом ошибки были.
Albert
вот
Мне не надо бежать опять. Мне надо чтоб второй плей не сработал
George
вообще ? или для конкретного хоста?
Albert
Вообще
George
так раздели плеи по плейбукам и см. выше.
Albert
Тогда другой функционал нельзя использовать. У меня параметры между плеями переходять
Nikolay
Как в джиндже в selectattr можно использовать переменную, передаваемую при запуске?
Nikolay
Типа selectattr('tags.Name', 'equalto', '{{ var }}')
Nikolay
map('replace', 'a', some_var), you don't use Jinja expression syntax when you're already in an expression, you use the variable directly.
Nikolay
а selectattr может в not equal to или хотя бы or? 🤔
[IPT] Dmitry
Привет! Как можно в ansible парсить переменную, только когда она состоит из двух строк? Вот думал что-то типа этого, но потом понял, что так не выйдет: - hosts: all tasks: - name: set var set_fact: variable: | qwe asd zxc - name: print var debug: msg: '{{ variable }}' - name: parse var debug: msg: '{{ variable | regex_search("(^.+\n){2}", multiline=True) }}' TASK [set var] **************************************************************************** ok: [localhost] TASK [print var] **************************************************************************** ok: [localhost] => msg: |- qwe asd zxc TASK [parse var] **************************************************************************** ok: [localhost] => msg: |- qwe asd
[IPT] Dmitry
variable.split("\n")|length > 1
- hosts: all tasks: - name: set var set_fact: variable: | qwe asd - name: print var debug: msg: '{{ variable }}' - name: parse var debug: msg: '{{ variable.split("\n")|length > 1 }}' TASK [print var] **************************************************************************** ok: [localhost] => msg: |- qwe asd TASK [parse var] **************************************************************************** ok: [localhost] => msg: false
[IPT] Dmitry
ЧЯДНТ?
Aleksandr
покажи что в переменной variable.split("\n")
[IPT] Dmitry
msg: - |- qwe asd
Aleksandr
прошу прощения, не туда смотрел, нужно использовать splitlines() вместо split("\n")
[IPT] Dmitry
прошу прощения, не туда смотрел, нужно использовать splitlines() вместо split("\n")
это объясняет, почему я для split не смог описания найти. работает, спасибо. я вот так на самом деле хотел: {{ variable.splitlines() | length == 2 }}
Артём
А что в ансибле есть для ip link create dummy0 type dummy? Что-то не осилил нагуглить.
Артём
Интерфейс поднимать. Конфигурационный файл есть, а вот ifup падает с «Device dummy0 does not seem to be present»
Артём
Абсолютно. В ручном режиме я создаю его командой. Вот интересуюсь, есть ли модуль соответствующий.
George
https://docs.ansible.com/ansible/latest/modules/net_interface_module.html ?
George
Не?
Артём
https://docs.ansible.com/ansible/2.4/nmcli_module.html ?
Читаю доку, но не вижу type dummy
George
Читаю доку, но не вижу type dummy
Там могут быть не все полимеры
Sergey
https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/net_tools/nmcli.py#L67
Sergey
Возможно, тебе generic подойдёт
Sergey
Опять же, код общественный — всегда можно запилить issue и PR.
Sergey
Либо башсибл в руки и пятно в карму.
George
https://jamielinux.com/docs/libvirt-networking-handbook/appendix/dummy-interface-on-rhel.html
George
Для референса
Артём
Это да, просто таска вроде такая очевидная, что я прям удивлён.
George
Вообще нафига дамми я не пойму
George
Это бридж пустой ? Зачем он нужен ?
George
На лупбек айпишник не навесить 😳?
Артём
И анонсировать его потом?
George
Я задачи не понимаю
Артём
Поднять адрес, анонсировать по бфд/рипу.
Артём
Вывесить на него приложение.
George
Дамми зачем ?
George
Субинтерфейс ?
George
Типа eth0.1
Артём
Да, субинтерфейс.
George
Ну, eth0.1 создай и. Все
Артём
Наверное, я не прав. Не суб. Он не имеет никакого отношения к eth0. eth0 - физический интерфейс. Если бы у меня на нём был vlan-id 1, я бы создал к нему eth0.1 dummy не зависит от физики под ним.
George
eth0.1 - это необязательно вилан
George
Это может просто быть второй айпи
Артём
L3 интерфейс.
Артём
Адрес с него анонсируется по одному из протоколов маршрутизации поверх любой имеющейся физики.
George
Ну, это бридж получается
citius
Поднять адрес, анонсировать по бфд/рипу.
дык лупбек для этого всегда и использовался.
Артём
Пяток лупбеков, по штуке на адрес?
George
более того. Концептуально тебе даже адреса не нужны