Spec-Zone.ru › Ansible 2.4

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-адреса устройства, на которое будет применена шаблон. Обычно в книге задач Ansible указывается ключевое слово {{ inventory_hostname }} как абстракция группы сетевых элементов, которые требуется настроить.
interfaceArg1
да
  • aggregation-group
  • bfd
  • bridgeport
  • description
  • 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
Это перегруженный первый аргумент канала портов. Использование этого аргумента можно найти в Руководстве пользователя, на которое ссылается выше.
interfaceArg2
нет
  • aggregation-group number
  • access or mode or trunk
  • description
  • auto or full or half
  • receive or send
  • port-priority
  • suspend-individual
  • timeout
  • receive or transmit or trap-notification
  • tlv-select
  • Задержка интервала нагрузки в секундах
  • счетчик
  • Имя списка доступа MAC
  • mac-address в формате HHHH.HHHH.HHHH
  • Значение порога в единицах ячейки буфера
  • <64-9216> MTU в байтах -<64-9216> для L2 пакетов
  • <576-9216> для L3 IPv4 пакета
  • <1280-9216> для L3 IPv6 пакета
  • введите идентификатор экземпляра
  • вход или выход
  • copp-system-policy
  • тип
  • 1000 или 10000 или 40000 или auto
  • broadcast или multicast или unicast
  • disable или enable или egress-only
  • Идентификатор виртуального маршрутизатора
  • destination-ip или destination-mac или destination-port или source-dest-ip или source-dest-mac или source-dest-port или source-interface или source-ip или source-mac или source-port
Это перегруженный второй аргумент канала портов. Использование этого аргумента можно найти в Руководстве пользователя, на которое ссылается выше.
interfaceArg3
нет
  • active или on или passive
  • on или off
  • приоритет порта 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
Это перегруженный третий аргумент канала портов. Использование этого аргумента можно найти в Руководстве пользователя, на которое ссылается выше.
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 или secondary
  • ethernet
  • vlan
  • MAC-адрес (аппаратный) в формате HHHH.HHHH.HHHH
  • Задержка интервала нагрузки в секундах
  • Укажите имя входной политики
  • вход или выход
  • стоимость
  • приоритет порта
  • Минимальный интервал приема BFD
  • source-interface
Это перегруженный четвертый аргумент канала портов. Использование этого аргумента можно найти в Руководстве пользователя, на которое ссылается выше.
interfaceArg5
нет
  • имя цепочки ключей
  • значение идентификатора ключа
  • цепочка ключей
  • идентификатор ключа
  • минимальный интервал приема BFD
  • значение множителя Hello
  • admin-down или multihop или non-persistent
  • имя идентификатора класса поставщика
  • имя файла загрузки или имя хоста или имя сервера логов или имя сервера NTP или имя сервера TFTP
  • номер слота/корпуса
  • интерфейс VLAN
  • указать имя входной политики
  • стоимость пути порта или auto
  • приращения приоритета порта по 32
Это перегруженный пятый аргумент канала порта. Использование этого аргумента можно найти в руководстве пользователя, на которое сделана ссылка выше.
interfaceArg6
нет
  • строка ключа аутентификации
  • имя цепочки ключей
  • значение идентификатора ключа
  • значение множителя Hello
  • admin-down или non-persistent
Это перегруженный шестой аргумент канала порта. Использование этого аргумента можно найти в руководстве пользователя, на которое сделана ссылка выше.
interfaceArg7
нет
  • строка ключа аутентификации
  • admin-down
Это перегруженный седьмой аргумент канала порта. Использование этого аргумента можно найти в руководстве пользователя, на которое сделана ссылка выше.
interfaceRange
да
Это определяет диапазон интерфейсов, в котором предполагается агрегация портов
outputfile
(добавлено в 2.3)
да
Это указывает путь к файлу, где сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединённом файле шаблона, и каждый ответ с устройства. Обычно расположением является папка результатов, но вы можете выбрать другое место в зависимости от ваших прав записи.
password
(добавлено в 2.3)
да
Настраивает пароль, используемый для аутентификации подключения к удалённому устройству. Значение параметра password используется для аутентификации сессии SSH. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться.
username
(добавлено в 2.3)
да
Настраивает имя пользователя, используемый для аутентификации подключения к удалённому устройству. Значение параметра username используется для аутентификации сессии SSH. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться.

Примеры

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]['username'] }}"
    password: "{{ hostvars[inventory_hostname]['password'] }}"
    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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
#  password: "{{ hostvars[inventory_hostname]['password'] }}"
#  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
#  password: "{{ hostvars[inventory_hostname]['password'] }}"
#  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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]['username'] }}"
  password: "{{ hostvars[inventory_hostname]['password'] }}"
  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 и Разработка модулей.

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

Spec-Zone.ru

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