Spec-Zone.ru › Ansible 2.6

cnos_portchannel — Управление конфигурацией портканалов (агрегации портов) на устройствах с Lenovo CNOS

Новая версия с 2.3.

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Описание

  • Этот модуль позволяет работать с конфигурациями, связанными с агрегацией портов. Используемые операторы перегружены для обеспечения контроля над конфигурациями агрегации портов коммутатора. Помимо обычных атрибутов, связанных с подключением устройств, существуют пять аргументов LAG, которые являются перегруженными переменными, выполняющими дальнейшие настройки. Это interfaceArg1, interfaceArg2, interfaceArg3, interfaceArg4 и interfaceArg5. Более подробную информацию о том, как использовать эти аргументы, см. в разделе [Перегруженные переменные]. Данный модуль использует SSH для управления конфигурацией сетевого устройства. Результаты операции будут помещены в директорию с именем ‘results’, которую пользователь должен создать в локальной директории, где выполняется playbook. Дополнительную информацию о данном модуле от Lenovo и настройку его использования для ваших задач см. по ссылке http://systemx.lenovofiles.com/help/index.jsp?topic=%2Fcom.lenovo.switchmgt.ansible.doc%2Fcnos_portchannel.html

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
deviceType
обязательно

(добавлено в 2.3)
    Варианты:
  • g8272_cnos
  • g8296_cnos
  • g8332_cnos
  • NE1072T
  • NE1032
  • NE1032T
  • NE10032
  • NE2572
Указывает тип устройства, на котором выполняется метод. Варианты NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены с версии 2.4
enablePassword
(добавлено в 2.3)
Настраивает пароль, используемый для входа в режим глобальной конфигурации коммутатора. Если коммутатор не запрашивает этот пароль, параметр игнорируется. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться.
host
обязательно

(добавлено в 2.3)
Эта переменная используется для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на которое будет применена конфигурация. Обычно в playbook используется ключевое слово Ansible {{ inventory_hostname }} в качестве абстракции группы сетевых элементов, которые необходимо настроить.
interfaceArg1
обязательно
    Варианты:
  • aggregation-group
  • bfd
  • bridgeport
  • описание
  • duplex
  • flowcontrol
  • ip
  • ipv6
  • lacp
  • lldp
  • load-interval
  • mac
  • mac-address
  • mac-learn
  • microburst-detection
  • mtu
  • service
  • service-policy
  • shutdown
  • snmp
  • spanning-tree
  • speed
  • storm-control
  • vlan
  • vrrp
  • port-aggregation
Значение по умолчанию:
null
Это перегруженный первый аргумент Port Channel. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше.
interfaceArg2
    Варианты:
  • номер агрегационной группы
  • доступ или режим или trunk
  • описание
  • авто или полный или половинный
  • прием или отправка
  • port-priority
  • suspend-individual
  • таймаут
  • прием или передача или уведомление об ошибке
  • tlv-select
  • Задержка интервала загрузки в секундах
  • счетчик
  • Имя списка доступа MAC
  • mac-адрес в формате HHHH.HHHH.HHHH
  • Значение ПОРОГА в единицах ячейки буфера
  • <64-9216> MTU в байтах-<64-9216> для L2 пакета
  • <576-9216> для L3 IPv4 пакета
  • <1280-9216> для L3 IPv6 пакета
  • введите идентификатор экземпляра
  • вход или выход
  • copp-system-policy
  • тип
  • 1000 или 10000 или 40000 или auto
  • вещание или многоадресная или одноадресная
  • отключить или включить или только исходящий
  • Идентификатор виртуального маршрутизатора
  • destination-ip или destination-mac или destination-port или source-dest-ip или source-dest-mac или source-dest-port или source-interface или source-ip или source-mac или source-port
