Spec-Zone.ru › Ansible 2.8

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

Новая в версии 2.3.

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

Обзор

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

Параметры

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

Примечания

Примечание

  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами Lenovo см. на 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
  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
строка
всегда
Сообщение об успехе или об ошибке

Пример:
Шаблон применён.


Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом 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.8/modules/cnos_conditional_template_module.html

Spec-Zone.ru

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