Spec-Zone.ru › Ansible 2.10

community.network.cnos_conditional_template – Управление конфигурацией коммутаторов с использованием шаблонов на основе условий на устройствах с Lenovo CNOS

Примечание

Этот плагин входит в сборник community.network (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.network

Для использования в книге задач укажите: community.network.cnos_conditional_template

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Этот модуль позволяет работать с текущей конфигурацией коммутатора. Он предоставляет способ выполнения набора команд CNOS на коммутаторе путём оценки текущей рабочей конфигурации и выполнения команд только в случае, если определённые настройки ещё не были сконфигурированы. Источник конфигурации может представлять собой набор команд или шаблон, написанный на языке шаблонов Jinja2. Этот модуль функционирует так же, как и модуль cnos_template. Единственное исключение заключается в том, что можно указать следующую переменную инвентаризации. [“condition = <строка флага>”] Когда эта переменная инвентаризации указана как переменная задачи, шаблон выполняется для сетевого элемента, соответствующего строке флага. Как правило, шаблоны используются, когда команды одинаковы для группы сетевых устройств. Когда существует необходимость пропустить выполнение шаблона на одном или нескольких устройствах, рекомендуется использовать этот модуль. Этот модуль использует SSH для управления конфигурацией сетевых устройств.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
commandfile
строка / обязательно
Указывает путь к файлу с командами CNOS, которые необходимо применить. Обычно он берётся из папки с командами. Как правило, этот файл является результатом применения переменных к файлу шаблона. Таким образом, эта команда предшествует модулю шаблона. Файл команд должен содержать ключевое слово Ansible {{ inventory_hostname }} и флаг условия в своём имени файла, чтобы гарантировать, что файл команд уникален для каждого коммутатора и условия. Если это опущено, файл команд будет перезаписываться во время итерации. Например, commandfile=./commands/clos_leaf_bgp_ {{ inventory_hostname }}_LP21_commands.txt
condition
строка / обязательно
Если вы укажете condition=<строка флага> в файле инвентаризации для любого устройства, выполнение шаблона выполняется для этого устройства в случае соответствия флагу настройки для этой задачи.
deviceType
строка / обязательно
    Варианты:
  • g8272_cnos
  • g8296_cnos
  • g8332_cnos
  • NE0152T
  • NE1072T
  • NE1032
  • NE1032T
  • NE10032
  • NE2572
Указывает тип устройства, на котором выполняется метод. Варианты NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены начиная с Ansible 2.4. Вариант NE0152T добавлен начиная с 2.8
enablePassword
строка
Настраивает пароль, используемый для входа в режим командной строки глобальной конфигурации коммутатора. Если коммутатор не запрашивает этот пароль, параметр игнорируется. В то время как обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, не будет использоваться значение по умолчанию.
flag
строка / обязательно
Если задача должна быть выполнена, необходимо установить флаг так же, как он указан в инвентаризации для этого устройства.
host
строка / обязательно
Эта переменная используется для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на котором будет применяться шаблон. Обычно в книге задач ключевое слово Ansible {{ inventory_hostname }} используется как абстракция группы сетевых элементов, которые необходимо сконфигурировать.
outputfile
строка / обязательно
Указывает путь к файлу, где сохраняется результат выполнения каждой команды. Здесь сохраняются каждая команда, указанная в объединённом файле шаблона, и каждый ответ от устройства. Обычно расположение находится в папке results, но вы можете выбрать другое расположение, в зависимости от ваших прав записи.
password
строка / обязательно
Настраивает пароль, используемый для аутентификации подключения к удалённому устройству. Значение параметра password используется для аутентификации сеанса SSH. В то время как обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, не будет использоваться значение по умолчанию.
username
строка / обязательно
Настраивает имя пользователя, используемое для аутентификации подключения к удалённому устройству. Значение параметра username используется для аутентификации сеанса SSH. В то время как обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, не будет использоваться значение по умолчанию.

Примечания

Примечание

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

Примеры

Tasks : The following are examples of using the module
 cnos_conditional_template. These are written in the main.yml file of the
 tasks directory.
---
- name: Applying CLI template on VLAG Tier1 Leaf Switch1
  community.network.cnos_conditional_template:
      deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
      outputfile: "./results/vlag_1tier_leaf_switch1_
                  {{ inventory_hostname }}_output.txt"
      condition: "{{ hostvars[inventory_hostname]['condition']}}"
      flag: "leaf_switch1"
      commandfile: "./commands/vlag_1tier_leaf_switch1_
                    {{ inventory_hostname }}_commands.txt"
      stp_mode1: "disable"
      port_range1: "17,18,29,30"
      portchannel_interface_number1: 1001
      portchannel_mode1: active
      slot_chassis_number1: 1/48
      switchport_mode1: trunk

Возвращаемые значения

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

Ключ Возвращаемое значение Описание
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.10/collections/community/network/cnos_conditional_template_module.html

Spec-Zone.ru

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