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