@pro_ansible

Страница 576 из 625
Mikhail
12.09.2018
11:53:27
возможно, уже спрашивали, но 10к сообщений листать не вариант. Как более удобно в инвентори расписать сотню хостов по разным группам? Причем один хост может быть в одной или нескольких группах. Без дублирования никак?

Виктор
12.09.2018
11:53:53
в видюшках есть

вон выше закреплены

Mikhail
12.09.2018
11:54:07
пока рабочая идея: отдельно файл в инвентори со списком хостов в yaml-формате и отдельно файлики с группами в формате [groupname]

Google
Div
12.09.2018
12:09:12
добрый день, коллеги. подскажите пожалуйста, возможно ли подменить переменную в цикле если условие не соблюдено?

для примера, я стягиваю с сервера кучу репов гит и все должны быть в ветке dev но в одном эта ветка просто не существует и цикл падает

Vadim
12.09.2018
12:12:05
надо failed_when указывать и там решать когда таске падать а когда нет

Oleksandr
12.09.2018
12:42:18
народ, а кто в курсе что это может быть за прикол когда в версии 2.6.4 на include_tasks вешаешь when: inventory_hostname in groups['test1','test2','test3'] кидает ERROR что типа использую тиРе.... если оставляю только test1 группу все нормально проходит... есть предположение ?

откат на 2.5.6 - и о чудо, все работает... что же снова сломали ?!

Aion
12.09.2018
12:49:01
Oleksandr
12.09.2018
12:49:55
на 2.5.6 я сидел - все работало, решил обновиться - огреб нежданчиков, в changelog есть только фиксы core modules, ну то есть меня по большей степени обновление само не затронуло. Кроме вот таких нежданчиков

подозреваю что они какие-то неочевидные

Version 2.6 is largely going to be a stabilization release for Core code. Some of the items covered in this release, but are not limited to are the following: ansible-inventory import_* include_* Test coverage Performance Testing

inqfen
12.09.2018
16:19:35
Всем привет

А можно ли в таск загнать переменную таким образом - name: module docker-container: {{var}}: {{var2}} ?

Конкретно в этом примере - где-то нужен expose, а где-то ports

Чтобы не плодить пустые переменные

Google
bebebe
12.09.2018
16:22:23
попробуйте ковычки

Vadim
12.09.2018
16:22:25
только если отдельно соберешь параметры в dict и передашь его в docker-container

inqfen
12.09.2018
16:22:51
Все равно говорит, что у модуля нет параметра {{var}}

bebebe
12.09.2018
16:23:32
а это вы хотите как параметр модулю передать, тогда не выйдет

если очень хочется, то можно затемплейтить, и потом заинклудить

и никому не показывать

inqfen
12.09.2018
16:29:36
печально, как-то они это не продумали, с учетом того, что параметры могут требоваться разные

bebebe
12.09.2018
16:31:05
ну это метапрограммирование уже

тут с jinja2 фильтрами проблемы возникают ?

Terminator
12.09.2018
17:57:34
@libfitz будет жить. Поприветствуем!

Alesha
12.09.2018
18:28:37
вопрос, где можно поглядеть плейбуки для винды?

cent
12.09.2018
18:34:08
вопрос, где можно поглядеть плейбуки для винды?
github ? ansible windows site:github.com Хотя, я не уверен, что там будет так же красиво как для linux )

Constantin
12.09.2018
18:36:58
они почти такие же как и для всего остального, только модули с префиксом win_

Alesha
12.09.2018
18:46:49
хмм, спасибо

inqfen
12.09.2018
18:55:14
вопрос, где можно поглядеть плейбуки для винды?
А чего на них смотреть, они особо не отличаются

Aleksey
13.09.2018
05:49:52
А можно ли в таск загнать переменную таким образом - name: module docker-container: {{var}}: {{var2}} ?
- name: Create cron.d file cron: name: '{{ item.name }}' cron_file: '{{ item.cron_file | d(omit) }}' minute: '{{ item.minute | d(omit) }}' hour: '{{ item.hour | d(omit) }}' user: '{{ item.user | d("root") }}' job: '{{ item.job }}' with_items: - { name: "backup_nvr", cron_file: "backup_nvr", minute: "59", hour: "2", job: "/usr/local/bin/nvr_backup.py docker" } может вот так пойдёт

Максим
13.09.2018
09:21:27
Всем привет. Есть такая таска https://pastebin.com/g5xgUG75 значения setup_mode и mainrole определяются в inventory. В данном виде условие не отрабатывает, но если указать так setup_mode == "yes" or ( mainrole == "frontend" or mainrole == "balancer" ) то условие обрабатывается и таска выполняется. Подскажите, пожалуйста, почему оно может игнорироваться в оригинальном случае (см.код)?

Sergey
13.09.2018
09:58:49
Всем привет. Есть такая таска https://pastebin.com/g5xgUG75 значения setup_mode и mainrole определяются в inventory. В данном виде условие не отрабатывает, но если указать так setup_mode == "yes" or ( mainrole == "frontend" or mainrole == "balancer" ) то условие обрабатывается и таска выполняется. Подскажите, пожалуйста, почему оно может игнорироваться в оригинальном случае (см.код)?
Не надо так. Список каталогов передавай как параметр-переменную в роль, а в inventory через group_vars обозначь, что для двух указанных групп эти списки есть, а для остальных - нет. Тогда проверка с when сильно упростится, если не сказать - исчезнет (цикл по пустому списку не будет выполняться вообще ни одного раза).

