cisco.iosxr.iosxr_lag_interfaces – Модуль ресурсов интерфейсов LAG
Примечание
Этот плагин является частью коллекции cisco.iosxr (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install cisco.iosxr
Для использования в книге задач укажите: cisco.iosxr.iosxr_lag_interfaces
Новое в версии 1.0.0: модуля cisco.iosxr
Обзор
- Этот модуль управляет атрибутами интерфейсов LAG/Ether-Bundle на устройствах IOS-XR.
Примечание
У этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| config список / элементы=словарь | Предоставленная конфигурация группы агрегирования (LAG). | |||
| links словарь | Этот словарь содержит конфигурируемые параметры, относящиеся к связям LAG/Ether-Bundle. | |||
| max_active целое число | Указывает ограничение на количество активных ссылок в LAG/Ether-Bundle. Обратитесь к документации поставщика для получения допустимых значений. | |||
| min_active целое число | Указывает минимальное количество активных ссылок, необходимых для включения LAG/Ether-Bundle. Обратитесь к документации поставщика для получения допустимых значений. | |||
| load_balancing_hash строка |
| Указывает функцию хэширования, используемую для трафика, пересылаемого через LAG/Ether-Bundle. Вариант 'dst-ip' использует IP-адрес назначения в качестве функции хэширования. Вариант 'src-ip' использует IP-адрес источника в качестве функции хэширования. | ||
| members список / элементы=словарь | Список интерфейсов-членов для LAG/Ether-Bundle. | |||
| member строка | Имя интерфейса-члена. | |||
| mode строка |
| Указывает режим работы для интерфейса-члена. Режим 'active' выполняет LACP в активном режиме. Режим 'on' не выполняет LACP через порт. Режим 'passive' выполняет LACP в пассивном режиме через порт. Режим 'inherit' выполняет LACP в соответствии с конфигурацией в группе. | ||
| mode строка |
| Режим LAG. Режим 'active' выполняет LACP в активном режиме через порт. Режим 'on' не выполняет LACP через порт. Режим 'passive' выполняет LACP в пассивном режиме через порт. | ||
| name строка / обязательно | Имя/Идентификатор LAG/Ether-Bundle для настройки. | |||
| running_config строка | Этот параметр используется только со состоянием parsed. Значение этого параметра должно быть выводом с устройства IOS-XR путем выполнения команды show running-config int. Состояние parsed считывает конфигурацию из параметра running_config и преобразует её в структурированные данные Ansible в соответствии с argspec модуля ресурсов, а затем значение возвращается в ключе parsed в результате. | |||
| state строка |
| Состояние конфигурации после завершения модуля. | ||
Примечания
Примечание
- Тестировано на IOS-XR 6.1.3.
- Этот модуль работает с подключением
network_cli. См. параметры платформы IOS-XR.
Примеры
# Using merged
#
#
# ------------
# Before state
# ------------
#
# RP/0/0/CPU0:iosxr01#show run int
# Sun Jul 7 19:42:59.416 UTC
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/1
# description "GigabitEthernet - 1"
# !
# interface GigabitEthernet0/0/0/2
# description "GigabitEthernet - 2"
# !
# interface GigabitEthernet0/0/0/3
# description "GigabitEthernet - 3"
# !
# interface GigabitEthernet0/0/0/4
# description "GigabitEthernet - 4"
# !
#
#
- name: Merge provided configuration with device configuration
cisco.iosxr.iosxr_lag_interfaces:
config:
- name: Bundle-Ether10
members:
- member: GigabitEthernet0/0/0/1
mode: inherit
- member: GigabitEthernet0/0/0/3
mode: inherit
mode: active
links:
max_active: 5
min_active: 2
load_balancing_hash: src-ip
- name: Bundle-Ether12
members:
- member: GigabitEthernet0/0/0/2
mode: passive
- member: GigabitEthernet0/0/0/4
mode: passive
load_balancing_hash: dst-ip
state: merged
#
#
# -----------
# After state
# -----------
#
# RP/0/0/CPU0:iosxr01#show run int
# Sun Jul 7 20:51:17.685 UTC
# interface Bundle-Ether10
# lacp mode active
# bundle load-balancing hash src-ip
# bundle maximum-active links 5
# bundle minimum-active links 2
# !
# interface Bundle-Ether12
# bundle load-balancing hash dst-ip
# !
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/1
# description 'GigabitEthernet - 1"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/2
# description "GigabitEthernet - 2"
# bundle id 12 mode passive
# !
# interface GigabitEthernet0/0/0/3
# description "GigabitEthernet - 3"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/4
# description "GigabitEthernet - 4"
# bundle id 12 mode passive
# !
#
# Using replaced
#
#
# -------------
# Before state
# -------------
#
#
# RP/0/0/CPU0:iosxr01#sho run int
# Sun Jul 7 20:58:06.527 UTC
# interface Bundle-Ether10
# lacp mode active
# bundle load-balancing hash src-ip
# bundle maximum-active links 5
# bundle minimum-active links 2
# !
# interface Bundle-Ether12
# bundle load-balancing hash dst-ip
# !
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/1
# description 'GigabitEthernet - 1"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/2
# description "GigabitEthernet - 2"
# bundle id 12 mode passive
# !
# interface GigabitEthernet0/0/0/3
# description "GigabitEthernet - 3"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/4
# description "GigabitEthernet - 4"
# bundle id 12 mode passive
# !
#
#
- name: Replace device configuration of listed Bundles with provided configurations
cisco.iosxr.iosxr_lag_interfaces:
config:
- name: Bundle-Ether12
members:
- name: GigabitEthernet0/0/0/2
mode: passive
- name: Bundle-Ether11
members:
- name: GigabitEthernet0/0/0/4
load_balancing_hash: src-ip
state: replaced
#
#
# -----------
# After state
# -----------
#
#
# RP/0/0/CPU0:iosxr01#sh run int
# Sun Jul 7 21:22:27.397 UTC
# interface Bundle-Ether10
# lacp mode active
# bundle load-balancing hash src-ip
# bundle maximum-active links 5
# bundle minimum-active links 2
# !
# interface Bundle-Ether11
# bundle load-balancing hash src-ip
# !
# interface Bundle-Ether12
# lacp mode passive
# !
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/1
# description 'GigabitEthernet - 1"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/2
# description "GigabitEthernet - 2"
# bundle id 12 mode on
# !
# interface GigabitEthernet0/0/0/3
# description "GigabitEthernet - 3"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/4
# description "GigabitEthernet - 4"
# bundle id 11 mode on
# !
#
#
# Using overridden
#
#
# ------------
# Before state
# ------------
#
#
# RP/0/0/CPU0:iosxr01#sh run int
# Sun Jul 7 21:22:27.397 UTC
# interface Bundle-Ether10
# lacp mode active
# bundle load-balancing hash src-ip
# bundle maximum-active links 5
# bundle minimum-active links 2
# !
# interface Bundle-Ether11
# bundle load-balancing hash src-ip
# !
# interface Bundle-Ether12
# lacp mode passive
# !
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/1
# description 'GigabitEthernet - 1"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/2
# description "GigabitEthernet - 2"
# bundle id 12 mode on
# !
# interface GigabitEthernet0/0/0/3
# description "GigabitEthernet - 3"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/4
# description "GigabitEthernet - 4"
# bundle id 11 mode on
# !
#
#
- name: Overrides all device configuration with provided configuration
cisco.iosxr.iosxr_lag_interfaces:
config:
- name: Bundle-Ether10
members:
- member: GigabitEthernet0/0/0/1
mode: inherit
- member: GigabitEthernet0/0/0/2
mode: inherit
mode: active
load_balancing_hash: dst-ip
state: overridden
#
#
# ------------
# After state
# ------------
#
#
# RP/0/0/CPU0:iosxr01#sh run int
# Sun Jul 7 21:43:04.802 UTC
# interface Bundle-Ether10
# lacp mode active
# bundle load-balancing hash dst-ip
# !
# interface Bundle-Ether11
# !
# interface Bundle-Ether12
# !
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/1
# description 'GigabitEthernet - 1"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/2
# description "GigabitEthernet - 2"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/3
# description "GigabitEthernet - 3"
# !
# interface GigabitEthernet0/0/0/4
# description "GigabitEthernet - 4"
# !
#
#
# Using deleted
#
#
# ------------
# Before state
# ------------
#
# RP/0/0/CPU0:iosxr01#sh run int
# Sun Jul 7 21:22:27.397 UTC
# interface Bundle-Ether10
# lacp mode active
# bundle load-balancing hash src-ip
# bundle maximum-active links 5
# bundle minimum-active links 2
# !
# interface Bundle-Ether11
# bundle load-balancing hash src-ip
# !
# interface Bundle-Ether12
# lacp mode passive
# !
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/1
# description 'GigabitEthernet - 1"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/2
# description "GigabitEthernet - 2"
# bundle id 12 mode on
# !n
# interface GigabitEthernet0/0/0/3
# description "GigabitEthernet - 3"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/4
# description "GigabitEthernet - 4"
# bundle id 11 mode on
# !
#
#
- name: Delete attributes of given bundles and removes member interfaces from them
(Note - This won't delete the bundles themselves)
cisco.iosxr.iosxr_lag_interfaces:
config:
- name: Bundle-Ether10
- name: Bundle-Ether11
- name: Bundle-Ether12
state: deleted
#
#
# ------------
# After state
# ------------
#
# RP/0/0/CPU0:iosxr01#sh run int
# Sun Jul 7 21:49:50.004 UTC
# interface Bundle-Ether10
# !
# interface Bundle-Ether11
# !
# interface Bundle-Ether12
# !
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/1
# description 'GigabitEthernet - 1"
# !
# interface GigabitEthernet0/0/0/2
# description "GigabitEthernet - 2"
# !
# interface GigabitEthernet0/0/0/3
# description "GigabitEthernet - 3"
# !
# interface GigabitEthernet0/0/0/4
# description "GigabitEthernet - 4"
# !
#
#
# Using deleted (without config)
#
#
# ------------
# Before state
# ------------
#
# RP/0/0/CPU0:an-iosxr#sh run int
# Sun Aug 18 19:49:51.908 UTC
# interface Bundle-Ether10
# lacp mode active
# bundle load-balancing hash src-ip
# bundle maximum-active links 10
# bundle minimum-active links 2
# !
# interface Bundle-Ether11
# bundle load-balancing hash dst-ip
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/0
# shutdown
# !
# interface GigabitEthernet0/0/0/1
# bundle id 10 mode inherit
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# bundle id 10 mode passive
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# bundle id 11 mode passive
# shutdown
# !
# interface GigabitEthernet0/0/0/4
# bundle id 11 mode passive
# shutdown
# !
#
- name: Delete attributes of all bundles and removes member interfaces from them (Note
- This won't delete the bundles themselves)
cisco.iosxr.iosxr_lag_interfaces:
state: deleted
#
#
# ------------
# After state
# ------------
#
#
# RP/0/0/CPU0:an-iosxr#sh run int
# Sun Aug 18 19:54:22.389 UTC
# interface Bundle-Ether10
# !
# interface Bundle-Ether11
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 10.8.38.69 255.255.255.0
# !
# interface GigabitEthernet0/0/0/0
# shutdown
# !
# interface GigabitEthernet0/0/0/1
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# shutdown
# !
# interface GigabitEthernet0/0/0/4
# shutdown
# !
# Using parsed:
# parsed.cfg
# interface Bundle-Ether10
# lacp mode active
# bundle load-balancing hash src-ip
# bundle maximum-active links 5
# bundle minimum-active links 2
# !
# interface Bundle-Ether12
# bundle load-balancing hash dst-ip
# !
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/1
# description 'GigabitEthernet - 1"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/2
# description "GigabitEthernet - 2"
# bundle id 12 mode passive
# !
# interface GigabitEthernet0/0/0/3
# description "GigabitEthernet - 3"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/4
# description "GigabitEthernet - 4"
# bundle id 12 mode passive
# !
#
- name: Convert lag interfaces config to argspec without connecting to the appliance
cisco.iosxr.iosxr_lag_interfaces:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
# --------------
# Output
# --------------
# parsed:
# - name: Bundle-Ether10
# members:
# - member: GigabitEthernet0/0/0/1
# mode: inherit
# - member: GigabitEthernet0/0/0/3
# mode: inherit
# mode: active
# links:
# max_active: 5
# min_active: 2
# load_balancing_hash: src-ip
# - name: Bundle-Ether12
# members:
# - member: GigabitEthernet0/0/0/2
# mode: passive
# - member: GigabitEthernet0/0/0/4
# mode: passive
# load_balancing_hash: dst-ip
# using gathered
# Device Config:
# -------------
# interface Bundle-Ether10
# lacp mode active
# bundle load-balancing hash src-ip
# bundle maximum-active links 5
# bundle minimum-active links 2
# !
# interface Bundle-Ether12
# bundle load-balancing hash dst-ip
# !
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 192.0.2.11 255.255.255.0
# !
# interface GigabitEthernet0/0/0/1
# description 'GigabitEthernet - 1"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/2
# description "GigabitEthernet - 2"
# bundle id 12 mode passive
# !
# interface GigabitEthernet0/0/0/3
# description "GigabitEthernet - 3"
# bundle id 10 mode inherit
# !
# interface GigabitEthernet0/0/0/4
# description "GigabitEthernet - 4"
# bundle id 12 mode passive
# !
#
- name: Gather IOSXR lag interfaces configuration
cisco.iosxr.iosxr_lag_interfaces:
config:
state: gathered
# --------------
# Output
# --------------
# gathered:
# - name: Bundle-Ether10
# members:
# - member: GigabitEthernet0/0/0/1
# mode: inherit
# - member: GigabitEthernet0/0/0/3
# mode: inherit
# mode: active
# links:
# max_active: 5
# min_active: 2
# load_balancing_hash: src-ip
# - name: Bundle-Ether12
# members:
# - member: GigabitEthernet0/0/0/2
# mode: passive
# - member: GigabitEthernet0/0/0/4
# mode: passive
# load_balancing_hash: dst-ip
# Using rendered:
- name: Render platform specific commands from task input using rendered state
cisco.iosxr.iosxr_lag_interfaces:
config:
- name: Bundle-Ether10
members:
- member: GigabitEthernet0/0/0/1
mode: inherit
- member: GigabitEthernet0/0/0/3
mode: inherit
mode: active
links:
max_active: 5
min_active: 2
load_balancing_hash: src-ip
- name: Bundle-Ether12
members:
- member: GigabitEthernet0/0/0/2
mode: passive
- member: GigabitEthernet0/0/0/4
mode: passive
load_balancing_hash: dst-ip
state: rendered
# Output:
# rendered:
# [
# - "interface Bundle-Ether10"
# - " lacp mode active"
# - " bundle load-balancing hash src-ip"
# - " bundle maximum-active links 5"
# - " bundle minimum-active links 2"
# - "interface Bundle-Ether12"
# - " bundle load-balancing hash dst-ip"
# - "interface Loopback888"
# - " description test for ansible"
# - " shutdown"
# - "interface MgmtEth0/0/CPU0/0"
# - " ipv4 address 192.0.2.11 255.255.255.0"
# - "interface GigabitEthernet0/0/0/1"
# - " description 'GigabitEthernet - 1""
# - " bundle id 10 mode inherit"
# - "interface GigabitEthernet0/0/0/2"
# - " description "GigabitEthernet - 2""
# - " bundle id 12 mode passive"
# - "interface GigabitEthernet0/0/0/3"
# - " description "GigabitEthernet - 3""
# - " bundle id 10 mode inherit"
# - "interface GigabitEthernet0/0/0/4"
# - " description "GigabitEthernet - 4""
# - " bundle id 12 mode passive"
# ]
#
#
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| after список / элементы=строка | при изменении | Конфигурация в виде структурированных данных после завершения модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| before список / элементы=строка | всегда | Конфигурация в виде структурированных данных перед вызовом модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| commands список / элементы=строка | всегда | Набор команд, переданных на удалённое устройство. Пример: ['interface Bundle-Ether10', 'bundle minimum-active links 2', 'bundle load-balancing hash src-ip'] |
Авторы
- Nilashish Chakraborty (@NilashishC)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/cisco/iosxr/iosxr_lag_interfaces_module.html