Spec-Zone.ru › Ansible 2.5

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
Значение по умолчанию:
None
Указывает тип устройства, на котором выполняется метод. Варианты NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены с версии 2.4
enablePassword
(добавлен в 2.3)
Значение по умолчанию:
None
Настраивает пароль, используемый для входа в режим глобальной конфигурации на коммутаторе. Если коммутатор не запрашивает этот пароль, параметр игнорируется. В целом, значение должно быть взято из файла инвентаризации, но его также можно указать как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не используется.
host
обязательно

(добавлен в 2.3)
Значение по умолчанию:
None
Эта переменная используется для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на котором будет применена шаблон. Обычно в playbook используется ключевое слово 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
Значение по умолчанию:
None
Первый перегруженный аргумент Port Channel. Использование этого аргумента можно найти в руководстве пользователя, указанном выше.
interfaceArg2
    Значение по умолчанию:
    None
Второй перегруженный аргумент Port Channel. Использование этого аргумента можно найти в руководстве пользователя, указанном выше.
interfaceArg3
    Значение по умолчанию:
    None
Третий перегруженный аргумент Port Channel. Использование этого аргумента можно найти в руководстве пользователя, указанном выше.
interfaceArg4
    Значение по умолчанию:
    None
Четвертый перегруженный аргумент Port Channel. Использование этого аргумента можно найти в руководстве пользователя, указанном выше.
interfaceArg5
    Значение по умолчанию:
    None
Пятый перегруженный аргумент Port Channel. Использование этого аргумента можно найти в руководстве пользователя, указанном выше.
interfaceArg6
    Значение по умолчанию:
    None
Шестой перегруженный аргумент Port Channel. Использование этого аргумента можно найти в руководстве пользователя, указанном выше.
interfaceArg7
    Значение по умолчанию:
    None
Седьмой перегруженный аргумент Port Channel. Использование этого аргумента можно найти в руководстве пользователя, указанном выше.
interfaceRange
обязательно
Значение по умолчанию:
None
Указывает диапазон интерфейсов, в котором предполагается агрегация портов
outputfile
обязательно

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

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

(добавлен в 2.3)
Значение по умолчанию:
None
Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Значение параметра 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
строка
всегда
Сообщение об успехе или ошибке

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


Статус

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

Автор

  • 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.5/modules/cnos_portchannel_module.html

Spec-Zone.ru

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