Антон
мне кажется это не то. у меня уже есть статический инвенторий, мне просто нужно понять как можно по нему пройтись циклом
Sergey
Антон
Антон
у меня есть в инвентории имя хоста, почему я не могу его юзать?
Timur
Sergey
Да потому, что статический инвентори обычно и делится на группы статически же.
Юзать можешь, только сам подход некорректен: Ансибл - про инфраструктуру как код. А то, что описываешь ты, напоминает "оно_само"
Timur
Sergey
Sergey
Типа - по хостнейму раскидывать.
Timur
Группа all есть всегда :)
Sergey
Факт 😁
Timur
Скажем, получаешь набор инстансов из амазона, а группы создаешь в соответствии с тегами, которые на них висят
Timur
Например, инфра у тебя создается терраформом, он же и теги назначает. А провижн на инфру потом идет ансиблом
Timur
Ну да. Это разновидность динамики для инвентаря
Timur
Инвентарь вполне может быть смешанный
Антон
как-то так
Timur
Запускаться со статики, а потом на ходу добавлять динамику
Антон
Timur
)))
Timur
Антон
hostvars - вот решение судя по всему моей проблемы =)
manefesto
Проблема, делаю провижен, разворачиваю nginx, деплою конфиги, и сертификаты
Вопрос по сертифкатам, как мне их шифровать ? Вроде vault есть, но как его использовать в плейбуке не могу понять
manefesto
подскажи с какими парамтерами запускал, и где хранится переменная id_rsa ?
manefesto
Нашел вроде
Антон
переменная id_rsa - это просто в ансибл волте приватный ключ. запускал с параметром передачи пароля от волта
manefesto
https://blog.confirm.ch/deploying-ssl-private-keys-with-ansible/
manefesto
спасибо
Антон
это просто копирование файлов. если тебя волнует безопасность - не лучший ход
manefesto
Меня так устроит, лучше чем в репе хранить в открытом виде
#Rλatan
Как то можно повторить конструкцию типа:
if a == ture; then
if b == true: then
if c == true: then
Do some nice stuffэто не работает напрмер
when:
- var1.var2 is defined
- var1.var2Если var2 не определена то вылетает ошибка на следующей проверке var1.var2 что словарь не содержит айтема var2
Ждун
Alex
Alex
> Если var2 не определена то вылетает ошибка на следующей проверке var1.var2 что словарь не содержит айтема var2
не может оно фейлится
Alex
если var2 не определена, то логическое И не сработает и все
#Rλatan
var1 - is defined
var1.var2 - not exists / defined
по ходу when сначало рассрывает шаблон потом уже проводит проверку
так ак var1.var2 не существует он выплевывает ошибку об этом не доходя до фактических проверок
Alex
- name: Set facts
set_fact:
dict1: { 'key1': 'val1', 'key2': 'val2', 'key3': 'val3' }
- debug: msg="XXX"
when:
- dict1.key1 is defined
- dict1.key1 == 'val1'
- dict1.key2 is defined
- dict1.key2 == 'val2'
- dict1.key3 is defined
- dict1.key3 == 'val3'
Alex
если удалить любой из ключей, то таск скипается
Div
добрый день, коллеги. столкнулся со странным. пытаюсь добавить адреса свежесозданных виртуалок в инвентарь с помощью add_host и получаю дебагом VALUE_SPECIFIED_IN_NO_LOG_PARAMETER в группе... можете просветить, как так?
Div
у коллеги из этой группы все работает... проверялось на разных версия как ансибля так и питона и даже на awx
#Rλatan
#Rλatan
@Lex_hha спасибо, да переставил проверки местами и прошло без остановок, только скипалось где нужно, when проверяет одно условие за другим не все сразу :) хотел найти в сорцах только во в каком разделе искать...
Aleksandr
Div
6.7.3
пробовал и более ранние версии 6.5 и 6.0.0
Timur
Alex
Не надо так
А есть способ реализовать логическое И более элегантно?
Timur
username
username
или var2 это переменная и var1?
username
вобще да, согласен с Тимуром не достаточно входных данных
Alex
#Rλatan
Victor
[IPT] Dmitry
loop:
- item5
- item6
- item7
сортирует как попало
item6
item7
item5
можно как-то вообще сортировку отключить и чтоб порядок брался прям как в листе идёт?
#Rλatan
when:
- var1.var2 is defined
- var1.var2passed
when:
- var1.var2
- var1.var2 is definedfailed
#Rλatan
Victor
Alex
Victor
[IPT] Dmitry
пригляделся, он идёт зеркально наоборот 🤔 попробую reverse
Alex
может кто поделиться способом проверки, что переменная является валидным json объектом? Ну кроме как
- name: Validate JSON
set_fact:
is_valid_json: {{ var1 | from_json }}
ignore_errors: yes
register: result
- debug: msg="var1 is valid JSON"
when: not result.failed
#Rλatan
Daniel 🇺🇦🍁🇨🇦
Ребят, всем привет. Вопрос, можно ли в gorup var вместо ansible_ssh_pass юзать авторизацию по ключу\сертификату? Чтобы пароль не вносить в sudoers на сервак и тд (бывало такое, что когда запускаешь плейбук, то пермишины или миссинг судо пасс)
Daniel 🇺🇦🍁🇨🇦
Мда, я хлебушек, спасибо
Hello
Всем привет, как лучше сделать - есть папка, в ней подпапки, в них файлы. Как адекватно скопировать в такой же структуре?
Андрей
Делаешь из всего этого архив, переносишь в /tmp, разархивируешь в нужную директорию
Igor
Hello
rsync?
через ansible, думал в тупую написать, но и на этом моменте у меня есть трудности. может кто подскажет. Как переменную и стринг заставить работать в loop? item.stat.exists не видит stat
Антон
Alex
Andrey
Tadeusz
jq '.result | .[].id' как такое провернуть в ansible'е? дергаю из uri json и вот нужен value id'шника