Значение по умолчанию:
null
Это перегруженный второй аргумент Port Channel. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше.
interfaceArg3
    Варианты:
  • активный или включенный или пассивный
  • включить или выключить
  • приоритет порта LACP
  • длинный или короткий
  • link-aggregation или mac-phy-status или management-address или max-frame-size или port-description или port-protocol-vlan или port-vlan или power-mdi или protocol-identity или system-capabilities или system-description или system-name или vid-management или vlan-name
  • счетчик интервала загрузки
  • имя входной политики
  • все или имя класса Copp для подключения
  • qos
  • очередирование
  • Введите разрешенный уровень трафика
  • ipv6
Значение по умолчанию:
null
Это перегруженный третий аргумент Port Channel. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше.
interfaceArg4
    Варианты:
  • key-chain
  • key-id
  • keyed-md5 или keyed-sha1 или meticulous-keyed-md5 или meticulous-keyed-sha1 или simple
  • Значение интервала в миллисекундах
  • IP-адрес назначения (как IPv4, так и IPv6)
  • в или из
  • MAC-адрес
  • Значение таймаута в секундах
  • class-id
  • запрос
  • Укажите IPv4-адрес
  • Идентификатор области OSPF в десятичном формате
  • Идентификатор области OSPF в формате IP-адреса
  • anycast или вторичный
  • ethernet
  • vlan
  • MAC-адрес (аппаратный) в формате HHHH.HHHH.HHHH
  • Задержка интервала загрузки в секундах
  • Укажите имя входной политики
  • вход или выход
  • стоимость
  • port-priority
  • Минимальный интервал приема BFD
  • source-interface
Значение по умолчанию:
null
Это перегруженный четвертый аргумент Port Channel. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше.
interfaceArg5
    Варианты:
  • имя key-chain
  • Значение key-Id
  • key-chain
  • key-id
  • Минимальный интервал приема BFD
  • Значение множителя Hello
  • admin-down или multihop или non-persistent
  • Имя идентификатора класса вендора
  • bootfile-name или host-name или log-server или ntp-server или tftp-server-name
  • Номер слота/шасси
  • Интерфейс VLAN
  • Укажите имя входной политики
  • Стоимость пути порта или auto
  • Увеличение приоритета порта на 32
Значение по умолчанию:
null
Это перегруженный пятый аргумент Port Channel. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше.
interfaceArg6
    Варианты:
  • Строка ключа аутентификации
  • имя key-chain
  • Значение key-Id
  • Значение множителя Hello
  • admin-down или non-persistent
Значение по умолчанию:
null
Это перегруженный шестой аргумент Port Channel. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше.
interfaceArg7
    Варианты:
  • Строка ключа аутентификации
  • admin-down
Значение по умолчанию:
null
Это перегруженный седьмой аргумент Port Channel. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше.
interfaceRange
обязательно
Значение по умолчанию:
null
Указывает диапазон интерфейсов, для которых предполагается агрегация портов
outputfile
обязательно

(добавлено в 2.3)
Указывает путь к файлу, где сохраняется вывод каждой команды. Здесь сохраняются каждая команда, указанная в объединенном файле шаблона, и каждый ответ от устройства. Обычно это папка results, но вы можете выбрать другое место в зависимости от ваших прав записи.
password
обязательно

(добавлено в 2.3)
Настраивает пароль, используемый для аутентификации подключения к удаленному устройству. Значение параметра password используется для аутентификации сессии SSH. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться.
username
обязательно

(добавлено в 2.3)
Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Значение параметра username используется для аутентификации сессии SSH. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться.

Примечания

Примечание

  • Дополнительную информацию о использовании Ansible для управления устройствами Lenovo Network см. на сайте https://www.ansible.com/ansible-lenovo.

Примеры

Tasks : The following are examples of using the module cnos_portchannel. These are written in the main.yml file of the tasks directory.
---
- name: Test Port Channel - aggregation-group
  cnos_portchannel:
    host: "{{ inventory_hostname }}"
    username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
    password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
    deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
    outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
    interfaceRange: 33
    interfaceArg1: "aggregation-group"
    interfaceArg2: 33
    interfaceArg3: "on"

- name: Test Port Channel - aggregation-group - Interface Range
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: "1/1-2"
  interfaceArg1: "aggregation-group"
  interfaceArg2: 33
  interfaceArg3: "on"

