Dima
хорошее замечание. если собирает и катает пакеты одна команда - проблем в N раз меньше.
✙ Bogdan
Камрады, что сделать, чтоб
local_action: copy content={{item.path}} dest=/tmp/find.result.txt
не перезатирал файл, оставляя только последнее значение?
Vladimir
Может использовать lineinfile? Если я правильно вопрос понял
✙ Bogdan
полностью оно выглядит так:
- find:
paths: "/var/www"
patterns: "*.sql"
recurse: yes
register: find_result
- local_action: copy content={{item.path}} dest=/tmp/find.result.txt
with_items: "{{ find_result.files }}"
но в результате я в dest файле вижу только последний найденый файл
Dima
открыть доку по модулю
Dima
force:
the default is yes, which will replace the remote file when contents are different than the source. If no, the file will only be transferred if the destination does not exist.
aliases: thirsty
Dima
а, тебе список надо
Dima
with_items: "{{ find_result.stdout_lines }}"
✙ Bogdan
не взлетает: 'dict object' has no attribute 'stdout_lines'
✙ DarkKC ✙
Ибо content в copy не дописывает, а переписывает :))
Dmitry
опять программирование на конфигах? :)
✙ DarkKC ✙
Добавляй в лог через local-action: lineinfile
✙ Bogdan
ога, так и сделал
Pavel
кстати ребят, а как нынче разворачивается percona 5.7? У ансибл был модуль mysql, но он с 5.7 не пашет, т.к. там пароль автогенерится и пихается в логи. А парсить их ну совсем некаеф.
Dima
Dima
в доке модуля find кстати описан случай лучших практик - нашел файлы и сделай с ними что-нибудь :)
Dmitrii
Pavel
Dmitrii
Ну хорошо же вроде начали
Dmitry
напомните, что я тогда сказал про редхатобояр с их говном rpm? :D пусть сами у себя ищут, им виднее? :)
Dmitry
про shell export это имхо не мое :)
Pavel
Согласен про редхат, но ынтырпрайз
Pavel
Не мои хотелки :(
Pavel
Хоть в контейнере разворачивай, ей богу
Dmitry
так и сделал однажды :) досталось легаси... посмотрел, охренел, засунул все это говно в LXC контейнер и забыл
Pavel
Ггггггг
Sergey
Sergey
"редхатобояре" == улыбнуло
Dmitry
Ггггггг
там была какая-то дичь с чуть ли не самопалом + старинная centos, причем на новой этот полусамопал не запускался. аж запустить НЕ на центосе - у меня зубы заболели и я сложил как есть
Pavel
знакомо, так на старом редхзате пришлось libres3 запускать.. но вот совсем не охота также со скулом поступать
Pavel
поэтому пока сижу на 5.5
Dmitry
последние :) про пароли
Dmitrii
Блеать. Да
Bogdan (SirEdvin)
Кстати, может кто знает. Папка filter_plugins работает на уровне ролей?
Bogdan (SirEdvin)
Да, таки работает, круто! Наконец-то можно будет выпилить столько костылей)
Bogdan (SirEdvin)
Ну или добавить, разумеется)
Bogdan (SirEdvin)
В целом, я заново открыл для себя мир программирования на конфигах)
Dima
господа, а кто как описывает Ansible в нормативке? я тут пошел в википедию, и получилось что Ansible - это СУК и УВО с ОИК.
Dima
Ansible (программа) — система управления конфигурациями и удалённого выполнения операций с открытым исходным кодом.
Dima
система централизованного управления конфигурациями - ещё неприличнее будет.
Dima
а. вот. вспомнил, это же просто СУ. спасибо :)
Pavel
система централизованного управления конфигурациями организации!
Dima
Yevhenii
Чат, а есть возможность вытянуть Host Variables, если я хосты получаю через
with_items:
- "{{ groups['prod'] }}"
Dima
а почему нет?
Yevhenii
А подскажи как, а то я понять не могу
Dima
тебе пример?
Yevhenii
да, буду благодарен
Dima
"{{ hostvars[item].internal_ip_storage }}"
Dima
соответственно, inventory:
ansible_host=logger_3 internal_ip_storage=192.168.210.4
Yevhenii
спасибо
Dima
я вот исползую такую штуку минимум в 2 местах
Dima
за год проблем не было
Dima
https://github.com/lastsky/ansible/blob/master/playbook-hosts.yml#L39
Dima
ну и ещё iptables на ней строю всегда, оч. удобно
Alibek
Всем добра! Ansible выкидывает ошибку при развертывании на этом файле https://github.com/mrlesmithjr/ansible-mariadb-galera-cluster/blob/master/tasks/update_etc_hosts.yml:
The error was: 'dict object' has no attribute u'ansible_eth0' - при том, что атрибут в hostvars есть
Alibek
Если кто наталкивался на подобное, как решали и как решили?
Dima
а вот gather_facts: yes поставь и сходи ansible all -m setup - там есть вообще ansible_eth0?
matt
может какой-нибудь ens192
Alibek
Dima
тогда ставь между тасками debug var=myvar и смотри где опять сломался http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable )
Dima
уже три или четыре раза его ломали. я заебался, честно говоря, и определяю переменные в одном месте. посмотрим что будет через год.
Ascandar
я использую так
ansible_default_ipv4.address
Ascandar
выше который у меня не получилось
Alibek
мля... сейчас убрал —limit на один хост - оно выполнилось...
TASK [r.mariadb : update_etc_hosts | Updating /etc/hosts For Name Resolution] *********************************************************************************************************************************************************
ok: [db01-corp] => (item=db01-corp)
changed: [db02-corp] => (item=db01-corp)
changed: [db03-corp] => (item=db01-corp)
changed: [db02-corp] => (item=db02-corp)
changed: [db01-corp] => (item=db02-corp)
changed: [db03-corp] => (item=db02-corp)
changed: [db02-corp] => (item=db03-corp)
changed: [db01-corp] => (item=db03-corp)
changed: [db03-corp] => (item=db03-corp)
Alibek
Dima
кстати тут спрашивали почему рандомно отпадают узлы иногда при выполнении длинных плейбуков
Dima
i have a fix!
Dima
gather_timeout=60 в ansible.cfg
Dima
ну и вагон багов, соответственно. https://github.com/ansible/ansible/issues/17316
Womchik
fact_caching кто-нибудь использует?
Evgeny
в модуле apt можно прокинуть опции для apt ? например отключить проверку сертификата Acquire::https::Verify-Peer=false - или только файлик в apt.conf.d ?
Алексей
Womchik
Womchik
и какой timeout?