@pro_ansible

Страница 168 из 625
dmage
16.03.2017
15:50:16
да, и всегда неизвестен заранее

Dmitrii
16.03.2017
15:50:29
Шта

dmage
16.03.2017
15:50:31
чуть более конкретизирую

Dmitrii
16.03.2017
15:50:38
Какие то гуманитарные термины

Google
dmage
16.03.2017
15:51:08
я хочу в плейбуке прогнать айпишники определенной хостгруппы, размещенной в инвентори

Dmitrii
16.03.2017
15:54:39
Ну получаешь все ноды из группы (как источник в цикл) а обращаешься к каждому хосту через hostvars[item][...]

Внутри цикла

{% for item in groups['group_name'] %} {{ hostvars[item]['property'] }} {% endfor %}

Я думаю, тоже самое через set_fact можно сделать используя функциональный подход.

Но вообще это все пиздец.

Я просто делал свой with_items фильтр и херачил на питоне все что мне надо было

Bogdan (SirEdvin)
16.03.2017
16:03:56
да, и всегда неизвестен заранее
with_items нужен только массив, какой именно длинны плевать. Если сможешь запихнуть в переменную массив и передать туда - ты красавчик и проблема решена.

Массив то всегда конечен

Dmitrii
16.03.2017
16:30:40
Массив то всегда конечен
У него видимо особые массивы.

dmage
16.03.2017
16:48:29
имелось ввиду - на момент старта плейбука неизвестно сколько будет в массиве элементов

Павел
16.03.2017
16:48:32
а если 172? 10? и вот это вот все...
# {{ test_list | ipaddr('private') }}

http://docs.ansible.com/ansible/playbooks_filters_ipaddr.html

Google
Anatoly
16.03.2017
16:49:17
# {{ test_list | ipaddr('private') }}
спасибо я в курсе

Павел
16.03.2017
16:51:07
Ну и пили в таске или шаблоне if net.ip | ipaddr('private')

Alibek
16.03.2017
17:45:25
Всем добра! Хочу вместо: —- users: - username: deploy comment: "Deploy" uid: 1500 groups: [ 'www-data' ] sudoers_nopasswd: false shell: "/bin/bash" password: "hAsH" ssh_key: - "{{ lookup('file', 'keys/deploy_key.pub') }}" делать так: —- users: - "{{ lookup('file', 'users/deploy.yml') }}" Не прокатывает....

Оно yaml не интерпретирует: "users": [ "- username: deploy\n comment: \"Deploy\"\n uid: 1500\n groups: [ 'www-data' ]\n sudoers_nopasswd: false\n shell: \"/bin/bash\"\n password: \"hAsH\"\n ssh_key:\n - \"{{ lookup('file', 'keys/deploy.pub') }}\"" ], Как его убедить?

Anatoly
16.03.2017
17:48:44
Ну и пили в таске или шаблоне if net.ip | ipaddr('private')
вы перепутали и не тому отвечаете, видимо...

Павел
16.03.2017
17:53:09
вы перепутали и не тому отвечаете, видимо...
Да, вероятно... извините, надеюсь автор вопроса читает чат

Anatoly
16.03.2017
17:55:08
луукап он читает из файла

а у тебя должна таска выполнятся

здесь бы инклюд сделать

Alibek
16.03.2017
18:02:51
include тоже не проходит: "users": [ { "include": "users/deploy.yml" } ], и include_vars тоже

Igor
16.03.2017
18:03:33
А тут кто-нибудь ansible-vault юзает с хранением переменных ansible_ssh/become_pass в group_vars/group файле, зашифрованного vault'ом?

Alexey
16.03.2017
18:11:11
Народ, я тут потихоньку осваивают Ansible, и возник вопрос: Как получить jid от указанной команды Ansible? ansible -s -B 3600 -P 0 -a -v "sleep 60" multi

Igor
16.03.2017
18:13:17
Предпочитаю ключи или ansible-pull
Ключи не всегда допустимы

Alibek
16.03.2017
18:14:18
там где допустимы пароли - допустимы и ключи, а там где допустимы ключи - не нужны пароли. ;)

