Sergey
https://docs.ansible.com/ansible/2.5/user_guide/intro_dynamic_inventory.html
Sergey
?
кря
The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'instances'
Sergey
тогда стоит сделать debug msg на вот такую штуку: "{{ ec2_info.results | to_nice_yaml }}"
кря
template error while templating string: expected name or number.
кря
String: {{ec2_info.results\n...\n}}
Sergey
WUT? откуда там перевод строки?
Sergey
вот прямо вот так, как я написал
Sergey
"{{ ec2_info.results | to_nice_yaml }}"
Sergey
а
Sergey
тьфу
Sergey
сорри
Sergey
"{{ ec2_info | to_nice_yaml }}"
Sergey
вот здесь переводов не должно быть
bebebe
А где можно почитать про это или примеры посмотреть?
тут есть мнение, что я вас учу плохому вот пример того как использую yaml anchors https://hastebin.com/amomeleser.sql
кря
ладно спасибо, afk на часик, дальше продолжу ковырять
Denis
тут есть мнение, что я вас учу плохому вот пример того как использую yaml anchors https://hastebin.com/amomeleser.sql
Я подобным образом сделал. Помоему удобно и красиво выглядит. Не совсем понимаю как по другому это можно реализовать
bebebe
Я подобным образом сделал. Помоему удобно и красиво выглядит. Не совсем понимаю как по другому это можно реализовать
а вот так используются include_tasks - include_tasks: tasks/gitlab_project.yml with_items: "{{ gitlab.projects }}" gitlab.projects из примера выше
Denis
а вот так используются include_tasks - include_tasks: tasks/gitlab_project.yml with_items: "{{ gitlab.projects }}" gitlab.projects из примера выше
Мне просто нужно один таск по факту запустить и все. По-моему для этого оптимальное решение
Sergey
это уже вопрос к @tnt4brain
Стоп-стоп-стоп. Первоначальный вопрос был про вызовы тасков ансибла, ты же переводишь тему на какой-то YaML-файл. Типа ловкость рук и никакого мошенничества?
Denis
покажите что у вас получилось?
Сегодня буду на рабочем месте, покажу
Denis
Один таск по двадцать раз же вроде было изначально?
mongodb_user: login_user: root login_password: root_password database: admin user: oplog_reader password: oplog_reader_password state: present Таск один, но в нем нужно создать 20 юзеров в БД. Конструкцую выше, нужно продублировать 20 раз. На каждом шагу будет менятся только имя базы данных и пароль, все остальное не изменно.
Anonymous
Всем привет, подскажите, можно ли через ansible организовать подключение к удаленному хосту по ssh, а с него уже заходить на соседей по telnet и отправлять команды?
Eduard
Да ты извращенец. Заверни лучше систему через sshuttle
Anonymous
что есть, то есть )
Vadim
https://noyaml.com/
Vlad
YAML: probably not so great after all (2017) (Score: 103+ in 1 hour) Link: https://readhacker.news/s/3LR89 Comments: https://readhacker.news/c/3LR89
Vadim
нет, ну эта TOML propaganda уже превращается в фарс
Denis
тут with_items идеально подходит вообще.
да я думаю loop использовать. Уже дошло
inqfen
бобрый день
Denis
тут with_items идеально подходит вообще.
Подскажите пожалуйста, как правильно работает ansible-vault encrypt_string ? К примеру из доки такая выдержка: ansible-vault encrypt_string —vault-id a_password_file 'foobar' —name 'the_secret' Я как понимаю foobar можно будет юзать в плейбуке как переменную?
inqfen
у меня такой странный вопрос, есть ли в переменных текущая группа сервера? all: children: proxy: hosts: 8.8.8.8: landing: hosts: 9.9.9.9: Есть некоторая роль, которая выполняется на всех машинах (заббикс) и мне нужно в шаблон как-то закинуть куда относится сервер, то есть proxy, landing или еще что-то
bebebe
YAML: probably not so great after all (2017) (Score: 103+ in 1 hour) Link: https://readhacker.news/s/3LR89 Comments: https://readhacker.news/c/3LR89
как минимум странно, что проблемы yml в половине статьи рассматриваются как разность интерпритации yml файлов в python/ruby
inqfen
Спасибо, пропиздоглазил это в доках
Vadim
а можно поподробнее?
в любой статье где написано про недостатки yaml в конце обычно пишут "пишите на TOML"
Vadim
типа вот - https://github.com/ambiata/master/blob/239b24617d9756598b9b0285e5cc3aa18e8d3a36/test/cli/basic/examples/pass/multi-builds-global.toml
bebebe
большинство боли от yml в статьях на noyaml.com показывают "странную" реализацию yaml specification 1.1/1.2 в конкретных языках программирования
Vadim
в любом случае в этом вина именно стандарта. Мне https://github.com/crdoconnor/strictyaml пока больше всего приглянулся
bebebe
в любом случае в этом вина именно стандарта. Мне https://github.com/crdoconnor/strictyaml пока больше всего приглянулся
возможно читал по диагонали, о какой версии стандарта идет речь, 1.1 или 1.2?
Stepan T.
Добрый день.
Stepan T.
Очередной тупой вопрос. Есть два инструмента в playbook -ах, loop и with_items, по каким критериям выбирать тот или иной варианты?
Nklya
with_items задепрекейтили в 2.5
Stepan T.
Тфу блин. Йайца впрофиль?
Ilya
в доках же по loopsам написано)
Stepan T.
По диагонали читал. Не сообразил.
Stepan T.
Спасибо.
Aleksey
with_items задепрекейтили в 2.5
хотели но не стали же
Nklya
В 2.6 хотят?
Aleksey
а хз чот притихли
Aleksey
надо бы поставить альфу погонять
Nklya
там уже rc
Aleksey
ггг. у ансибла была хоть одна не альфа ?
Vadim
Подскажите, никто случайно не использует ansible в связке с VMware и в частности о VMware connection plugin?
Aleksey
я использую
Vadim
я использую
А вы именно в каком-то виде используете что-то, что работает, как connection plugin? Идея в том, что в момент развертывания виртуального сервера из шаблона он может помещаться в сегмент сети, в который я не буду иметь доступа и процесс донастройки после запуска я могу выполнять либо через vmware shell модуль, либо используя vmware connection plugin. Но единственное, что я нашел - это https://github.com/reversecipher/ansible-vmware и в нем не реализован механизм become, то есть я не могу в ubuntu делать sudo. Есть еще упоминание https://github.com/ansible/ansible/issues/38648 от некоего Derec Crago о том, что он тоже делает vmware connection plugin, но самого кода я не нашел
Aleksey
видимо vmware connection plugin это что то не то что я юзаю
Aleksey
я имел в виду что я создаю машинки из шаблончиокв в вмварьке.
Aleksey
потом к ним коннекчусть по ssh и делаю дела
Vadim
видимо vmware connection plugin это что то не то что я юзаю
Да, я понимаю. В простейшем случае я делаю также, но у нас есть некие сегменты сети, в которые я, как администратор виртуальной инфраструктуры доступа не имею. В таком случае я могу настроить виртуальные сервера в этих сегментах, используя механизм, предусмотренный в VMware Guest Tools. То есть, зная логин и пароль учетной записи внутри гостевой ОС, а также логин и пароль к vCenter, я могу выполнять команды внутри гостевой ОС, не имея к ней доступа по сети. А дальше для ansible пишется connection module, такой же, как например используется для ssh или winrm для powershell, только использующий механизм vmware guest tools. К сожалени, во всех реализациях, которые я находил не сделана часть, которая нужна для работы become. Самому костылить не очень хочется-думал, что может кто-то для себя уже нашел реализацию
GithubReleases
ansible/ansible was tagged: v2.4.5.0-1 Link: https://github.com/ansible/ansible/releases/tag/v2.4.5.0-1 Release notes: New release v2.4.5.0-1
Alexander
Гайз, кто может помочь - никак не могу доехать, что не работает. Есть: 1) динамик инвентори кастомный для авс - все с ним ок 2) плейбука которая имеет 1 pre_task и 1 роль 3) папка с group_vars из которой я запускаю все Проблема: 1) при запуске ansible <playbook\group> -i ../../../scripts/ansible-dynamic-inventory/ec2.py -vv -m debug -a "var=common_environment" - я получаю ожидаемую переменную взятую из group_vars 2) А при запуске ansible-playbook ../../playbooks/basic/<playbook\group>/main.yml -i ../../../scripts/ansible-dynamic-inventory/ec2.py -vv она падает с сообщением что эта же переменная undefined. Что я упускаю?
Sergey
https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#directory-layout
Alexander
Получается просто , что при вызове ansible ad-hoc он берет group_vars относительно директории вызова ,а при ansible-playbook - нет. Когда group_vars лежат рядом с dynamic_inventory скриптом - отрабатывает нормально.
Alexander
Структура близкая ко второй.
Sergey
Структура близкая ко второй.
Она не может быть близкой. Она либо одна из указанных (и всё работает из коробки), либо любая другая (и тогда разбираетесь самостоятельно).
Sergey
Это как с любым фреймворком.
Alexander
разница лишь в группировке плейбук по назначению + роли в отдельном репе и выкачиваются ansible-galaxy
Sergey
разница лишь в группировке плейбук по назначению + роли в отдельном репе и выкачиваются ansible-galaxy
Любая из двух указанных структур чётко говорит, где должен лежать скрипт динамического инвентори - в каталоге с инвентори, там же, откуда берутся переменные групп.
Alexander
по-моему это дикий оверхед саппортать одинаковые по контенту .py скрипты при Mulit-environment инвентори структуре