Модуль community.network.cnos_conditional_template – Управление конфигурацией коммутатора с использованием шаблонов на основе условий на устройствах под управлением Lenovo CNOS
Примечание
Этот модуль является частью коллекции community.network (версия 5.0.3).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.network.
Для использования в playbook, укажите: community.network.cnos_conditional_template.
Краткое описание
- Этот модуль позволяет работать с текущей конфигурацией коммутатора. Он предоставляет способ выполнения набора команд CNOS на коммутаторе путем оценки текущей работающей конфигурации и выполнения команд только в том случае, если конкретные настройки еще не были настроены. Источником конфигурации может быть набор команд или шаблон, написанный на языке шаблонов Jinja2. Этот модуль функционирует так же, как модуль cnos_template. Единственное исключение заключается в том, что может быть указана следующая переменная инвентаризации. [“condition = <flag string>”] Когда эта переменная инвентаризации указана как переменная задачи, шаблон выполняется для сетевого элемента, соответствующего строке флага. Обычно шаблоны используются, когда команды одинаковы для группы сетевых устройств. Когда возникает необходимость пропустить выполнение шаблона на одном или нескольких устройствах, рекомендуется использовать этот модуль. Этот модуль использует SSH для управления конфигурацией сетевого устройства.
Псевдонимы: network.cnos.cnos_conditional_template
Параметры
Параметр | Комментарии |
|---|---|
commandfile string / required | Указывает путь к файлу команд CNOS, который необходимо применить. Обычно он находится в папке commands. Как правило, этот файл является результатом применения переменных к файлу шаблона. Таким образом, эта команда предшествует модулю шаблона. Файл команд должен содержать ключевое слово Ansible {{ inventory_hostname }} и флаг условия в своем имени файла, чтобы гарантировать, что файл команд уникален для каждого коммутатора и условия. Если это пропущено, файл команд будет перезаписан во время итерации. Например, commandfile=./commands/clos_leaf_bgp_ {{ inventory_hostname }}_LP21_commands.txt |
condition string / required | Если вы указываете condition=<flag string> в файле инвентаризации для любого устройства, выполнение шаблона выполняется для этого устройства, если оно соответствует флагу для этой задачи. |
deviceType string / required | Указывает тип устройства, на котором выполняется метод. Варианты NE1072T,NE1032,NE1032T,NE10032,NE2572 добавлены начиная с Ansible 2.4. Вариант NE0152T добавлен начиная с 2.8 Варианты:
|
enablePassword string | Настраивает пароль, используемый для входа в режим команд глобальной конфигурации на коммутаторе. Если коммутатор не запрашивает этот пароль, параметр игнорируется. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр является необязательным. Если он не указан, значение по умолчанию использоваться не будет. |
flag string / required | Если необходимо выполнить задачу, вы должны установить флаг таким же, как он указан в инвентаризации для этого устройства. |
host string / required | Это переменная, используемая для поиска файла hosts в /etc/ansible/hosts и определения IP-адреса устройства, на которое будет применен шаблон. Обычно в playbook указывается ключевое слово Ansible {{ inventory_hostname }} как абстракция группы сетевых элементов, которые необходимо настроить. |
outputfile string / required | Указывает путь к файлу, в котором сохраняется результат выполнения каждой команды. Каждая команда, указанная в объединенном файле шаблона, и каждый ответ от устройства сохраняются здесь. Обычно это папка results, но вы можете выбрать другое местоположение в зависимости от ваших прав на запись. |
password string / required | Настраивает пароль, используемый для аутентификации подключения к удаленному устройству. Значение параметра password используется для аутентификации сеанса SSH. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр является необязательным. Если он не указан, значение по умолчанию использоваться не будет. |
username string / required | Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Значение параметра username используется для аутентификации сеанса SSH. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр является необязательным. Если он не указан, значение по умолчанию использоваться не будет. |
Примечания
Примечание
- Для получения дополнительной информации об использовании Ansible для управления сетевыми устройствами Lenovo см. https://www.ansible.com/ansible-lenovo.
Примеры
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
community.network.cnos_conditional_template:
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"
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 string | Сообщение об успехе или ошибке Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/network/cnos_conditional_template_module.html