cnos_template – Управление конфигурацией коммутатора с помощью шаблонов на устройствах, работающих под управлением Lenovo CNOS
Обзор
- Этот модуль позволяет работать с рабочей конфигурацией коммутатора. Он предоставляет способ выполнения набора команд CNOS на коммутаторе, оценивая текущую рабочую конфигурацию и выполняя команды только в том случае, если конкретные настройки еще не были сконфигурированы. Источник конфигурации может представлять собой набор команд или шаблон, написанный на языке шаблонизации Jinja2. Этот модуль использует SSH для управления конфигурацией сетевых устройств. Результаты операции будут помещены в каталог с именем «results», который должен быть создан пользователем в локальном каталоге, где выполняется playbook.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| commandfile - / обязательно | Значение по умолчанию: null | Указывает путь к файлу команды CNOS, который необходимо применить. Обычно он берется из папки commands. Как правило, этот файл является результатом применения переменных к файлу шаблона. Таким образом, этой команде предшествует модуль шаблона. Обратите внимание, что файл команды должен содержать ключевое слово Ansible {{ inventory_hostname }} в своем имени файла, чтобы гарантировать, что файл команды уникален для каждого коммутатора и условия. Если это опущено, файл команды будет перезаписан во время итерации. Например, commandfile=./commands/clos_leaf_bgp_{{ inventory_hostname }}_commands.txt |
| deviceType строка / обязательно |
| Указывает тип устройства, на котором выполняется метод. Варианты NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены начиная с Ansible 2.4. Вариант NE0152T добавлен начиная с версии 2.8 |
| enablePassword строка | Настраивает пароль, используемый для входа в режим глобальной конфигурации коммутатора. Если коммутатор не запрашивает этот пароль, параметр игнорируется. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр является необязательным. Если он не указан, значение по умолчанию не будет использоваться. | |
| host строка / обязательно | Эта переменная используется для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на котором будет применяться шаблон. Обычно в playbook указывается ключевое слово Ansible {{ inventory_hostname }} в качестве абстракции группы сетевых элементов, которые необходимо настроить. | |
| outputfile строка / обязательно | Указывает путь к файлу, в котором сохраняется вывод каждой команды. Здесь сохраняются каждая команда, указанная в объединенном файле шаблона, и каждый ответ от устройства. Обычно расположением является папка результатов, но вы можете выбрать другое расположение в зависимости от прав записи. | |
| password строка / обязательно | Настраивает пароль, используемый для аутентификации подключения к удаленному устройству. Значение параметра password используется для аутентификации сеанса SSH. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр является необязательным. Если он не указан, значение по умолчанию не будет использоваться. | |
| username строка / обязательно | Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Значение параметра username используется для аутентификации сеанса SSH. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр является необязательным. Если он не указан, значение по умолчанию не будет использоваться. |
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами Lenovo см. на странице 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. [community]
Авторы
- 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.9/modules/cnos_template_module.html