cnos_conditional_template - Управление конфигурацией коммутаторов с помощью шаблонов, основанных на условиях на устройствах, работающих под управлением Lenovo CNOS
Новое в версии 2.3.
Описание
- Этот модуль позволяет работать с рабочей конфигурацией коммутатора. Он предоставляет способ выполнения набора команд CNOS на коммутаторе путём оценки текущей рабочей конфигурации и выполнения команд только в том случае, если конкретные настройки ещё не были сконфигурированы. Источником конфигурации может быть набор команд или шаблон, написанный на языке шаблонов Jinja2. Этот модуль функционирует так же, как модуль cnos_template. Единственное исключение состоит в том, что может быть указана следующая переменная инвентаризации [“condition = <строка флага>”]. При указании этой переменной инвентаризации в качестве переменной задачи шаблон выполняется для сетевого элемента, который соответствует строке флага. Обычно шаблоны используются, когда команды одинаковы для группы сетевых устройств. В случае необходимости пропустить выполнение шаблона на одном или нескольких устройствах рекомендуется использовать этот модуль. Данный модуль использует SSH для управления конфигурацией сетевых устройств. Более подробную информацию об этом модуле от Lenovo и настройку его использования для ваших задач можно найти по адресу http://systemx.lenovofiles.com/help/index.jsp?topic=%2Fcom.lenovo.switchmgt.ansible.doc%2Fcnos_conditional_template.html
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| commandfile обязательно | Значение по умолчанию: None | Указывает путь к файлу команд CNOS, который необходимо применить. Обычно он берётся из папки с командами. Как правило, этот файл является результатом применения переменных к файлу шаблона. Поэтому этой команде предшествует модуль шаблона. Файл команд должен содержать ключевое слово Ansible {{ inventory_hostname }} и флаг условия в своём имени файла, чтобы гарантировать, что файл команд уникален для каждого коммутатора и условия. Если это опущено, файл команд будет перезаписан во время итерации. Например, commandfile=./commands/clos_leaf_bgp_{{ inventory_hostname }}_LP21_commands.txt |
| condition обязательно | Значение по умолчанию: None | Если вы укажете condition=<строка флага> в файле инвентаризации для любого устройства, выполнение шаблона будет осуществлено для этого устройства в случае совпадения с настройкой флага для данной задачи. |
| deviceType обязательно (добавлено в 2.3) |
None | Определяет тип устройства, на котором выполняется метод. Варианты NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены начиная с версии 2.4 |
| enablePassword (добавлено в 2.3) | Значение по умолчанию: None | Настраивает пароль, используемый для входа в режим глобальной конфигурации на коммутаторе. Если коммутатор не запрашивает этот пароль, параметр игнорируется. В то время как, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
| flag обязательно | Значение по умолчанию: None | Если нужно выполнить задачу, необходимо установить флаг так же, как он указан в инвентаризации для данного устройства. |
| host обязательно (добавлено в 2.3) | Значение по умолчанию: None | Эта переменная используется для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на котором будет применяться шаблон. Обычно ключевое слово Ansible {{ inventory_hostname }} указывается в плейбуке как абстракция группы сетевых элементов, которые нужно сконфигурировать. |
| outputfile обязательно (добавлено в 2.3) | Значение по умолчанию: None | Указывает путь к файлу, где сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединённом файле шаблона, и каждый ответ от устройства. Обычно расположение находится в папке результатов, но вы можете выбрать другое местоположение в зависимости от ваших прав записи. |
| password обязательно (добавлено в 2.3) | Значение по умолчанию: None | Настраивает пароль, используемый для аутентификации подключения к удалённому устройству. Значение параметра password используется для аутентификации сеанса SSH. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
| username обязательно (добавлено в 2.3) | Значение по умолчанию: None | Настраивает имя пользователя, используемое для аутентификации подключения к удалённому устройству. Значение параметра 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
cnos_conditional_template:
host: "{{ inventory_hostname }}"
username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
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"
enablePassword: "anil"
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 строка | всегда | Сообщение об успехе или об ошибке Пример: Шаблон применён. |
Статус
Этот модуль помечен как предварительный, что означает, что его интерфейс не гарантируется как обратный.
Автор
- 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.5/modules/cnos_conditional_template_module.html