Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин является частью коллекции community.network (версия 2.0.1).

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

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

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Обзор

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
commandfile
строка / обязательно
Указывает путь к файлу команд CNOS, который необходимо применить. Обычно этот файл находится в папке commands. Как правило, этот файл является результатом применения переменных к файлу шаблона. Поэтому этой команде предшествует модуль шаблона. Файл команд должен содержать ключевое слово 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
строка / обязательно
Это переменная, используемая для поиска файла hosts в /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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/network/cnos_conditional_template_module.html

Spec-Zone.ru

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