Aleksey
лучше template
Tadeusz
smtpd_milters = inet:127.0.0.1:8891, inet:127.0.0.1:8893 non_smtpd_milters = $smtpd_milters milter_default_action = accept milter_protocol = 2 virtual_alias_maps = hash:/etc/postfix/virtual transport_maps = hash:/etc/postfix/transport_maps
Aleksey
может быть годно blockinfile. может assemble
Tadeusz
ну как ты темплейтить будешь?) там всякие readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
Tadeusz
и версии различаются постоянно
Aleksey
лучше точно знать что ты ставишь чем не точно.
Aleksey
в некоторой перспективе оно стреляет.
Tadeusz
та да, но хочется не говнокодить в конфигах)
Aleksey
особенно когда вдруг в main.cf не то что ты ожидаешь...
Firestalk
в таких случаях обычно ставят конкретную версию софта, выводя саму версию в переменную
Tadeusz
ой, еще за postfix версией не хватало следить :))
Aleksey
дело ваше кушать вам :)
Firestalk
я не следил за версией питон-библиотеки, которая ставилась в venv, однако дало потом по пальцам хорошо
Tadeusz
пусть прогеры следят за версиями в venv’ах
Firestalk
Пусть. И пусть скажут, какая версия стабильна и нужна
Firestalk
тогда проблем меньше будет ведь
Tadeusz
- name: Updating a line using Ansible blockinfile module blockinfile: dest: /etc/postfix/main.cf marker: <!-- {mark} Adding postfix settings --> block: | smtpd_milters = inet:127.0.0.1:8891, inet:127.0.0.1:8893 non_smtpd_milters = $smtpd_milters milter_default_action = accept milter_protocol = 2 virtual_alias_maps = hash:/etc/postfix/virtual transport_maps = hash:/etc/postfix/transport_maps
Aleksey
работает ничуть не хуже чем template + lineinfilne c include
Aleksey
но вероятности получить жопу в случае инклуда несколько меньше.
Aleksey
впрочем по началу "и так сойдет"
Tadeusz
фух, замучался… 5 ролей запилил, тасок 40 наверное
Tadeusz
уже крыша едет от ansible’а
Vadim
Луууучше всего заставить постфикс инклюдить файл, который ты из темплейта генеришь
GithubReleases
https://github.com/ansible/ansible/releases/v2.4.4-0.1.beta1 was tagged
Alexandr
ребят, а может кто навскидку на память подскажет, как элемент в with_items на несколько строк делить? а то длинный получается, некошерно
Alexandr
не, это логично. у меня как раз-таки итерации длинные (много переменных). типа такого - module: "echo {{ item.1 }} {{ item.2 }} {{ item.3 }} {{ item.4 }} with_items: - { 1: "somevar", 2: "somevar", 3: "somevar", 4: "somevar"} и вот поделить бы - { 1: "somevar", 2: "somevar", 3: "somevar", 4: "somevar"} на несколько строк
Nklya
В yaml можно собирать мультилайн строки в одну с > и | https://stackoverflow.com/questions/3790454/in-yaml-how-do-i-break-a-string-over-multiple-lines
Vadim
умвр - https://gist.github.com/vrutkovs/a3370453fe00ae2afafbb6ceb049fcda
George
Фигурные скобочки в списке можно убрать. yaml и так поймёт, что это словарь.
Andrew
Кто-нить понял, при импорте или инклюде премнные проваливаются во внутрь или нет?
John
друзья, а киньте пжлста в меня мануал по найстройке тасков, в которых должен отработать хэндлер, если таск выполнился со статусом changed
Andrew
Хочу переиспользовать роль не объявляя новых переменных
Andrew
И разницы не пойму между импортом и инклюдом, и багов какая-то куча
Andrew
Чего еще то
John
сами? то есть не надо ничего дополнительно указывать?
Александр
сами, в этом их суть
Александр
надо указать название хендлера
Andrew
Да ладно
Александр
если хочешь, чтобы накопившиеся хендлеры выполнились принудительно в определённом месте плейбука - ставишь meta: flush handlers
Andrew
Вообще вроде ничего не надо…
Александр
сами? то есть не надо ничего дополнительно указывать?
- name: configure telegraf to monitor rabbitmq template: src=etc/telegraf/telegraf.d/rabbitmq.conf.j2 dest=/etc/telegraf/telegraf.d/rabbitmq.conf owner=telegraf group=root mode="u=rw,g=rw" notify: restart telegraf when: telegraf_binary.stat.exists tags: - monitoring если конфиг поменялся, будет вызван хендлер, указанный в notify
Александр
Это к хендлерам не относится, обычное условное выполнение: в этом же файле выше - name: check if telegraf is installed stat: path=/usr/bin/telegraf register: telegraf_binary tags: - monitoring
Александр
нет
Mikhail
[stage:children] site db [site] site2 ansible_ssh_host=blabla2 site1 ansible_ssh_host=blabla2 [db] db1 ansible_ssh_host=blabla Посоны, есть ли понимание, почему внезапно у меня перестал работать подобный инвентори, ругясь на [stage:children]? Менял до этого только таски в ролях.
Vadim
нужно сделать картинку "Stop using INI inventories, get some help"
Vadim
например https://github.com/ansible/ansible/issues/36544
Mikhail
нужно сделать картинку "Stop using INI inventories, get some help"
Таки нашел причину. У меня анс на 3'м питоне крутится. На втором норм, на третьем начинает выдавать ругательства. И правда, легче все на ямл перепилить.
Joe
http://prntscr.com/ii8vpu Подскажите где ошибка, на сервера ansible коннектится под рутом?
k4k
а ключ рутовый подсовываешь?
Joe
а ключ рутовый подсовываешь?
Мой локальный ключ идентичен, и для root и developer на удаленных хостах
Vadim
http://prntscr.com/ii9070
тогда ansible_user вместо remote_user?
Vadim
Аналогично Root
тогда можно вывод с -vvvv вместо одного -v? там будет написан юзер который юзается для коннекта
Joe
тогда можно вывод с -vvvv вместо одного -v? там будет написан юзер который юзается для коннекта
ESTABLISH SSH CONNECTION FOR USER: root Но почему, я пользователя указал в окружении?
k4k
ansible какой версии?
k4k
а пробовали в плейбуке прописать remote_user:
k4k
?
Joe
Так я команду запускаю, а не плэйбуку
Vadim
Так я команду запускаю, а не плэйбуку
а в ansible.cfg remote_user не переопределяется?
Vadim
кстати, такая тулза (плагин?) была бы полезна - показать какая падла переменную переписала
Vadim
никто не встречал?
Joe
В ansible.cfg переменная закоменчена
Aleksey
наверняка делали
Vadim
чот не вижу в их callback plugin такой специфики, видимо предполагается потом в базе фильтровать по set_fact?
Joe
@vrutkovs @Roman_Kuchuk http://prntscr.com/ii9oxf Когда указываю непосредственно в группе пользователя, логинится верно что за пижня?
Vadim
https://github.com/ansible/ansible/issues/new title: вы ебанулись? description: <вставь эти картинки>
Vadim
CONTRIBUTION_GUIDELINES_russian.md
George
Скажите, а кто-нибудь боролся с handler'ами при делегации include/import_role? Мне нужно, чтобы handler отработал там же, где и делегированная таска.