cnos_template — Управление конфигурацией коммутаторов с помощью шаблонов на устройствах с CNOS Lenovo
Новое в версии 2.3.
Обзор
- Этот модуль позволяет работать с рабочей конфигурацией коммутатора. Он предоставляет способ выполнения набора команд CNOS на коммутаторе, оценивая текущую рабочую конфигурацию и выполняя команды только в том случае, если конкретные настройки еще не были сконфигурированы. Источником конфигурации может быть набор команд или шаблон, написанный на языке шаблонов Jinja2. Этот модуль использует SSH для управления конфигурацией сетевого устройства. Результаты операции будут помещены в директорию с именем «results», которую пользователь должен создать в локальном каталоге, где выполняется плейбук. Для получения дополнительной информации об этом модуле от Lenovo и о его настройке для ваших задач, посетите http://systemx.lenovofiles.com/help/index.jsp?topic=%2Fcom.lenovo.switchmgt.ansible.doc%2Fcnos_template.html
Параметры
| параметр | обязательно | по умолчанию | значения | комментарии |
|---|---|---|---|---|
| commandfile | да | Указывает путь к файлу команд CNOS, который нужно применить. Обычно он берется из папки commands. Как правило, этот файл является результатом применения переменных к файлу шаблона. Поэтому этой команде предшествует модуль шаблона. Обратите внимание, что файл команд должен содержать ключевое слово Ansible {{ inventory_hostname }} в своем имени файла, чтобы гарантировать, что файл команд уникален для каждого коммутатора и условия. Если это опущено, файл команд будет перезаписан во время итерации. Например, commandfile=./commands/clos_leaf_bgp_{{ inventory_hostname }}_commands.txt | ||
| deviceType (добавлен в 2.3)
| да |
| Указывает тип устройства, на котором выполняется метод. Значения NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены с версии 2.4 | |
| enablePassword (добавлен в 2.3)
| нет | Настраивает пароль, используемый для входа в режим глобальной конфигурации на коммутаторе. Если коммутатор не запрашивает этот пароль, параметр игнорируется. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | ||
| host (добавлен в 2.3)
| да | Эта переменная используется для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на которое будет применена конфигурация. Обычно в плейбуке используется ключевое слово Ansible {{ inventory_hostname }} в качестве абстракции группы сетевых элементов, которые нужно настроить. | ||
| outputfile (добавлен в 2.3)
| да | Указывает путь к файлу, где сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединенном файле шаблона, и каждый ответ с устройства. Обычно расположение находится в папке results, но вы можете выбрать другое местоположение в зависимости от ваших прав записи. | ||
| password (добавлен в 2.3)
| да | Настраивает пароль, используемый для аутентификации подключения к удаленному устройству. Значение параметра password используется для аутентификации сеанса SSH. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | ||
| username (добавлен в 2.3)
| да | Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Значение параметра username используется для аутентификации сеанса SSH. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
Примеры
Tasks : The following are examples of using the module cnos_template. These are written in the main.yml file of the tasks directory.
---
- name: Replace Config CLI command template with values
template:
src: demo_template.j2
dest: "./commands/demo_template_{{ inventory_hostname }}_commands.txt"
vlanid1: 13
slot_chassis_number1: "1/2"
portchannel_interface_number1: 100
portchannel_mode1: "active"
- name: Applying CLI commands on Switches
cnos_template:
host: "{{ inventory_hostname }}"
username: "{{ hostvars[inventory_hostname]['username'] }}"
password: "{{ hostvars[inventory_hostname]['password'] }}"
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
enablePassword: "{{ hostvars[inventory_hostname]['enablePassword'] }}"
commandfile: "./commands/demo_template_{{ inventory_hostname }}_commands.txt"
outputfile: "./results/demo_template_command_{{ inventory_hostname }}_output.txt"
Значения возврата
Общие значения возврата описаны здесь Значения возврата, следующие поля уникальны для этого модуля:
| имя | описание | возвращается | тип | пример |
|---|---|---|---|---|
| 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_template_module.html