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 | да | Указывает путь к файлу команд CNOS, который необходимо применить. Обычно он берется из папки с командами. Как правило, этот файл является результатом применения переменных к файлу шаблона. Поэтому этой команде предшествует модуль шаблона. Файл команд должен содержать ключевое слово Ansible {{ inventory_hostname }} и флаг условия в его имени файла, чтобы гарантировать, что файл команд уникален для каждого коммутатора и условия. Если это опущено, файл команд будет перезаписан во время итерации. Например, commandfile=./commands/clos_leaf_bgp_{{ inventory_hostname }}_LP21_commands.txt | ||
| condition | да | Если вы укажете condition=<строка флага> в файле инвентаризации для любого устройства, выполнение шаблона будет выполнено для этого устройства в случае, если оно соответствует значению флага для этой задачи. | ||
| deviceType (добавлен в 2.3)
| да |
| Указывает тип устройства, на котором выполняется метод. Значения NE1072T,NE1032,NE1032T,NE10032, NE2572 добавлены с версии 2.4 | |
| enablePassword (добавлен в 2.3)
| нет | Настраивает пароль, используемый для входа в режим глобальной конфигурации на коммутаторе. Если коммутатор не запрашивает этот пароль, параметр игнорируется. В то время как обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, не будет использоваться значение по умолчанию. | ||
| flag | да | Если нужно выполнить задачу, вы должны установить флаг так же, как он указан в инвентаризации для этого устройства. | ||
| host (добавлен в 2.3)
| да | Эта переменная используется для поиска файла хостов по пути /etc/ansible/hosts и определения IP-адреса устройства, на котором будет применяться шаблон. Обычно ключевое слово Ansible {{ inventory_hostname }} указывается в книге задач как абстракция группы сетевых элементов, которые нужно настроить. | ||
| outputfile (добавлен в 2.3)
| да | Указывает путь к файлу, в котором сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединенном файле шаблона, и каждый ответ от устройства. Обычно расположение находится в папке результатов, но вы можете выбрать другое расположение в зависимости от прав записи. | ||
| password (добавлен в 2.3)
| да | Настраивает пароль, используемый для аутентификации подключения к удаленному устройству. Значение параметра password используется для аутентификации сеанса SSH. В то время как обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, не будет использоваться значение по умолчанию. | ||
| username (добавлен в 2.3)
| да | Настраивает имя пользователя, используемый для аутентификации подключения к удаленному устройству. Значение параметра username используется для аутентификации сеанса SSH. В то время как обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, не будет использоваться значение по умолчанию. |
Примеры
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]['username'] }}"
password: "{{ hostvars[inventory_hostname]['password'] }}"
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 и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/cnos_conditional_template_module.html