Ivan
vagrant@vagrant:~$ cat /tmp/play.yml - name: test hosts: all vars: txt_main: "1234567890" main_val: "main" tasks: - name: test debug: msg: "txt_{{ main_val }}" vagrant@vagrant:~$ ansible-playbook /tmp/play.yml -i localhost, -c local PLAY [test] ******************************************************************** TASK [setup] ******************************************************************* ok: [localhost] TASK [test] ******************************************************************** ok: [localhost] => { "msg": "txt_main" } PLAY RECAP ********************************************************************* localhost : ok=2 changed=0 unreachable=0 failed=0
Pavel
для этого существуют словари
о, спс, в эту сторону не подумал, хотя похожее уже есть
Blue_Wolf
hey, did some one has install ELK using Ansible ?
Денис
yes
Денис
Wrote own role for this purpose
Ждун
I guess this is something that 100% will be on galaxy
Денис
Yes, you wright but I don't like this role.
Blue_Wolf
is it works on ubuntu ?
Blue_Wolf
yes
can you share it ?
Денис
https://github.com/elastic/ansible-elasticsearch This role compatible with deb and yum packages. But on IMHO it's very tricky. You must check by your own
Blue_Wolf
thanks
Денис
This is official
Денис
I think my role does not suit you. I write it for my tasks.
Blue_Wolf
I see...
Роман
Коллеги, а можно как-то передать в плейбук из командной строки файл, чтобы использовать его содержимое построчно в качестве списка для with_items?
Alexey
--extra-vars ?
Алексей
Коллеги, использую словарь для наполнения шаблона some_conf: some_file: some_var1: var1 some_inc_dict1: incdict_value1: sometext1 incdict_value2: sometext2 в темплейт передаю через with_dict: '{{ some_conf | default({}) }}' В темплейте запускаю for чтобы наполнить {% for envvar in item.value.some_inc_dict1 %} env[{{ envvar }}] = '{{ envvar }}' {% endfor %} Видны только ключи в .some_inc_dict1, но не их значения если указывать envvar.keys или envvar.value то ругается, что это юникод объект и у него нет таких свойств. Как до значений докопаться?
Sergey
либо делай по-человечески через джинджу
Алексей
Алексей
пробел лишний перед indict_valueN ?
Нет. Это value для some_inc_dict1:
Sergey
Это и есть через джинджу.
нет. через джинджу - это вот прям вот так вот: http://jinja.pocoo.org/docs/2.10/templates/#for
Maksim
а материалы есть для них?
у этого чувака регаешься на сайте, регистрируешь книгу, там попросят с какой-то страницы ввести что-то и у тебя будет доступ к виртуалкам для лабраторны, квизам всяким и проим заданиям
Maksim
Алексей
нет. через джинджу - это вот прям вот так вот: http://jinja.pocoo.org/docs/2.10/templates/#for
Попробовал. Получается, что в шаблон some_inc_dict1: передаётся не как словарь, а как массив? "item": { "key": "mysite", "value": { "envs": { "STHOST_mysite": "mysite.ru/general", "TEST1key": "test1value" }, "group": "mysite", "user": "mysite" } }, Пробую так {% for key, value in item.value.envs %} env[{{ key }}] = '{{ value }}' {% endfor %} "msg": "ValueError: too many values to unpack" Как добраться то?
Maksim
по rhcsa
Asgoret
ну чья эта книга
а, поня. спасибо
Maksim
а, поня. спасибо
http://www.pearsonitcertification.com/
Алексей
нет. через джинджу - это вот прям вот так вот: http://jinja.pocoo.org/docs/2.10/templates/#for
разобрался. {% for key in item.value.envs -%} env[{{ key }}] = '{{item.value.envs[key]}}' {% endfor %} Вот так всё получает.
Anton
Привет всем. Меня интересуют лучшие практики по настройке сред без ssh доступа. У меня 8 сред, состоящих из разных сервисов и серверов без прямого доступа (для взаимодействия с ними есть только куцый rest api и scp для подкидывания файлов. Есть около 30 приложений, все с конфигами, все конфиги шаблонизированы. Вопрос как лучше всего организовать инвентарь. Сейчас я сделал 8 «виртуальных» хостов - dec1, dev2, qa и т.д. Все эти хосты имеют local подключение. У каждого хоста есть по файлу в host_vars, в каждом файле около 400 строк для процессинга шаблонов в конфиги для среды. Вроде бы жить можно, но процессинг шаблонов работает медленновато...
Max
Привет! никто не знает есть ли чат на тему терраформа?
Nklya
https://t.me/ru_hashicorp
Womchik
вопросик. у меня есть переменная pg_fsync = off если я в template пишу fsync = "{{pg_fsync}}", то получаю fsync = "False" если её определяю как pg_fsync = "off", то получаю fsync = "off" что не нравится постгресу. как это обойти?
Artur
попробуй pg_fsync = 'off'
Womchik
попробуй pg_fsync = 'off'
тип кавычек роли не играет
Aleksey
|bool |lower
Womchik
|bool |lower
fsync = "false" :)
Aleksey
meh
Womchik
pg_sync | ternary('on', 'off')
кавычки-то остаются
Lex
привет, а есть у кого пример как с помощью ansible можно создать CA cert и pkey?
Igor
Энсибл наверное при том, что ему задо это заавтоматизировать ))
Даня
при чем готовое решение
Vadim
кавычки-то остаются
а вот и нет, если ты это в теплейт засовываешь
Womchik
а вот и нет, если ты это в теплейт засовываешь
да. сорри. так работает. спасибо
Aleksey
надо быстро берешь такой соль или повара
Anton
Сесурити полиси говорит низзя
Aleksey
Сесурити полиси говорит низзя
тогда усиленно страдаешь...
Lex
гуглится за 2 минуты
Видно скилла гугла мне не хватает
Anton
Костыли-костылики...
Даня
Видно скилла гугла мне не хватает
тебе надо 2 команды пробросить шеллом
Даня
модуль поищи в доке
Даня
может есть
Даня
лично я для впн ключи генерил обычными командами. передал их словарем и лупом пробежался
Maksim
Всем привет. Как-то встречал инфу, что у ансибла, вроде, есть ключик, который позволял прогнать плейбук без выполнения, то есть просто покажет, что может измениться. Никак не могу найти. Никто не помнит его?
Womchik
-C
Алексей
--check
Maksim
Спасибо
Aleksey
нет такого ключика.
Алексей
--diff ещё добавь увидишь что меняется
Aleksey
это ловушка
Nklya
Aleksey
именно
Aleksey
там полплейбука надо будет расхерачить
Aleksey
и везде понадобавлять check_mode: on