у неё два vrf, mgmt и default, установка пакетов возможна только через mgmt-vrf, не могу сообразить, как при выполнении become запускать модули через ip vrf exec mgmt-vrf чтобы потом модуль apt выполнялся внутри mgmt-vrf, а не default vrf?
Если я понял задачу, то к ансибл она не имеет отношения. Тут роутинт чисто
Ansible когда выполняет модуль apt, то приложение делает socket bind в default vrf, с помощью команды ip vrf exec mgmt-vrf socket bind выполняется в mgmt-vrf. К маршрутизации вопрос не имеет отношения, тут вопрос в контексте в котором выполняется Ansible, в default-vrf или mgmt-vrf контексте. То есть Ansible подключаеться по SSH через mgmt интерфейс, находящийся в mgmt-vrf же. Но когда он выполняет команду apt update/install посредством модуля apt, то делает это в default-vrf, что логично, правильно и ожидаемо. Но хочется, чтобы он выполнял команду в рамках mgmt-vrf, поскольку Nexus доступен только через него.
Нужен переводчик.
Это уже вопрос того, как у вас роуты в системе прописаны
Что есть VRF в вашем контексте?
таблицы маршрутизации.
Я думаю нет. Если по классике то это растянутый MPLS домен
Ааа, блин я понял. Они так таблицы маршрутизации назвали
Да это с циски наименование пришло.
вам надо разобраться как перенаправлять трафик через нужный интерфейс. ansible тут ни при чём.
То что ты описал - это не про ансамбль. Это про настройки роутинга в сети. Не более и не менее
Дичь. Закрывать дыры в процессах использованием инструмента как попало - угу, дайте два
Вообще занимательно: вызов bind используется сетевыми серверами, Карл, понимаешь, серверами!..
А ты думаешь, я в каком состоянии был ) но проблема есть, нет оснований коллеге не доверять
Нет проблемы. Вернее, она не на уровне Ansible должна решаться, а на уровне знания, кто на ком стоял.
Что предлагаешь ? Врфы наоборот настроить ? Менеджмент сделать дефолтом, а вот который дефолт - сделать условно вторым ?
А я бы сказал "изучаем Ansible!", и написал бы соотв. shell-плагин, который любые вызовы чего бы то ни было на целевом хосте засунет внутрь приведённого выше wrapper'а.
Да вы правы, socket connect, конечно.
Спасибо тоже посмотрю, пока ваш вариант выглядит, как самый правильный, но и самый сложный.
Обсуждают сегодня