Spec-Zone.ru › Ansible 2.6

cnos_conditional_template - Управление конфигурацией коммутаторов с помощью шаблонов на основе условий на устройствах, работающих под управлением Lenovo CNOS

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

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Обзор

  • Этот модуль позволяет работать с рабочей конфигурацией коммутатора. Он предоставляет способ выполнения набора команд CNOS на коммутаторе путём оценки текущей рабочей конфигурации и выполнения команд только в том случае, если определённые настройки ещё не были сконфигурированы. Источник конфигурации может представлять собой набор команд или шаблон, написанный на языке шаблонизации Jinja2. Этот модуль работает так же, как модуль cnos_template. Единственное исключение заключается в том, что можно указать следующую переменную инвентаризации [“condition = <строка флага>”]. При указании этой переменной инвентаризации как переменной задачи, шаблон выполняется для сетевого элемента, соответствующего строке флага. Как правило, шаблоны используются, когда команды одинаковы для группы сетевых устройств. Если есть необходимость пропустить выполнение шаблона на одном или нескольких устройствах, рекомендуется использовать этот модуль. Этот модуль использует SSH для управления конфигурацией сетевых устройств. Более подробную информацию об этом модуле от Lenovo и его настройку для ваших случаев использования можно найти по адресу http://systemx.lenovofiles.com/help/index.jsp?topic=%2Fcom.lenovo.switchmgt.ansible.doc%2Fcnos_conditional_template.html

Параметры

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

(добавлено в 2.3)
Эта переменная используется для поиска файла hosts по адресу /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:
      host: "{{ inventory_hostname }}"
      username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
      password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
      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"
      enablePassword: "anil"
      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. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.

Список других модулей, также поддерживаемых сообществом 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.6/modules/cnos_conditional_template_module.html

Spec-Zone.ru

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