Oleg
так как все же скипать еррор, если, например, есть группа серваков и один из них не пингуется, чтобы таска на остальных продолжала работать пропуская отсутствующий.
AlexK
А при чем тут вообще ансибл, прошу прощения?
мигрирую с баша на ансибл, вот думаю как можно параметризировать эту часть. Предпологается, что список параметров будет отдельно (нужно для автоматизации)
Timur
Ансибл - это не баш
Timur
Пишите сценарий с нуля декларативно
AlexK
Так не работает
у меня баш сетапит контейнера, ансибл нужен для сетапа сразу на нескольких енвайронментах, может другой модуль использовать?
Stepan T.
Ансибл - это не баш
Ну модуль то есть. Пусть начнёт с этого, а потом ещё раз переделает
AlexK
Пишите сценарий с нуля декларативно
А можно почитать, а то я в ансибле 0
Timur
Ну модуль то есть. Пусть начнёт с этого, а потом ещё раз переделает
Брать ансибл только ради модуля скрипт смысла нет никакого
nett00n
Самое нормальное решение - включение в нужные группы
это нормлаьное решение пока у тебя upto десятки хостов и пара десятков групп максимум. Когда у тебя уже пара десятков типов групп (и сотни групп) введение ещё одной сущности в абстракцию, необходимой только для пары плейбуков - это место, где могут возникнуть очень большое количество проблем.
Timur
Timur
Может, кому полезно будет. У нас вышла новая роль для установки oracle-java, которая поддерживает кучу возможных сценариев - от выкачивания артифактов Java непосредственно с сайта Oracle, до установки с локальной репы или s3
Timur
https://galaxy.ansible.com/lean_delivery/java
Timur
Роль работает как на линуксах (RedHat, Debian), так и на винде
Timur
Ни одного command'а, shell'а и прочего башсибла в роли нет, кстати :)
Zhyhanov
Спасибо за книгу
Timur
https://galaxy.ansible.com/lean_delivery/java
Если кто найдет в роли баг или захочет добавить новую фичу - всегда welcome
Grisha
Прошу сообщество меня попросить за глупый вопрос, но все же. Памагите, нужно из файла с содержимым mysql-flush-logs: roles: read_only: ip_wildcard: - '10.50.%’ вытащить эти данные — - hosts: blabla vars_files: - /srv/ansible/roles/mysql/vars/mysql.yaml tasks: - shell: msl={{ mysql-flush-logs.read_only. ip_wildcard }}
Grisha
что я делаю не так?
Grisha
is it real?
Timur
Что вы пытаетесь сделать?
Grisha
у меня есть переменные используемые в salt, но мне нужно их же заюзать в ansible
Grisha
в salt они хранятся в yaml
Timur
Повторяю вопрос
Timur
Что конкретно вы пытаетесь сделать в ансибл?
Timur
Или переменные вам нужны ради переменных?
Grisha
lf
Grisha
да
Grisha
у меня есть список юзеров которые есть в салте, мне неьбходимо их же переюзать ансибом
Grisha
для разных целей юзаются юзеры, мне по факту из кучи гОвна салтового пилара нужно достать 2 строчки в ансибл
Timur
Что значит «переюзать»?
Grisha
ладно, зайдем с другой стороны
Timur
Что именно вы хотите сделать?
Grisha
выполнить команду echo variable
Grisha
а variable взять из файла в yml формате
Timur
- debug: var: varname
Nklya
В ansible другой формат переменных, сомневаюсь что получится просто так переиспользовать
Grisha
var взять из файла в формате yml
Grisha
- debug: var: varname
это КВ, а мне нужно в ямле. в принципе я же могу в ансбле приготовить vars с помощьб чтения файла в цикле?
Timur
Если переменные в корректном виде в yaml лежат, то ансибл должен их легко прочесть
Grisha
mysql: salt_to_mysql_connect: access: user_admin: 'admin' user_pass: 'admin' host: localhost socket: '/var/run/mysqld/mysqld.sock’
Grisha
как мне достать user_admin?
Grisha
Valid YAML
Timur
- debug: var: mysql.salt_to_mysql_connect.access.user_admin
Grisha
хмм. да , работает) спасибо
Grisha
теперь бы добавить еще сюда цикл)
Timur
Какой ещё цикл?
Grisha
{% for host in groups['web'] %} {{ hostvars[host]['ansible_eth1']['ipv4']['address'] }} {% endfor %} for exaple
Grisha
допустим что access это user
Grisha
и таких будет 50 шт
Timur
В третий раз задать вопрос?
Grisha
mysql: salt_to_mysql_connect: access: var: ‘123’ block: var : ‘321’
Timur
Что вы сделать хотите-то?
Grisha
- shell: echo mysql.salt_to_mysql_connect.{что-то}.var
Grisha
и хочу чтобы вместо «что-то» было access и block и это были два отдельных эха
Timur
Вы хотите просто на экран что-то вывести?
Grisha
пусть будет так
Timur
Не, ребусы разгадывать настроения нет
Timur
Или нормально описываете задачу, или разбираетесь сами
Grisha
я хочу выполнить 2 команды с разными echo echo mysql.salt_to_mysql_connect.acess.var и echo mysql.salt_to_mysql_connect.block.var
Grisha
описывать задачу нет смысла, я даю вполне корректные вводные.
Timur
описывать задачу нет смысла, я даю вполне корректные вводные.
Ну, тогда рад, что мы сэкономили время на бессмысленном разговоре
Oleksandr
)))
Grisha
я хочу выполнить 2 команды с разными echo echo mysql.salt_to_mysql_connect.acess.var и echo mysql.salt_to_mysql_connect.block.var
Grisha
чем не задача?
Timur
Для неё не нужен ансибл
Grisha
да какая разница? мне нужен алгоритм,а не решение
Grisha
допустим я хочу скалировать и выводить не 2 echo, а 52 а меняться в этом echo будет только 1 строка
Grisha
с чего вдруг? мне нужен алгоритм в ансибле, а это судя по названию чатик об ansible
Timur
Ансибл не для алгоритмов
Timur
И это не язык программирования
Grisha
и тем немение у него его базовые вещи типа кондишионалов и циклов, а значит то что я хочу в нем реализовать можно, главный вопрос как