Vladislav 👻
Кстати, к вопросу "читать"/"писать" роли, а есть что-то удобное ввиде IDE или плагина, чтобы можно было как-то собирать переменные из этой горы файлов?
Vadim
https://telegra.ph/Tut-tak-prinyato-11-04
John
Антон
если просто сделать:
- debug:
msg: "{{ lookup('vault', 'secret/путь/до/пароля').пароль }}"
то при проигрывании выводится пароль. если подставить оригинальную переменную, то пароль тоже выводится
Pavel
/warn
"result": {
"changed": true,
"failed": false,
"meta": {
"apps_list": [
"application_1542659991863_3089",
"application_1542659991863_3095",
"application_1542659991863_3096"
]
}
}
Подскажите как сохранить только apps_list. Прописываю - set_fact: result = result["meta"]["apps_list"], но ниже при попытке использования
roles:
- { role: spark-logs,
apps_list: "{{ result }}"
}
выдает что result не определен
mertv0e
["meta"]["apps_list"] не пробовали без " ?
/warn
Пишет что переменная meta не определена
/warn
Я просто хочу создать лист с [
"application_1542659991863_3089",
"application_1542659991863_3095",
"application_1542659991863_3096"
]
/warn
И передать его в роль
/warn
Вот я ее регаю в тасках на локалхосте
- debug: var=result["meta"]["apps_list"]
register: result
И хочу использовать вот тут:
- name: Kinit to HDFS
hosts: nha_azure
become: true
roles:
- { role: spark-logs,
apps_list: "{{ result }}"
/warn
Но пишет fatal: [137.185.232.227]: FAILED! => {"msg": "{{ result }}: 'result' is undefined"}
/warn
Что с этим делать?
/warn
Я с этим уже справился, и зарегал список
/warn
Но вот как передать его в другую роль - не знаю
Timur
/warn
Timur
А вы на том же хосте это делаете?
/warn
Нет
Timur
На каком хосте регается result?
/warn
Разные
/warn
/warn
А передать надо на другой для итерации
/warn
В этом и проблема, не могу понять как получить к ней доступ
Timur
Тогда hostvars[‘localhost’][‘result’]
/warn
тогда передача выглядит вот так:
- { role: spark-logs,
apps_list: "{{ hostvars['localhost']['result'] }}"
}
Правильно?
Timur
Да
/warn
Работает, спасибо!
/warn
ребят.
Fetch при копировании на localhost создает структуру по типу /host_ip/path/to/src. Как можно это убрать, что б мне только нужный файл закинуло?
GithubReleases
ansible/ansible was tagged: v2.5.12
Link: https://github.com/ansible/ansible/releases/tag/v2.5.12
Release notes:
New release v2.5.12
GithubReleases
ansible/ansible was tagged: v2.6.9
Link: https://github.com/ansible/ansible/releases/tag/v2.6.9
Release notes:
New release v2.6.9
GithubReleases
ansible/ansible was tagged: v2.7.3
Link: https://github.com/ansible/ansible/releases/tag/v2.7.3
Release notes:
New release v2.7.3
ranebull
Timur
John
Как заставить работать плейбук?
код находится в гитлабе (виртуалка1). Там же .gitlab-ci.yml в котором строка
ansible-playbook -vvvv --syntax-check task/main.yml
Эта строка запускается на раннере (виртуалка 2) и должна проверить task/main.yml. Но самих файлов нет "ERROR! the playbook: task/main.yml could not be found" — это вопрос один.
Далее, если проверка прошла, должен запуститься скрипт
ansible-playbook -i 10.0.0.2 task/main.yml
То есть ранеер должен запустить плейбук на удаленной машине.
Подозреваю что там тоже будет вопрос "откуда взяться файлам"
John
сам вопрос наверно не озвучил: Как доставить сначала на раннер всю репу для проверки?
John
гит закрытый, по этому git clone не предлагать)
должен быть красивый вариант
Asten
Asten
Антон
The
Строго говоря, это задачи роли, и без других каталогов они не рассматриваются.
А то, что его нет... значит, что его нет (к.о.)
Dorian
Парни знает кто способ как можно прочитать файл с одной машины и скопировать ее на другую через переменную?
Все дело в том что сервер который может чекить гит в одном сегменте, а база данных в другом, без доступа к гит. Машина с ансиблам доступа к Гит тоже не имеет
One
ансибл-хост имеет доступ к обоим по ssh?
Dorian
Да
Dorian
One
Намекаете на copy ?
В любом случае, чтобы скопировать - нужна сетевая связность. Вопрос в том, копирование вы с промежуточным хостом организуете или напрямую. Если напрямую, то как свяжете - разрешите маршрутизацию, организуете какого-то вида через ansible-хост, организуете VPN между хостами. Cron+bash+rsync на ansible - суровый костыльный двухминутный вариант =)
One
можно развернуть плейбуком =)
Dorian
Timur
мы через слерп вроде делали, с делегейтом да
Timur
Условно скачиваем с гита на машину с доступом, потом на этой же машине (или на целевой, которая скачивает) запускаем synchronize с делегейтом
Timur
Тот же rsync только без башсибла и прочих костылей
директорию в переменную?)
могете
One
Dorian
Dorian
У машины с гитом нет связности с БД
Dorian
В любому случае
Git - ansible - db
Timur
Не пойму как это поможет
Можете скачать ансиблом нужные файлы из репы на машинку с доступом к гиту, а оттуда уже запустить синхронизацию с db
Vladislav 👻
А поясните пожалуйста, вот есть альтернативная практика структуры: https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#alternative-directory-layout
Почему group_vars в production не работает?
Vladislav 👻
Выношу group_vars в inventories и все ОК
Vladislav 👻
Вот в этом может быть причина?
Pavel
Коллеги, а никто через ansible не настраивал powershell repositories на smb share?
Sashko
у кого стек aws-terraform-ansible ?
Timur
Sashko
А в чем суть вопроса?
да пытаюсь понять как у клиента провиженинг настроен без ансибл сервера...там все под убунту а мне надо добавить под центос конфиг на вытягивание ami на инстансы - сижу чещу затылок так сказать
Vladislav 👻
Victor
Алексей
Коллеги приветствую. С пятницей.
Подскажите пожалуйста как правильно делать.
Есть определённые зависимости пакетов (pip?) которые должны быть установлены на хосте с которого запускается плейбук.
Если их нет, то соответственно их нужно поставить.
Что лучше - пилить отдельную роль для localhost в которой держать зависимости, или есть какие то стандартные конфиги ансибла или какой нибудь python-dependency.yaml (forexample) в котором просто добавить нужный пакет и при раскатке это либо доставится либо предложит доставить
?
Anonymous
Vadim
есть pre_tasks и post_tasks в плейбуке, возможно подойдут они
Алексей
но кейс интересный, можно решить написав роль для ансибла, которая ставит ансибл с зависимостями