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
вот здесь переводов не должно быть
кря
ладно спасибо, afk на часик, дальше продолжу ковырять
bebebe
Denis
Sergey
это уже вопрос к @tnt4brain
Стоп-стоп-стоп. Первоначальный вопрос был про вызовы тасков ансибла, ты же переводишь тему на какой-то YaML-файл. Типа ловкость рук и никакого мошенничества?
Sergey
bebebe
bebebe
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 уже превращается в фарс
Sergey
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 или еще что-то
Vadim
bebebe
inqfen
Спасибо, пропиздоглазил это в доках
bebebe
Vadim
а можно поподробнее?
в любой статье где написано про недостатки yaml в конце обычно пишут "пишите на TOML"
Vadim
типа вот - https://github.com/ambiata/master/blob/239b24617d9756598b9b0285e5cc3aa18e8d3a36/test/cli/basic/examples/pass/multi-builds-global.toml
bebebe
bebebe
большинство боли от yml в статьях на noyaml.com показывают "странную" реализацию yaml specification 1.1/1.2 в конкретных языках программирования
Vadim
в любом случае в этом вина именно стандарта. Мне https://github.com/crdoconnor/strictyaml пока больше всего приглянулся
bebebe
Vadim
Stepan T.
Добрый день.
Stepan T.
Очередной тупой вопрос. Есть два инструмента в playbook -ах, loop и with_items, по каким критериям выбирать тот или иной варианты?
Nklya
with_items задепрекейтили в 2.5
Stepan T.
Тфу блин. Йайца впрофиль?
Ilya
в доках же по loopsам написано)
Stepan T.
По диагонали читал. Не сообразил.
Stepan T.
Спасибо.
Aleksey
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
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
Alexander
по-моему это дикий оверхед саппортать одинаковые по контенту .py скрипты при Mulit-environment инвентори структуре