Timur
Условно: группы - это теги
Timur
На каждый хост можно навешать много разных тегов
Timur
Причем теги могут быть вложенными
Timur
И к каждому тегу можно прицепить любой набор переменных, которые, в соответствии с тегами, будут присвоены хосту
Timur
Т.е. при выполнении плея каждый хост будет иметь некий набор тегов и набор переменных с соответствующими значениями
Timur
Откуда все это было получено и из каких источников - совершенно неважно, и логика на это завязана быть не должна
Vladislav 👻
я что-то не до конца понял
Timur
Что именно?
Vladislav 👻
есть два инвентори dev и prod, в каждом создаю группу dev и prod, закидываю в эти группы хосты, в групп_варс объявляю общую(?) переменную со значением "dev"/"prod" соответственно?
Timur
Timur
В dev должны быть dev хосты
Timur
В проде - prod
Vladislav 👻
ну да, "соответственно" пропустил там
Timur
А, ок
Vladislav 👻
логика верна?
Timur
Примерно. Только если вас интересует принадлежность хоста к группе, то специальная переменная не нужна
Timur
Членство хоста в группах и так можно проверить через список groups
Vladislav 👻
это работает для двух групп и проверкой руками, а если множество, то проще сразу прописать
Vladislav 👻
сейчас протестирую такую логику
Timur
Это работает для любого количества групп
Timur
Приведите пример таска, который вызывает у вас проблемы с логикой принадлежности хостов к группе
Vladislav 👻
протестировал, работает, проблема только в том, что все хосты мне надо запихнуть в одну эту группу...
Vladislav 👻
Timur
Denis
Vladislav 👻
Denis
Denis
Возможно это хороший повод прошерстить инвентори и разобрать все хосты по функциональным группам
Timur
Timur
Я так и не могу понять суть задачи пока
Vladislav 👻
В смысле, в хост вписать, в группу забыть
Timur
Как можно забыть группу, если все дочерние группы навешиваются автоматом?
Timur
Опять же - в чем именно суть задачи?
Vladislav 👻
Сейчас подумаю, как сделать
Denis
Группа в инвентори, в которую нужно просто добавлять все хосты, действительно может быть источником ошибки.
Timur
У меня впечатление, что это очередные упражнения со стаканом
Denis
Проблема, вроде, в том, что нужно для хостов из одного инвентори писать в конфиг прометея одну строчку, для хостов из другого - другую.
Vladislav 👻
вроде понял как сделать, просто я в группу dev/prod закинул хосты руками, а сейчас поменяю на нужные группы мониторинга и все
Timur
Ну, просто в одном инвентаре делается группа для хостов с одним названием, а в другом - другая группа. И в эти группы засовывается одна переменная, но с разными значениями
Timur
Хосты в группу можно включать как угодно. Хоть по одному, хоть группами, хоть все сразу
Timur
Главное, что нужно понять, это то, что при выполнении плея инвентарь всегда один
Timur
И совершенно неважно, из каких источников он сформирован
Александр
Как сравнить список файлов на двух хостах и получить список несуществующих на одном из них?
Timur
Александр
Собственно получил список с помощью find, но там каждый элемент словарь.
Александр
Timur
Timur
А как исходная задача звучит?
Timur
Какое состояние вам нужно получить на целевых хостах?
Александр
А как исходная задача звучит?
Нужно скопировать с одного удалённого узла файлы на другой удалённый узел. Причём только те, которых ещё нет на получателе.
Timur
Ну так копируйте
Timur
Зачем для этого списки сравнивать?
Timur
модуль copy с флагом force: no
Timur
Будет копировать только те файлы, которых нет на таргете
Александр
Но как я их буду копировать, если они удалённые?
Vladislav 👻
нее, не взлетит
Vladislav 👻
я про инвентори свой...
Александр
По отношению к центральному узлу получатель и источник оба удалённые.
Александр
Мне нужно будет использовать ansible как промежуточный.
Vladislav 👻
Например, есть host-dev и host-prod, оба находятся в одной группе service, группа service включается в соответствующую группу своего инвентори prod/dev, при объединении оба хоста в обоих группах dev/prod
Timur
Timur
Timur
George
George
set -x
env
echo "OLOLO! I am started"
pwd
whoami
George
может станет яснее
Vladislav 👻
xfs_repair
Приветствую
xfs_repair
"msg": "Failed to connect to the host via ssh: ssh_exchange_identification: Connection closed by remote host",
xfs_repair
может кто знает из за чего
xfs_repair
установил ансибл , в хостс прописал одного клиента , пытаюсь проверить , запускаю ansible all -m ping
Anonymous
@AlexShmel будет жить. Поприветствуем!
xfs_repair
в hosts файле:
[ipaclients]
ansible_host= 10.20.....
ansible_user= test
ansible_ssh_private_key_file=test.pem
AlexShmel🐝
Гайз. подскажите как в ансибл плейбук передать аргументом айпишник хоста на котором нужно выполнять действия ? так что бы без создания файла hosts и прочей фигни. просто аргументом в консоль
или может в сам yml файл както записать ?
AlexShmel🐝
мне нужно в одну длинную строку для одного хоста выполнить один плейбук
AlexShmel🐝
без создания левых файлов типа хостс или инвентарь
AlexShmel🐝
каким аргументом собсно можно передать айпишник ? (даже не hostname)