
Антон
27.09.2018
08:27:39
угу
да ну...и так из 3, 2 доклада про ансибл было...

Sergey
27.09.2018
08:27:53
думаю про рутконф, например, все слышали

Антон
27.09.2018
08:28:11

Google

Sergey
27.09.2018
08:28:13
:-D

Антон
27.09.2018
08:28:29
Как будто это плохо
ну как бы перебор уже...имхо...расскажите как модули писать, про современные модули - да, полезно..а как ансибл использовать ну хз...

Viktor
27.09.2018
08:29:52
вчера про модули было же

Sergey
27.09.2018
08:30:04
ну не обязательно это будет здесь и сейчас и потом может у человека что то новое
в любом случае стоит сходит и поговорить

Антон
27.09.2018
08:30:14

Viktor
27.09.2018
08:30:46

Антон
27.09.2018
08:30:53
не знаю...рутконф на мой взгляд бесмыссленен т.к. он собирает только рукомьюнити. мы и в чатике можем пообщаться и на митапах

Sergey
27.09.2018
08:31:05

Антон
27.09.2018
08:31:07

Google

Viktor
27.09.2018
08:31:37
https://www.youtube.com/watch?v=7eP0KOD4zCw

Антон
27.09.2018
08:32:07

Sergey
27.09.2018
08:33:47

Антон
27.09.2018
08:34:56

Vadim
27.09.2018
08:53:42
Как будто это плохо
они сильно повторяются имхо. Ансибл да молекула, молекула да ансибл, да вот еще тесткитчен

А
27.09.2018
09:04:21
все мпривет

terry
27.09.2018
09:05:25

А
27.09.2018
09:05:59
нубу не поможете?
- name: Remove default block cgi-bin
blockinfile:
block: "{{ lookup('file', './templates/block.j2') }}"
dest: /etc/httpd/conf/httpd.conf
marker: "#-- {mark} ANSIBLE MANAGED BLOCK "
state: absent
block.j2
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
что не так? почему не удоляет?

bebebe
27.09.2018
09:06:54

А
27.09.2018
09:07:05
на удаленке
главное добаляется без вопросос - по этой же схеме :)

bebebe
27.09.2018
09:08:09
lookup выполняется только на локалхосте

А
27.09.2018
09:09:46
не lookup то на локалке, откуда он тогдабы шаблон для вставки брал
непойму как он сверяет блоки

bebebe
27.09.2018
09:15:00
а маркер в файле есть?

А
27.09.2018
09:23:45
упс
нет
все понял, не тем пытаюсь модулем пользоваться
тогда вопрос - какой модуль использовать чтобы вырезать кусок конфига по шаблону?
хочу в apache вырезать этот кусок
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>

Google

Kris
27.09.2018
09:46:51

А
27.09.2018
09:48:01
вот на это
<Directory "/var/www/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AddHandler cgi-script .sh
Order allow,deny
Allow from all
</Directory>
просто не сообращу как весь этот кусок выдрать

Sergey
27.09.2018
09:48:41

А
27.09.2018
09:51:06

Kris
27.09.2018
09:52:41
http://linux-notes.org/zamena-strok-slov-v-fajle-cherez-ansible-v-unix-linux/
нет?

А
27.09.2018
09:55:31
это построчно
в моем случае не пойдет построчно - </Directory> достаточно много
я так понял нет подобного модуля, надо писать свой или как все править конфиг целиком (template)

Sergey
27.09.2018
10:11:29
Вот пусть другие роли и пишут свои куски.

Lev
27.09.2018
10:30:00

А
27.09.2018
10:36:41

Asten
27.09.2018
10:38:23

Admin
ERROR: S client not available

Sergey
27.09.2018
10:56:21

om
27.09.2018
11:03:57

Terminator
27.09.2018
11:47:36
@methodx будет жить. Поприветствуем!

Google

Constantin
27.09.2018
13:47:28

Евгений
27.09.2018
13:49:26
Да, я так же переопредялял переменные в процессе сценария. Спасибо.

qww
27.09.2018
13:49:42
передаю модулю archive список каталогов
некоторых каталогов иногда нет во время работы модуля
есть ли красивый способ игнорировать отсутствие файлов?


