cnos_interface – Управление конфигурацией интерфейсов на устройствах с Lenovo CNOS
Новая версия с 2.3.
Обзор
- Этот модуль позволяет работать с конфигурацией интерфейсов. Используемые операторы перегружены для обеспечения контроля над конфигурациями интерфейсов коммутаторов. Помимо обычных атрибутов, связанных с подключением устройства, существует семь аргументов интерфейса, которые будут выполнять дополнительную конфигурацию. Это interfaceArg1, interfaceArg2, interfaceArg3, interfaceArg4, interfaceArg5, interfaceArg6 и interfaceArg7. Более подробную информацию о том, как использовать эти аргументы, см. в разделе [Перегруженные переменные]. Конфигурация интерфейсов обрабатывается в шести контекстах в обычном CLI. Это 1. Конфигурация имени интерфейса 2. Конфигурация интерфейса Ethernet 3. Конфигурации интерфейса loopback 4. Конфигурации интерфейса управления 5. Конфигурации агрегирования портов 6. Конфигурации VLAN. Этот модуль использует SSH для управления конфигурацией сетевого устройства. Результаты операции будут помещены в каталог с именем «results», который должен быть создан пользователем в локальном каталоге, где выполняется playbook.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| deviceType - / обязательно добавлен в 2.3 |
| Указывает тип устройства, на котором выполняется метод. Варианты NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены с версии 2.4. |
| enablePassword - добавлен в 2.3 | Настраивает пароль, используемый для входа в режим глобальной конфигурации коммутатора. Если коммутатор не требует этого пароля, параметр игнорируется. Как правило, значение должно поступать из файла инвентаризации, но также может быть указано в качестве переменной. Параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | |
| host - / обязательно добавлен в 2.3 | Эта переменная используется для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на которое будет применена конфигурация. Обычно в книге Playbook используется ключевое слово Ansible {{ inventory_hostname }} в качестве абстракции группы сетевых элементов, которые необходимо настроить. | |
| interfaceArg1 - / обязательно |
null | Это перегруженный первый аргумент интерфейса. Справочная информация по использованию этого аргумента представлена в руководстве пользователя. |
| interfaceArg2 - |
null | Это перегруженный второй аргумент интерфейса. Справочная информация по использованию этого аргумента представлена в руководстве пользователя. |
| interfaceArg3 - |
null | Это перегруженный третий аргумент интерфейса. Справочная информация по использованию этого аргумента представлена в руководстве пользователя. |
| interfaceArg4 - |
null | Это перегруженный четвертый аргумент интерфейса. Справочная информация по использованию этого аргумента представлена в руководстве пользователя. |
| interfaceArg5 - |
null | Это перегруженный пятый аргумент интерфейса. Справочная информация по использованию этого аргумента представлена в руководстве пользователя. |
| interfaceArg6 - |
null | Это перегруженный шестой аргумент интерфейса. Справочная информация по использованию этого аргумента представлена в руководстве пользователя. |
| interfaceArg7 - |
null | Это перегруженный седьмой аргумент интерфейса. Справочная информация по использованию этого аргумента представлена в руководстве пользователя. |
| interfaceOption - / обязательно |
null | Указывает атрибут, который вы указываете после команды interface |
| 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_interface. These are written in the main.yml file of the tasks directory.
---
- name: Test Interface Ethernet - channel-group
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 1
interfaceArg1: "channel-group"
interfaceArg2: 33
interfaceArg3: "on"
- name: Test Interface Ethernet - switchport
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "switchport"
interfaceArg2: "access"
interfaceArg3: 33
- name: Test Interface Ethernet - switchport mode
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "switchport"
interfaceArg2: "mode"
interfaceArg3: "access"
- name: Test Interface Ethernet - Description
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "description"
interfaceArg2: "Hentammoo "
- name: Test Interface Ethernet - Duplex
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 1
interfaceArg1: "duplex"
interfaceArg2: "auto"
- name: Test Interface Ethernet - flowcontrol
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "flowcontrol"
interfaceArg2: "send"
interfaceArg3: "off"
- name: Test Interface Ethernet - lacp
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "lacp"
interfaceArg2: "port-priority"
interfaceArg3: 33
- name: Test Interface Ethernet - lldp
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "lldp"
interfaceArg2: "tlv-select"
interfaceArg3: "max-frame-size"
- name: Test Interface Ethernet - load-interval
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "load-interval"
interfaceArg2: "counter"
interfaceArg3: 2
interfaceArg4: 33
- name: Test Interface Ethernet - mac
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "mac"
interfaceArg2: "copp-system-acl-vlag-hc"
- name: Test Interface Ethernet - microburst-detection
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "microburst-detection"
interfaceArg2: 25
- name: Test Interface Ethernet - mtu
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "mtu"
interfaceArg2: 66
- name: Test Interface Ethernet - service-policy
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "service-policy"
interfaceArg2: "input"
interfaceArg3: "Anil"
- name: Test Interface Ethernet - speed
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 1
interfaceArg1: "speed"
interfaceArg2: "auto"
- name: Test Interface Ethernet - storm
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "storm-control"
interfaceArg2: "broadcast"
interfaceArg3: 12.5
- name: Test Interface Ethernet - vlan
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "vlan"
interfaceArg2: "disable"
- name: Test Interface Ethernet - vrrp
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "vrrp"
interfaceArg2: 33
- name: Test Interface Ethernet - spanning tree1
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "spanning-tree"
interfaceArg2: "bpduguard"
interfaceArg3: "enable"
- name: Test Interface Ethernet - spanning tree 2
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "spanning-tree"
interfaceArg2: "mst"
interfaceArg3: "33-35"
interfaceArg4: "cost"
interfaceArg5: 33
- name: Test Interface Ethernet - ip1
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "ip"
interfaceArg2: "access-group"
interfaceArg3: "anil"
interfaceArg4: "in"
- name: Test Interface Ethernet - ip2
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "ip"
interfaceArg2: "port"
interfaceArg3: "anil"
- name: Test Interface Ethernet - bfd
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "bfd"
interfaceArg2: "interval"
interfaceArg3: 55
interfaceArg4: 55
interfaceArg5: 33
- name: Test Interface Ethernet - bfd
cnos_interface:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_interface_{{ inventory_hostname }}_output.txt"
interfaceOption: 'ethernet'
interfaceRange: 33
interfaceArg1: "bfd"
interfaceArg2: "ipv4"
interfaceArg3: "authentication"
interfaceArg4: "meticulous-keyed-md5"
interfaceArg5: "key-chain"
interfaceArg6: "mychain"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| msg строка | всегда | Сообщение об успехе или ошибке Пример: Конфигурация интерфейса выполнена. |
Состояние
- Не гарантируется обратная совместимость интерфейса этого модуля. [предварительная версия]
- Этот модуль поддерживается сообществом 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.7/modules/cnos_interface_module.html