Serge
16.03.2017
18:16:06
Igor
16.03.2017
18:30:56
Логиниться под рутом запрещено

Поэтому только sudp

Google
Igor
16.03.2017
18:31:50
Ssh_become_pasd т.е

Вообщем у меня из group_vars зашифрованного vault'ом в inventoey ssh_become_pass не цепляется

Pavel
16.03.2017
19:45:32
А тут кто-нибудь ansible-vault юзает с хранением переменных ansible_ssh/become_pass в group_vars/group файле, зашифрованного vault'ом?
у меня типа такого : ansible_host и ansible_ssh_pass - ваулте хранится все, вроде, работает нормально, или я не так понял

Pavel
16.03.2017
20:40:09
такая стркуктура в инвентори: hosts host_vars group_vars

в файле хост имена хостов, объединенные в группы, в папках соответстующие файлы для хостов и групп

А вы в группе хостов это хватит?
это хранится в файле для хоста (тот что в host_vars)

Igor
16.03.2017
20:54:47
Вот я пишу в group_vars ansible_become_pass переменную и шифрую vaultom

Вот эта переменная не полгружается при чтении inventory

Правда в inventory я ее не описывал

Может в этом проблема

Pavel
16.03.2017
20:56:00
хост для плейбука из этой группы?

в файле hosts [group_become] host_become

а в файле group_vars/group_become.yml описывать переменные

тогда при вызове плейбука для группы group_become должны подтянуться переменные

ну и если hosts лежит не в корне ансибля, надо с параметром -i указать путь к нему

Igor
16.03.2017
21:46:26
Hosts указываю с -i

И из этой группы да

У меня структура inventori/blabla/group_vars/group

Google
Igor
16.03.2017
21:47:34
Без расширения yml

Пишу по памяти, могу орфограыически ошибиться

Имя файла должно быть group_become.yml?

Pavel
16.03.2017
21:49:34
у меня так

имена файлов для самих хостов - без

Igor
16.03.2017
21:50:40
Ну т.е. группа [pgsql] Hosts в: inventories/production/hosts Файл: inventories/production/group_vars/pgsql

При вызове указываю -i invent/.../hosts --ask-vault-pass

Пароль спрашивается, но переменные не подцепляются

Admin
ERROR: S client not available

Igor
16.03.2017
21:52:39
Пароль на vault т.е.

Pavel
16.03.2017
21:53:15
ну и сам файл хоста: inventories/production/host_vars/pgsql_host а внутри hosts: [pgsql] pgsql_host

Igor
16.03.2017
21:54:15
Я в файле группы хостов описывал

Без [pgsql]

Просто ansible_become_pass: blabla

Pavel
16.03.2017
21:54:51
в плейбуке есть - hosts: pgsql roles: - blabla

Igor
16.03.2017
21:55:00
Да

Есть

Попробую как вы завтра

Pavel
16.03.2017
21:56:39
если в инвенторе нет [pgsql], значит и группа не подтянетчя

Google
Igor
16.03.2017
21:56:40
Напишу о результатах)

В ивентори есть [pgsql]

И файл группы хостов называется pgsql

Правда без расширения yml в конце

А не pgsql_become.yml

Может в имени файла дело

Pavel
16.03.2017
21:58:46
может

Igor
16.03.2017
21:58:53
если в инвенторе нет [pgsql], значит и группа не подтянетчя
А вы в ansible.conf не указывали откуда vault файл брать?

Ну т.е. путь к файлу зашифрованному

Igor
16.03.2017
21:59:27
Там чото было vault файл чототам = путь

Не ключ, а файл зашифрованнный vault'о

М

Pavel
16.03.2017
21:59:52
Igor
16.03.2017
21:59:56
Ааа

Pavel
16.03.2017
22:00:00
вместо пароля

Igor
16.03.2017
22:00:11
Я по памяти не помню точно

Завтра попробую имя задать pgsql_vault.yml

И протестить

Pavel
16.03.2017
22:00:47
vault_password_file = keys/my_pass_key

у меня так в конфиге

Igor
16.03.2017
22:01:16
вместо пароля
А имя файла по опр. алгоритмам выбирается?

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