LINUX.ORG.RU
ФорумAdmin

Помогите сделать странное

 ,


0

1

Словом, есть ansible и с его помощью хотелось бы решить следующую задачу:

Есть три хоста группы А, и три хоста группы В:

[a]
1.1.1.1 - #1
1.1.1.2 - #2
1.1.1.3 - #3

[b]
2.2.2.1 - #1
2.2.2.2 - #2
2.2.2.3 - #3
Можно ли сделать такую штуку: c каждого хоста группы А переслать файлы на соответствующий хост группы В? (c 1.1.1.1 -> 2.2.2.1, с 1.1.1.2 -> 2.2.2.2, и так далее)

Если это нельзя сделать с помощью ансибл, то с помощью чего можно?

Можно попробовать использовать delegate_to в связке с каким-нибудь with_items или when, но лучше поменять логику.

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 1)
Ответ на: комментарий от alozovskoy

А в какую сторону поменять? Мне надо сделать бэкап монги на N хостах и развернуть на других X хостах, хотелось бы как-то автоматизировать это всё дело...

poison1456
() автор топика
Ответ на: комментарий от poison1456

А, да вообще-то ничего менять и не нужно. В общем либо заведи словарь, в котором у тебя будет соответствие хостов (группа1 <-> группа2) и пробегай по нему с использованием delegate_to, или каждой паре хостов из групп задай какие-нибудь уникальные параметры (ну номер в подгруппе) и отталкивайся от них. Проблема в том что это будет медленно. Чтоб сделать быстрее - опять же задаешь какую-нибудь переменную для описания связки «хост_из_группы1 <> хост_из_группы2», перетягиваешь одним проходом быкапы с группы1 на хост с Ansible в подкаталоги со значением этой переменной в качестве имени, а потом следующим проходом раскидываешь это дела на хосты группы2. Кстати, учитывая хосты хранятся в виде списка можно к порядковому номеру привязаться и не городить лишних переменных.

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 1)

Короче, я подумал, и сделал это на salt, вышло красиво и теперь мои волосы мягкие и шелковистые.

poison1456
() автор топика
Ответ на: комментарий от alozovskoy

Там есть jinja2 прямо в стендах, так что я простым if'ом сделал.

Кстати, субъективно, солт кажется быстрее ансибла.

poison1456
() автор топика
Ответ на: комментарий от poison1456

Closed. drybjed opened this Issue on 22 Jul 2014

Так его уже пофиксили, и точно могу сказать что if-then-else циклы я использовал еще в 1.7.чтототам. Даже set нормально работает в плейбуках. Другое дело что пример кривой - там вообще не нужно ветвление.

alozovskoy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.