Dees7
а что если файла нет? сгенерировать его? не проще ли закидывать серт сразу?
впн для примера. там сложная схема. нужно для устройства пройтись по 3-4 серверам. проверить что там создано для него все нужное. если нет - запустить на удаленных серверах команду создания. локально эта команда не отработает. ее можно запустить только на том сервере.
Grek 🇺🇦
я не совсем понимаю ваш пример - если на одном сервере что-то есть\нет -то на другом сервере надо что-то запустить?
Dees7
я не совсем понимаю ваш пример - если на одном сервере что-то есть\нет -то на другом сервере надо что-то запустить?
не. есть host1, который я настраиваю. Когда он настраивается, нужно сходить на серверA, провверить что есть файл flag1. Если нет выполнить на сервереА комманду command1. Потом сходить на серверБ, провверить что есть файл flag2. Если нет, выполнить на сервереБ комманду command2. host1...100 указываю в инвентори. Ходить всегда на серверА СерверБ.
Dees7
Примерно как если бы при настройке обенвпн проверять что сертификат есть на сервере и если нету - генерировать. клиенты всегда разные, сервер всегда один.
Mista
Настраивать хост 1 после получения флагов
Dees7
как гуглить что то похожее? вообще в голову не приходит.
Gleb
сам подход вразер с идеологией ансибла
Dees7
потому что в момет подключения к серверу мне надо знать весь список инвентори. и проверять сразу все.
Mista
Ведь если он настраивается значит он нужен, а если нужен что мешает заранее выполнить пререквизиты
Dees7
Ведь если он настраивается значит он нужен, а если нужен что мешает заранее выполнить пререквизиты
См выше. при первом подключении к серверу мне надо знать весь список из.
Gleb
ну собери его
Gleb
в чем проблема то
Dees7
можно конечно с хоста1 raw коммантами сходить на сервер. но хочется красиво
Gleb
красиво - это вообще не разводить такую порнографию и подумать над логикой работы, а не пытаться прикрутить к кривым процессам ансибл сбоку
Gleb
автоматизация бардака никогда хорошо не заканчивалась
Sergey
Аромат горящего велосипеда, собранного из костылей, изоленты и StackOverflow.
Sergey
Подскажите плиз - hosts: localhost connection: local roles: - k8s/deploy vars: k8s_app_replicas: "{{ application.k8s.replicas | default('1') }}" k8s_app_port: "{{ application.meta.app_port | default('8080') }}" k8s_image_pullpolicy: "{{ application.k8s.image_pullpolicy | default('Always') }}" k8s_resources: "{{ application.k8s.resources | }}" k8s_nodeselector: "{{ application.k8s.nodeselector | default({}) }}" k8s_service_mesh: "{{ application.k8s.service_mesh | default('False') }}" k8s_configure_application_config_files: "{{ application.deploy.config_files }}" k8s_configure_application_configuration: "{{ application.configuration }}" интересует касательно k8s_resources: "{{ application.k8s.resources }}" могу ли я както посмотреть в дефолтные значения defaults/main.yml если тут application.k8s.resources ничего не определено
Ivan
привет! А как бы вы сделали? Есть в одном месте сборка софта под 5 ОС(make), далее это выкладывается на сайтик в виде {{os_release}}/{{os_major_ver}}/name.x.y.z.tar.gz Хочу понимать, если файл поменялся, то качай и распаковывай, иначе — ничего. Мне надо видимо get_url: checksum но! откуда мне её получить на момент деплоя? я могу лукапнуть её по другому урлу, а туда класть при компиляции снаружи. Надо ли мне проверять чексумму того, что прилетело в лукапе чексуммы? Параноики есть?
Ivan
https://github.com/ansible-community/ansible-consul/blob/master/tasks/install_remote.yml#L23
ну да Никто не проверяет чексумму файла чексумм -_-
Aleksey
потому что это проверка на двойной отказ
Ivan
потому что это проверка на двойной отказ
да мне один товарищ посоветовал так, я и задумался, а надо ли оно
Anonymous
сам подход вразер с идеологией ансибла
Похоже у меня что то упало. Вразрез с идиалогией чего?
Aleksey
да мне один товарищ посоветовал так, я и задумался, а надо ли оно
На товарища надейся свою голову не выключай ;)
Grek 🇺🇦
меньше флуда, больше конструктива
Anonymous
Иногда глазам больно. А так да, молчу
Grek 🇺🇦
не. давайте предметно - вам понятна задача? мне совсем нет, сферические сущности какие-то...
Mista
я так понимаю (начал читать доклад Сергея) что речь о // "Сверху — пара классических императивных заданий. Они, конечно, подражают нормальным плейбукам, но их очень легко отличить от нормальных тасков Ansible. Они не говорят, что должно получится в итоге. Они говорят: «Что делать?». Императивный стиль написания тасков ведёт к хаосу, хаос ведёт к гневу, а гнев на тёмную сторону Силы ведёт"
Mista
и тут вроде явный пример, не?
Anonymous
Откуда такая тяга к белому и черному? Есть еще другие цвета
Mista
мне кажется если трое не поняли, а один понял, то вопроса о цветах возникать не должно
Anonymous
Ну, это ваше мнение. Будем убивать все непонятное?
Mista
на ты, если нет возражений, окей я услышал мнение, флудить не буду
Mista
Но чтобы мне тоже случайно не приписали того что я не говорил.Не было речи о том что автоматизация это плохо, речь о том что таск который лезет в тридцать мест и на основании этого делает что-то - это тридцать мест где все может пойти по известному месту. Речь о изменении концепции, не более
Mista
пардон, что именно задним числом?
Mista
точно не перепутали меня с кем-то?
Alex
Не могу найти как с помощью ansible создать VMware template из .vmtx файла на ntfs datastore. Все модули предполагают, что шаблон уже создан, (и через vSphere это делается в 2 клика). Кто-то сталкивался с такой задачей?
Mista
1. vmtx это уже шаблон 2. Варя не поддерживает ntfs
Alex
Сорри, nfs
Mista
Тогда остаётся 1
Alex
И как его "добавить"? Пробовал vmware_guest и vmware_content_deploy_template, у обоих есть параметр 'template'. Из vSphere путь выглядит [template] mylin/mylin.vmtx , но как модуль не находит
Alex
Не находит
Mista
Content deploy скорее всего относится к операциям связанным с content library, для этого она должна быть создана в режим local CL, что касается модуль vnware-guest то смотри здесь https://docs.ansible.com/ansible/latest/modules/vmware_guest_module.html#vmware-guest-module
Mista
Там указан конкретный пример деплоя вм из темплейта
Mista
Но скажу сразу это хреновая идея
Mista
Есть powercli, есть rest
Grek 🇺🇦
почему наличие rest и powercli делает деплой виртуалки ансиблом хреновой идеей?
Mista
Личное мнение, опыт.
Mista
При том что проблемы начались уже с первого шага
Mista
Это естественно не запрет, но дружеский совет
Alex
Ну вот там, последний пример. Надо указать datastore и template. datastore у меня nfs, (по имени template 🤦‍♂️) , внутри него папка mylin, в ней мой vmtx. Что прописать в эти поля модуля? Полный путь, только имя? , Ave Satan? )
Mista
И потом количество open issues немного огорчает
Grek 🇺🇦
к примеру? совет выглядит как минимум странным - есть оф модуль, он работает, я не замечал за ним косяков на простых операциях а вот тянуть powercli, API ... в ansible инфраструктуру - такое себе, там тоже косяков не оберешься
Mista
Пардон речь о полном управление экосистемой через анс?
Grek 🇺🇦
давайте не будем мусолить опыт, а поможем человеку? если он в чате по ансиблу, значит так надо)
Mista
К примеру деплой вм с тегированием, кастом резервированием, подключением к двс, кастомизацией и назначеним прав
Alex
@PavelGassan долгих лет, крепкого здоровья и бабла вагон👍
Mista
Судя по модулю ему нужно только имя темплейта, соответственно он должен быть а инвентори vCenter
Mista
Его физическое расположение вторично
Mista
Если у тебя просто шаблон на nfs, то перейди через browse datastore, пкм, add to inventory, укажи имя и папку (логическая организация) эатем запускай уже анс
Grek 🇺🇦
в инвентори быть не обязательно, достаточно чтоб был сам темплейт для примера - в такой структуре достаточно указать template: Ubuntu 16.04_(Template)
Alex
Т.е. с только с помощью ansible засунуть его в инвентори не получится?
Mista
в инвентори быть не обязательно, достаточно чтоб был сам темплейт для примера - в такой структуре достаточно указать template: Ubuntu 16.04_(Template)
Тем более, но такая организация представляется мне спорной, каким образом происходит модификация шаблона в случае необходимости?
Grek 🇺🇦
речь не об этом
Grek 🇺🇦
в случае необходимости сконвертирую в вм, изменю, сконвертирую в темплейт
Grek 🇺🇦
Т.е. с только с помощью ansible засунуть его в инвентори не получится?
в смысле? у тебя темплейт есть? или что ты хочешь сделать?
Grek 🇺🇦
у меня датастор с темплейтами тоже по NFS подключен, и ансибл все видит в нем
Alex
Alex
Alex
Could not find
Mista
в инвентори быть не обязательно, достаточно чтоб был сам темплейт для примера - в такой структуре достаточно указать template: Ubuntu 16.04_(Template)
А каким образом указывается на каком именно датасторе находится темплейт из которого осуществить деплой? Просто в описании модуля вижу только заметку о возможности использования абсолютного пути - From version 2.8 onwards, absolute path to virtual machine or template can be used.
Alex
Ansible 2.9.2 , VMware 6.7 , pyvmomi 7.0 , sdk latest
Grek 🇺🇦
а, сори. не досмотрел - у меня темплейты есть в инвенторе сферы(