- name: Test Port Channel - bridge-port
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "bridge-port"
  interfaceArg2: "access"
  interfaceArg3: 33

- name: Test Port Channel - bridgeport mode
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "bridge-port"
  interfaceArg2: "mode"
  interfaceArg3: "access"

- name: Test Port Channel  - Description
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "description"
  interfaceArg2: "Hentammoo "

- name: Test Port Channel - Duplex
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "duplex"
  interfaceArg2: "auto"

- name: Test Port Channel - flowcontrol
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "flowcontrol"
  interfaceArg2: "send"
  interfaceArg3: "off"

- name: Test Port Channel - lacp
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "lacp"
  interfaceArg2: "port-priority"
  interfaceArg3: 33

- name: Test Port Channel  - lldp
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "lldp"
  interfaceArg2: "tlv-select"
  interfaceArg3: "max-frame-size"

- name: Test Port Channel - load-interval
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "load-interval"
  interfaceArg2: "counter"
  interfaceArg3: 2
  interfaceArg4: 33

#- name: Test Port Channel - mac
#  cnos_portchannel:
#  host: "{{ inventory_hostname }}"
#  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
#  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
#  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
#  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
#  interfaceRange: 33,
#  interfaceArg1: "mac"
#  interfaceArg2: "copp-system-acl-vlag-hc"

- name: Test Port Channel - microburst-detection
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "microburst-detection"
  interfaceArg2: 25

- name: Test Port Channel  - mtu
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "mtu"
  interfaceArg2: 66

- name: Test Port Channel - service-policy
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "service-policy"
  interfaceArg2: "input"
  interfaceArg3: "Anil"

- name: Test Port Channel - speed
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "speed"
  interfaceArg2: "auto"

- name: Test Port Channel - storm
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "storm-control"
  interfaceArg2: "broadcast"
  interfaceArg3: 12.5

#- name: Test Port Channel - vlan
#  cnos_portchannel:
#  host: "{{ inventory_hostname }}"
#  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
#  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
#  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
#  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
#  interfaceRange: 33
#  interfaceArg1: "vlan"
#  interfaceArg2: "disable"

- name: Test Port Channel - vrrp
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "vrrp"
  interfaceArg2: 33

- name: Test Port Channel - spanning tree1
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "spanning-tree"
  interfaceArg2: "bpduguard"
  interfaceArg3: "enable"

- name: Test Port Channel - spanning tree 2
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "spanning-tree"
  interfaceArg2: "mst"
  interfaceArg3: "33-35"
  interfaceArg4: "cost"
  interfaceArg5: 33

- name: Test Port Channel - ip1
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "ip"
  interfaceArg2: "access-group"
  interfaceArg3: "anil"
  interfaceArg4: "in"

- name: Test Port Channel - ip2
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "ip"
  interfaceArg2: "port"
  interfaceArg3: "anil"

- name: Test Port Channel - bfd
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "bfd"
  interfaceArg2: "interval"
  interfaceArg3: 55
  interfaceArg4: 55
  interfaceArg5: 33

- name: Test Port Channel - bfd
  cnos_portchannel:
  host: "{{ inventory_hostname }}"
  username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
  password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
  deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
  outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
  interfaceRange: 33
  interfaceArg1: "bfd"
  interfaceArg2: "ipv4"
  interfaceArg3: "authentication"
  interfaceArg4: "meticulous-keyed-md5"
  interfaceArg5: "key-chain"
  interfaceArg6: "mychain"

Значения возврата

Общие значения возвращаемых данных описаны здесь, ниже приведены поля, уникальные для данного модуля:

Ключ Возвращаемое значение Описание
msg
строка
всегда
Сообщение об успехе или ошибке

Пример:
Конфигурация каналов портов выполнена


Статус

Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.

Техническое обслуживание

Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. Более подробная информация доступна в поддержке и обслуживании модулей.

Список других модулей, поддерживаемых сообществом Ansible, см. здесь.

Автор

  • Anil Kumar Muraleedharan (@amuraleedhar)

Подсказка

Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/cnos_portchannel_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API