cnos_template – Управление конфигурацией коммутатора с помощью шаблонов на устройствах с Lenovo CNOS
Новое в версии 2.3.
Описание
- Этот модуль позволяет работать с текущей конфигурацией коммутатора. Он предоставляет способ выполнения набора команд CNOS на коммутаторе, оценивая текущую рабочую конфигурацию и выполняя команды только в случае, если соответствующие настройки ещё не были сконфигурированы. Источником конфигурации может быть набор команд или шаблон, написанный на языке шаблонов Jinja2. Этот модуль использует SSH для управления конфигурацией сетевого устройства. Результаты операции будут сохранены в директории с именем «results», которую пользователь должен создать в локальном каталоге, где выполняется playbook.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| commandfile - / обязательно | По умолчанию: null | Указывает путь к файлу команд 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-адреса устройства, на котором будет применён шаблон. Обычно в playbook используется ключевое слово Ansible {{ inventory_hostname }} для абстрагирования группы сетевых элементов, которые требуют настройки. | |
| outputfile - / обязательно добавлен в 2.3 | Указывает путь к файлу, где сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединённом файле шаблона, и каждый ответ от устройства. Обычно местоположением является папка results, но вы можете выбрать другое местоположение в зависимости от ваших прав записи. | |
| password - / обязательно добавлен в 2.3 | Настраивает пароль, используемый для аутентификации подключения к удалённому устройству. Значение параметра password используется для аутентификации сессии SSH. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | |
| username - / обязательно добавлен в 2.3 | Настраивает имя пользователя, используемое для аутентификации подключения к удалённому устройству. Значение параметра username используется для аутентификации сессии SSH. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления устройствами Lenovo Network см. на странице https://www.ansible.com/ansible-lenovo.
Примеры
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:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
commandfile: "./commands/demo_template_{{ inventory_hostname }}_commands.txt"
outputfile: "./results/demo_template_command_{{ inventory_hostname }}_output.txt"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| 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.7/modules/cnos_template_module.html