Denis
Roman
я правильно понимаю что gather facts можно отключить только для play но не для task?
Sergey
Sergey
хотя нет, правильно, это я тебя неправильно поправляю 😊)))
Roman
👌
Sergey
на уровне тасков факты не собираются уже
Sergey
поэтому и отключение нинада
Nklya
ну отключение нада когда питон через raw ставищь например
Nklya
---
- name: Check && install python
hosts: all
become: true
gather_facts: False
tasks:
- name: Install python for Ansible
raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
changed_when: False
Nklya
два плея в одном плейбуке, или два плейбука, по другому не знаю как
Roman
Понял, спасибо.
inqfen
Господа использующие dynamic inventory, юзаете готовые скрипты или велосипеды пишете?
inqfen
А то мне вот надо бы и не знаю, искать готовое или самому писать
Ждун
7 бед 1 ответ - вставь костыль изобрети велосипед
Nklya
ит депендс.
можно взять готовое и дописать что нужно
Roman
Nklya
А как же питончик, зачем монстриков на баше рожать?
Anton
bebebe
Nklya
я тож люблю страшные однострочники))
и даже на питоне их делал))
bebebe
в целом вкусовщина конечно
bebebe
Я все никак не овладею в полной мере jq, часов 8 помойму убил на конвертацию ldiff в JSON при помощи jq
Так и не вышло
Lex
bebebe
Но зачем?
Чтобы засунуть в факты ansible
Lex
Lookup плагин?
Sergey
Sergey
https://gist.github.com/Xophmeister/33e6abe5e055e122f5093f1acbc91793
Sergey
https://www.python-ldap.org/en/latest/reference/ldif.html
bebebe
https://gist.github.com/Xophmeister/33e6abe5e055e122f5093f1acbc91793
второе нагуливал, непонравилось, первое закрыл после <?php
вот моё решение:
ldapsearch -o ldif-wrap=no -LLL ... | sed -r 's/([^:]+)::? (.*)/"\1":"\2",/' | awk 'BEGIN {printf("{\n")} {printf("%s\n", ($0 == "") ? "\"\":\"\"}{" : $0 )}' | jq '[.]'
Sergey
Sergey
она не такая простая, как кажется первоначально
bebebe
bebebe
то решение что я написал выше - работает на моем наборе данных, думаю в общем случае оно будет работать мягко говоря не правильно.
bebebe
http://termbin.com/44f6
вот тут выложил немного артефактов от моих изысканий, может поможет кому-нибудь
bebebe
там немного csv есть, т.к. есть рабочий ldiff->csv, и csv->json
Anonymous
Подскажите пожалуйста, нормальная практика рулить состоянием сервисов через модуль 'service', даже если на целевой машине есть systemd и можно через него управлять?
кря
Anonymous
Ну мало ли, можно как вариант фильтровать по distribution_major_version для разных ОС, но выглядит костылём. Потому предположил что через service будет логичней сделать
кря
Anonymous
Да, он умеет это. На всякий случай решил уточнить best practice. Спасибо
bebebe
Anonymous
Назрел такой вопрос, подскажите пожалуйста как правильно сделать.
В плейбуке есть задача на добавление правила файрвола.
Как правильно написать условие, чтобы на тех системах, где есть firewalld добавлялось через его модуль, а иначе через модуль iptables?
Или хотя бы подскажите, копать в эту сторону? https://docs.ansible.com/ansible/latest/user_guide/playbooks_conditionals.html
Nklya
вынести в отдельный плейбук разные добавление правил и инклудить их в зависимости от фактов
Anonymous
Спасибо
Nklya
если это один экшен, то можно в одном плейбуке, просто будет несколько условий
Nklya
https://github.com/geerlingguy/ansible-role-docker/blob/master/tasks/main.yml#L6
как я уже говорил, полезно смотреть на роли в паблике
Anonymous
Ну в этом примере condition'ы по os_family. Это я понимаю. А как быть в том случае, если надо фильтровать не по семейству ОС, а по наличию или отсутствию определенного пакета (firewalld в моем случае)? Фактами разрулить?
Nklya
ну если не можешь разделить по os_family, то костылить какой-то запрос, который выясняет есть ли firewalld, который при сваивает переменной, а по ней уже when
Anonymous
Понял, спасибо. Все же по os_family поделю в этом случае
Nklya
можешь посмотреть, возможно в фактах есть про firewall
например вот systemd факт https://github.com/cndies/ansible-role-gotty/blob/master/tasks/main.yml#L31
Azzam
здаров ребята
Azzam
есть вопрос по поводу возможности ансибла работать с nftables
Azzam
ктото сталкивался уже?
Rachel
Привет, ребята! Можно ли в excel сделать смену формата ячейки через if?
Timur
Rachel
Timur
Там через Conditional Format это делается, если без VBA. Можно вот отюда начать:
https://support.office.com/en-us/article/add-change-or-clear-conditional-formats-8a1cc355-b113-41b7-a483-58460332a1af
Valery
Здравствуйте!
Подскажите пожалуйста, что за параметр такой "pattern = *" в конфигурационном файле ansible.cfg ? Дело в том что в ansible 2.5 этого параметра нет (
Vadim
Valery
Ruslan
Ребята, подскажите, пожалуйста.
Необходимо выполнить задачу очистки каталогов после сборки проекта, даже если сборка закончилась неудачно.
Имеется плейбук
- hosts:
- stand
roles:
- role: build
Как оформить таску и куда ее записать - необходимо чтобы она выполнялась последней при любых стечениях плейбука:
- name: remove project files
file:
path: "{{ item }}"
state: absent
...
shine
если колхозно, то закатай всё в блок, последним таском модуль шел и удаление.
Ruslan
А как сделать чтобы этот таск выполнялся даже после фейлов?
Eduard
Отдельным task в запускаемом ямле
Eduard
Если минимальный костыль
Ruslan
т.е. не внутри файла main.yml у роли, а в самом плейбуке?
Stepan T.
ignore_error: yes, выхлоп в какой-то лог, чтобы знать, что что-то сфэйлилось
Stepan T.
Но это не самый лучший подход