Google
Div
13.09.2018
13:02:24
господа, доброго дня. кто знает как сделать банальный перебор переменных для таска?

Oleksandr
13.09.2018
13:36:14
with_items
только для списков, не ?

Danis
13.09.2018
13:38:09
только для списков, не ?
Нет, если использовать item.key Тогда в vars должно быть такое: mainvar: var1: gghh var2: dghtrr

Oleksandr
13.09.2018
13:38:50
словари - да... но наверное он имел ввиду все переменные таска ?

Pavel
13.09.2018
14:11:49
заранее извиняюсь за тупой вопрос - replace если не находит выражение вообще ничего не делает или в конец файла добавляет?

Pavel
13.09.2018
14:13:31
Ничего не добавляет
спс, это как бы ожидаемо...

Евгений
13.09.2018
14:14:55
спс, это как бы ожидаемо...
в конец lineinfile ставит, или куда укажешь.

Pavel
13.09.2018
14:15:09
если не находит после какой строкой ставить - в конец

Евгений
13.09.2018
14:17:06
если не находит после какой строкой ставить - в конец
Вот это не уверен, он же регекс ищет - а значит саму строку, а не соседние.

Pavel
13.09.2018
14:17:57
Вот это не уверен, он же регекс ищет - а значит саму строку, а не соседние.
он ищет "после какой" вставить, а когда не находит - ставит в конец

Евгений
13.09.2018
14:18:22
А, не вниматено прочитал. Это да.

Div
13.09.2018
14:20:38
Oleksandr
13.09.2018
14:21:15
список - тебе выше кинули with_items, словарь также

Admin
ERROR: S client not available

Div
13.09.2018
14:21:59
спасибо

Евгений
13.09.2018
14:27:33
он ищет "после какой" вставить, а когда не находит - ставит в конец
У меня целая костыльная эпопея с этими модулями) replase я использую чтоб удалить искомую строку, если она закоментирована, следующий replase ищет эту же строку если она не закоментирована и мне не нравится параметр (active = yes например) и в конце lineinfile - если этой строки вообще ни в каком виде нет, и нужно добавить. https://pastebin.com/fGaKLKzc

Google
Евгений
13.09.2018
14:51:25
а регулярку состряпать универсальную не пробовал?
Редектируя неизвестный мне файл заранее нельзя было сказать, есть там строка или нет, чтоб однозначно использовать либо replase либо lineinfile. По отдельности минусы - replase -не добавит строку, lineinfile - не раскоментирует, хотя возможно, это мои придирки. Основная проблема в том, что если lineinfile не находит точно строку как я описал regexp-ом, он добавит новую. А в существующей строке может просто параметры местами были поменяны. Получаются 2 строки описывающие одно и то же. И ошибка перезапуска сервиса. Поэтому такие костыли.

Sergey
13.09.2018
14:59:45
Зрите в корень)
Отнюдь. Скорее предупреждаю о боли ;-)

Евгений
13.09.2018
15:03:37
Отнюдь. Скорее предупреждаю о боли ;-)
Хорошо, я перестану называть свое решение костылем и скажу, что так я ответственно обработал большинство исключений)

Nklya
13.09.2018
15:05:06
кривые абстракции имеют свойство протекать, а потом вся индустрия в ?

Евгений
13.09.2018
15:10:50
Взорвётся на сроках хотя бы от года.
Поэтому ценится только опыт. Больше опыта - больше обработанных заранее исключений.

Terminator
13.09.2018
15:12:54
@sergheitalpa будет жить. Поприветствуем!

Terminator
13.09.2018
18:04:33
@Yur1S будет жить. Поприветствуем!

GithubReleases
13.09.2018
23:48:48
ansible/ansible was tagged: v2.7.0rc2 Link: https://github.com/ansible/ansible/releases/tag/v2.7.0rc2 Release notes: New release v2.7.0rc2

Ruslan
14.09.2018
06:14:24
камрады, у меня в корне ансибл проекта есть каталог /files/{ inventory_hostname }/* как в copy указать, чтобы копирование происходило из него на удалённый сервер?

Безуспешно пробую так: - name: Copy CA certificate and server certificate/key. copy: src: "{{ item }}" dest: /etc/docker/ssl/ mode: 400 with_items: - "ca.pem" - "{{ inventory_hostname }}/server.pem" - "{{ inventory_hostname }}/server-key.pem" tags: - cert

Sergey
14.09.2018
06:17:26
камрады, у меня в корне ансибл проекта есть каталог /files/{ inventory_hostname }/* как в copy указать, чтобы копирование происходило из него на удалённый сервер?
Твой расклад по каталогам не вяжется с best practice, поэтому и не получается. По умолчанию роль ищет files как свой подкаталог.

Ruslan
14.09.2018
06:18:36
Надо сделать отдельную роль для сертификатов и хранить их в подкаталоге?

Sergey
14.09.2018
07:38:55
Это у тебя из какой роли таска? Вот в неё и положи.

Если эта роль настраивает доскер - то в неё.

Google
Terminator
14.09.2018
07:59:37
Kostiantyn Lavrynenko будет жить. Поприветствуем!

@noob4ik будет жить. Поприветствуем!

R
14.09.2018
08:21:41
Добрый день, я новый в ансибле, есть у кого какие-то задания по ансиблу, т.к основные плейбуки научился делать, хочу что-то посложнее и интереснее

Страница 576 из 625