nvkv
я думал они в 2.1.2.0 пофиксят
nvkv
а вот хуй
Max
nvkv
ну там аж целых три воркераунда
nvkv
я даунгрейднул docker-py до 1.9
Max
ёбаный цирк чо
nvkv
люди накатывают патч или вообще через command делают
Max
ну я через command и сделал в итоге...
Dmitrii
А реально ли в ансибле в рантайме собрать имя переменной и положить ее в переменную, которую уже использовать в шаблоне?
Dmitry
я вот читаю Дмитрия и мне страшно
Dmitry
я даже его задач не представляю
Max
Max
а что мы в итоге хотим получить?
Dmitrii
Ну вот кейс, у меня есть главное приложение и клиенты к нему. Клиент должен иметь прописаный токен. Для прода это все легко. Я бы распихал по host_vars разные значения, а вот если деплоить на одну машину то хуй
Dmitry
как хорошо что мои пока не такие
Dmitrii
Придется как то извращаться
Dmitry
кстати. я вот тут уже спрашивал
Dmitry
есть вариант прегенерить для клиента плейбук
Dmitry
чтобы он как инстал скрипт у себя запустил?
Max
Max
в смысле что бы он у себя на машине поставил или чего?
Dmitry
Dmitry
ну да
Max
локал экшн это йоба которая выполняет таск на машине на которой запушен ансибл
Dmitry
допустим у меня есть плейбук, я его запускаю, прописываю при запуске extra-vars
Dmitry
а он мне генерит шляпу со всем экстра
Dmitry
чтобы я потом отдал чуваку
Max
можно написать баш скрыпт, который поставит ансибл и запустит плейбук который всё остальное сделает например
Max
а переменные можно схавать как аргументы при запуске например
Александр
А можно нанять китайца :D
Dmitry
вот вот
Max
Dmitry
просто я хочу выкрутится, когад на целевой машине нет инета допустим
Dmitry
или нет доступа к ней
Max
ам, тогда тебе надо ещё и пакеты все на целевую машину как-то доставить
Dmitry
ненене
Александр
А как ты хочешь запустить что-то если на целевой машине нет инета?
Dmitry
с инетом я перегнул
Dmitry
инет есть, нету к ней из ансибла доступа
Dmitry
ну за натом она например
Dmitry
или еще в какой жопе
Александр
А ты хочешь, что б конфиг там развернулся и все? или что?
Alexandr
А можно нанять китайца :D
знавал контору, которой периодически нужно было раскатывать порядка 150 компов из образов. они нанимали человека, вооружали его обычным acronis true image и называли человек-pxe
Max
Max
ай ща погуглю
Max
The ansible-pull is a small script that will checkout a repo of configuration instructions from git, and then run ansible-playbook against that content.
Dmitry
но это получается мне надо генерить плейбук для клиента все равно
Dmitry
класть его в репу
Dmitry
и говорить этому ансибл пул что вот именно этот плейбук для него
Dmitry
хотя, это вполне вариант
Max
ну генерить те всё равно придётся
Dmitry
ну да
Max
самый просто вариант это наебошить на локал эшнах
Max
и просто отдать
Dmitry
а вообще весь плейбук в один yml собрать, есть инструмент?
Dmitry
чтобы он сам все поинклюдил
Dmitry
в один файл
Max
в один ямл?
Dmitry
да
Александр
ЕБАНУЛСЯ ЧТО ЛИ?
Александр
😆
Max
ну грубо говоря тебе надо содержимое всех каталогов роли описать
Max
tasks:
...
vars:
...
defaults:
Max
и так далее
Dmitry
да
Александр
Ну вообще, ты можешь отдать команду через ансибл, что б гит выкачал плейбук весь
Max
можно такую ебалайку слабать с помощью седа и такой-то матери
Dmitry
Max
я не вижу проблемы если у тебя есть куча подобных клиентов, которые с точки зрения плейбука отличаюися только значениями переменных
Max
напиши плейбук в один файл, передай туда переменные
Max
и отдай клиенту
Александр
Хм
Max
м?
Max
научить хавать аргументы в баш ? )
Александр
А чо б нет то
Max
while getopts "Nhb:e:" opt; do
case $opt in
N) nopush=true;;
h) usage;exit 0;;
b) BRANCH=$OPTARG;;
e) PROJECT_ENV=$OPTARG;;
f) FILESTORAGE_FILES_DIR=$OPTARG
esac
done
shift $(($OPTIND-1))
Max
на
Александр
Кому-то делать нехуй было)
Max
а потом ./yoba.sh -N -e bla bla lba