Комрадз, подскажите как в j2 описать следующее: есть группа в ней

n-хостов, в конфиге на каждом хосте нужно перечислить ip всех хостов из группы, кроме собственного ip. собственно как из цикла исключить собственный ip хоста? спасибо

22 ответов

6 просмотров

{% for ip in groups[keepalived_group_name] | map('extract', hostvars, ['ansible_eth1', 'ipv4', 'address']) | list | difference([ansible_eth1.ipv4.address]) %} типа так

Name- Автор вопроса
Отделение Bereke Bank Ор
{% for ip in groups[keepalived_group_name] | map('...

прям как почувствовал, что я про keepalived =)

у меня как-то так hosts: " {%- set ips = [] %} {%- for host in groups[keepalived_group] %} {{- ips.append(dict(id=loop.index, host=host, ip=hostvars[host]['ansible_host'])) }} {%- endfor %} {{- ips -}}" keepalived_peer_ips: "{{ hosts | rejectattr('host', 'equalto', inventory_hostname ) |map(attribute='ip') | list }}"

Name- Автор вопроса
Name- Автор вопроса
Valiy Vvv
у меня как-то так hosts: " {%- set ips = [] %}...

а можно чуть по подробнее? keepalived_peer_ips - это описанная переменная в defaults,например, а hosts это где ты это описал?

Name
а можно чуть по подробнее? keepalived_peer_ips - э...

host это элемент списка. там любое слово можешь использовать

Name
а можно чуть по подробнее? keepalived_peer_ips - э...

А нет я не прав. Не так посмотрел) ждём автора

Name
а можно чуть по подробнее? keepalived_peer_ips - э...

у меня hosts это универсальная перменная, описана она в group_vars и дальше используется для разных ролей. Получается часть логики храниться в group_vars, наверно это не супер круто и в приниципе можно и в роль унести.

Name- Автор вопроса
Valiy Vvv
у меня hosts это универсальная перменная, описана ...

а keepalived_peer_ips ты уже непосредственно в jinja2 например вставляешь и получаешь все ip кроме хоста хозяина так сказать. верно?

Name
а keepalived_peer_ips ты уже непосредственно в jin...

да, в шаблоне это выглядит вот так unicast_peer { {{ keepalived_peer_ips | join('\n ') }} }

Name- Автор вопроса
Name- Автор вопроса
Name
а это не спроста ('\n ') ?=)

что красиво было) каждый адрес на новой строке и с отступами

Name- Автор вопроса
Valiy Vvv
что красиво было) каждый адрес на новой строке и с...

понял...я просто с 2мя хостами тестирую и не заметил эффекта =)

Name
понял...я просто с 2мя хостами тестирую и не замет...

у меня ещё приоритет для каждого сервера считается с помощью этого массива hosts keepalived_priority_max: 100 keepalived_priority: "{{ keepalived_priority_max - hosts | selectattr('host', 'equalto', inventory_hostname)| map(attribute='id') |first}}"

Name- Автор вопроса
Valiy Vvv
у меня ещё приоритет для каждого сервера считается...

так я уже не стал усложнять, просто в host_vars для каждого хоста свою конкретику задал (state, priority и тд)

Name
так я уже не стал усложнять, просто в host_vars дл...

я делал так, что развернуть можно было указав только группу и vip. Кластеры keepalived на потоке))

Name- Автор вопроса
Valiy Vvv
я делал так, что развернуть можно было указав толь...

а еще вопросик - у вас selinux откл в работе? а то при вкдюченном selinux падает на ошибку keepalived =(

Name- Автор вопроса
Valiy Vvv
да, отключен

а подскажи пжлст в конфиге keepalived.conf у вас unicast_src_ip указан?

Name- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
ребят, привет. за какое время бот полученную заявку на вступление в группу может принять \отклонить? Помню речь была про 5 минут, сейчас как?
Роман Ромашин :)
9
@veranikaEU получилось? Можно увидеть рабочий код?
Alex Kom
8
Тут вопрос они парсить всех ботов будут на предмет услуг платных и смотреть платежные реализации? Или через стукачей будут вычислять индивидуально.
A O
5
Привет) Я делаю график зависимости количества показов рекламного объявления от времени (группировка почасовая) и хочу показывать его в таймзоне клиента В базе данных метку в...
Виталий
1
Всем ку, услышал заявление что теперь обязательно в бота встроить телеграм старс в бота, крайний срок - в июле Правда ли это?
Ilya Shvechikov
4
Или кинули уже?
Magic
6
Меня спросили: есть у тебя специалисты кто могут майнилку в тг сделать?
Tim
3
вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Всем привет, описание проблемы: локально достучаться до сервера не получилось, получаю ошибку с текстом Packet received out-of-order. Expected 0; got 45. Проблема с протоколом...
Yernur
1
Карта сайта