cnos_portchannel – Управление конфигурацией канала портов (port channel) на устройствах с Lenovo CNOS
Новая версия 2.3.
Обзор
- Этот модуль позволяет работать с конфигурациями, связанными с каналами портов. Используемые операторы перегружены для обеспечения контроля над конфигурациями каналов портов коммутатора. Помимо обычных атрибутов, связанных с подключением устройства, существуют пять аргументов LAG, которые являются перегруженными переменными, выполняющими дальнейшую конфигурацию. Это interfaceArg1, interfaceArg2, interfaceArg3, interfaceArg4 и interfaceArg5. Более подробную информацию о том, как использовать эти аргументы, см. в [Перегруженные переменные]. Этот модуль использует SSH для управления конфигурацией сетевого устройства. Результаты операции будут помещены в каталог с именем «results», который должен быть создан пользователем в локальном каталоге, где выполняется планшет.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| deviceType - / обязательно добавлен в 2.3 |
| Указывает тип устройства, на котором выполняется метод. Варианты NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены начиная с версии 2.4. |
| enablePassword - добавлен в 2.3 | Настраивает пароль, используемый для входа в режим глобальной конфигурации коммутатора. Если коммутатор не запрашивает этот пароль, параметр игнорируется. В общем случае значение должно быть взято из файла инвентаризации, но вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | |
| host - / обязательно добавлен в 2.3 | Это переменная, используемая для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на котором будет применена шаблон. Обычно в плейбуке используется Ansible-ключевое слово {{ inventory_hostname }} как абстракция группы сетевых элементов, которые необходимо настроить. | |
| interfaceArg1 - / обязательно |
null | Это перегруженный первый аргумент Портового канала. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше. |
| interfaceArg2 - |
null | Это перегруженный второй аргумент Портового канала. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше. |
| interfaceArg3 - |
null | Это перегруженный третий аргумент Портового канала. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше. |
| interfaceArg4 - |
null | Это перегруженный четвёртый аргумент Портового канала. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше. |
| interfaceArg5 - |
null | Это перегруженный пятый аргумент Портового канала. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше. |
| interfaceArg6 - |
null | Это перегруженный шестой аргумент Портового канала. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше. |
| interfaceArg7 - |
null | Это перегруженный седьмой аргумент Портового канала. Использование этого аргумента можно найти в Руководстве пользователя, упомянутом выше. |
| interfaceRange - / обязательно | Значение по умолчанию: null | Указывает диапазон интерфейсов, в котором планируется порт-канал. |
| outputfile - / обязательно добавлен в 2.3 | Указывает путь к файлу, где сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединённом файле шаблона, и каждый ответ от устройства. Обычно это папка результатов, но вы можете выбрать другое расположение в зависимости от прав записи. | |
| 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 - channel-group
cnos_portchannel:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_portchannel_{{inventory_hostname}}_output.txt"
interfaceRange: 33
interfaceArg1: "channel-group"
interfaceArg2: 33
interfaceArg3: "on"
- name: Test Port Channel - channel-group - Interface Range
cnos_portchannel:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
interfaceRange: "1/1-2"
interfaceArg1: "channel-group"
interfaceArg2: 33
interfaceArg3: "on"
- name: Test Port Channel - bridge-port
cnos_portchannel:
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:
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:
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:
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:
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:
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:
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:
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 - microburst-detection
cnos_portchannel:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_portchannel_{{ inventory_hostname }}_output.txt"
interfaceRange: 33
interfaceArg1: "ip"
interfaceArg2: "port"
interfaceArg3: "anil"
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| msg строка | всегда | Сообщение об успехе или об ошибке Пример: Настройки Портового канала выполнены |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [preview]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.7/modules/cnos_portchannel_module.html