community.network.cnos_template – Управление конфигурацией коммутаторов с помощью шаблонов на устройствах с Lenovo CNOS
Примечание
Этот плагин является частью коллекции community.network (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.network
Для использования в книге задач укажите: community.network.cnos_template
Обзор
- Этот модуль позволяет работать с рабочей конфигурацией коммутатора. Он предоставляет способ выполнения набора команд CNOS на коммутаторе, оценивая текущую рабочую конфигурацию и выполняя команды только в случае, если определенные настройки еще не были сконфигурированы. Источник конфигурации может быть набором команд или шаблоном, написанным на языке шаблонов Jinja2. Этот модуль использует SSH для управления конфигурацией сетевых устройств. Результаты операции будут размещены в каталоге с именем «results», который должен быть создан пользователем в локальном каталоге, где выполняется книга задач.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| commandfile строка / обязательно | Указывает путь к файлу команд 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-адреса устройства, на котором будет применяться шаблон. Обычно в книге задач для абстрагирования группы сетевых элементов, которые нужно настроить, используется ключевое слово Ansible {{ inventory_hostname }}. | |
| outputfile строка / обязательно | Указывает путь к файлу, где сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединенном файле шаблона, и каждый ответ от устройства. Обычно расположение находится в папке results, но вы можете выбрать другое расположение на основе вашего разрешения на запись. | |
| 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
community.network.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 строка | всегда | Сообщение об успехе или неудаче Пример: Шаблон применен. |
Авторы
- 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_template_module.html