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

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

22 ответов

15 просмотров

{% 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- Автор вопроса

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
разработчик ботов скидывает портфолио, боты которые он уже создал. А вот как узнать что это именно он их создал?
Gosudar
4
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
кто-нибудь уже пробовал это?
Lencore
4
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
❓ Подскажите как сделать в группе телеги функцию (кнопку) пересылки сообщения где есть нарушение правил? Бот к каждому сообщению (по определенным ключам) добавляет снизу кнопк...
Alexander
4
Карта сайта