Sergey
27.09.2018
14:48:16
Господа, а кто, что имеет сказать за handlers vs register?
Когда handler-ы оправданы, а когда register?
Общие соображения такие (дальше - полотенце, сори):
- handler-ы шарятся между ролями, значит, что в случае конфликта имен, сделав nofity в одной роли, можно случайно дернуть handler другой роли, который делает не то, что мы ожидали
- по-умолчанию, в случае нескольких сработавших handler-ов, если какой-то один падает, то все остальные не срабатывают
- по-умолчанию, без force_handlers, если в одном таске вызвался notify на срабатывание handler-а, а следующий task свалился, то handler не сработает и это может привести к неконсистентному состоянию - при следующем проигрывании изменений не будет -и handler-ы уже не сработают
- порядок вызова handler-ов гарантировать нельзя - по сути порядок определяется их порядком следования в файле, где они объявлены, а не порядком вызовов notify
- если в play-е, при подключении ролей, одни роли опираются на другие роли и подключаются в определенном порядке, то роли, которые играются позже могут сфейлиться, т.к. таски от notify еще не сработали (они срабатывают в конце play-я) и получается,
нужно знать какие handler-ы и в каких ролях живут (инкапсуляция страдает), чтоб разнести такие роли по разным play-ям.
- meta: flush_handlers позволяет дернуть все handler-ы, но тогда вопрос, почему одна роль влияет на то, как работают другие роли? пользовалю, который проигрывает плейбук хочется детерминированного поведения и когда он видит, что вроде бы играется одна роль, а потом из-за flush_handlers начинают работать таски других ролей, которых в текущей проигрываемой роли никак быть не могло, то это введет в заблуждение.
- в ansible можно играть плейбук пошагово начиная с какого-то таска - с тасками последовательность шагов будет такой, как объявлено в плейбуке и ролях, а в случае handler-ов - не понятно, какой будет порядок выполнения
- на handler-ы не распространяется serial
—-
итого - кажется, что register + отдельный таск постабильнее и понадежнее будут


Terminator
27.09.2018
14:49:33
@vyablokov будет жить. Поприветствуем!


Asten
27.09.2018
16:42:17
Господа, а кто, что имеет сказать за handlers vs register?
Когда handler-ы оправданы, а когда register?
Общие соображения такие (дальше - полотенце, сори):
- handler-ы шарятся между ролями, значит, что в случае конфликта имен, сделав nofity в одной роли, можно случайно дернуть handler другой роли, который делает не то, что мы ожидали
- по-умолчанию, в случае нескольких сработавших handler-ов, если какой-то один падает, то все остальные не срабатывают
- по-умолчанию, без force_handlers, если в одном таске вызвался notify на срабатывание handler-а, а следующий task свалился, то handler не сработает и это может привести к неконсистентному состоянию - при следующем проигрывании изменений не будет -и handler-ы уже не сработают
- порядок вызова handler-ов гарантировать нельзя - по сути порядок определяется их порядком следования в файле, где они объявлены, а не порядком вызовов notify
- если в play-е, при подключении ролей, одни роли опираются на другие роли и подключаются в определенном порядке, то роли, которые играются позже могут сфейлиться, т.к. таски от notify еще не сработали (они срабатывают в конце play-я) и получается,
нужно знать какие handler-ы и в каких ролях живут (инкапсуляция страдает), чтоб разнести такие роли по разным play-ям.
- meta: flush_handlers позволяет дернуть все handler-ы, но тогда вопрос, почему одна роль влияет на то, как работают другие роли? пользовалю, который проигрывает плейбук хочется детерминированного поведения и когда он видит, что вроде бы играется одна роль, а потом из-за flush_handlers начинают работать таски других ролей, которых в текущей проигрываемой роли никак быть не могло, то это введет в заблуждение.
- в ansible можно играть плейбук пошагово начиная с какого-то таска - с тасками последовательность шагов будет такой, как объявлено в плейбуке и ролях, а в случае handler-ов - не понятно, какой будет порядок выполнения
- на handler-ы не распространяется serial
—-
итого - кажется, что register + отдельный таск постабильнее и понадежнее будут
Все становиться проще когда в 1 роль не впихивают все что только в голову пришло. Раздроби все по ролям, сделай их независимыми друг от друга
Пример: надо выкатить nginx, и бекенд к ниму в докере
У тебя будут роли:
- установка и настройка докере
- установка и настройка nginx
- конфиги докер композов для бекенда
- конфиги для апстримов nginx
Все роли не зависят друг от друга
Потом в корне делаешь буку и перечисляешь нужные тебе роли и играешь
Последнее конечно лучше примером кода показать но я с телефона (
Как правильно выстроить каталог для буков написано в доке ансибла. Гуглиться что-то типа ansible best practices inveronment
Или на вчерашнем докладе про ансибл было в презенташке


Sergey
27.09.2018
16:50:18
вопрос про handler-ы, а не про декомпозицию задач. когда handler-ы хорошо, а когда - плохо

Andrew
27.09.2018
16:50:29

Asten
27.09.2018
16:50:52
Дак разные роли разные хендлеры они не пересекаются

Andrew
27.09.2018
16:51:31

Asten
27.09.2018
16:52:00
Я использую в каждой роли свои хендлеры т.к. у меня роли не связаны друг с другом
Бывают ситуации когда флашить хендлеры нужно это факт
И если изменений в конфигах не будет то после падения и хендлеры не сработают

Google

Andrew
27.09.2018
16:54:26

Asten
27.09.2018
16:54:32
Но это нужно учитывать при написании и обкатывать роли