dellemc.os9.os9_command – Выполнение команд на удалённых устройствах с Dell OS9
Примечание
Этот плагин входит в состав коллекции dellemc.os9 (версия 1.0.3).
Для его установки используйте: ansible-galaxy collection install dellemc.os9
Для использования в книге задач укажите: dellemc.os9.os9_command
Описание
- Отправляет произвольные команды на узел Dell OS9 и возвращает результаты, считанные с устройства. В этом модуле есть аргумент, который заставит модуль ждать определённого условия перед возвратом или вызовет таймаут, если условие не будет выполнено.
- Этот модуль не поддерживает выполнение команд в режиме конфигурации. Для конфигурации устройств Dell OS9 используйте dellemc_os9_os9_config.
Примечание
У этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| commands список / элементы=словарь / обязательный | Список команд для отправки на удалённое устройство os9 через настроенный поставщик. Возвращается результирующий вывод команды. Если указан аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или не истечёт количество попыток. | ||
| interval целое число | По умолчанию: 1 | Настраивает интервал в секундах ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет указанным условиям, интервал определяет, сколько времени ждать перед новой попыткой выполнения команды. | |
| match строка |
| Аргумент match используется совместно с аргументом wait_for для задания политики сопоставления. Допустимые значения — all или any. Если значение установлено на all, все условные выражения в wait_for должны быть выполнены. Если значение установлено на any, достаточно выполнения только одного из значений. | |
| provider словарь | Объект словаря, содержащий данные подключения. | ||
| auth_pass строка | Указывает пароль для использования при необходимости входа в привилегированный режим на удалённом устройстве. Если authorize — false, этот аргумент не имеет значения. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_AUTH_PASS | ||
| authorize булево значение |
| Указывает модулю войти в привилегированный режим на удалённом устройстве перед отправкой команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_AUTHORIZE | |
| host строка | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение хоста используется в качестве адреса назначения для транспорта. | ||
| password строка | Пароль для аутентификации сессии SSH с удалённым устройством. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_PASSWORD | ||
| port целое число | Указывает порт, который нужно использовать при создании подключения к удалённому устройству. | ||
| ssh_keyfile путь | Путь к ключу ssh, используемому для аутентификации сессии SSH с удалённым устройством. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE | ||
| timeout целое число | Указывает таймаут бездействия (в секундах) для подключения. Полезно, если консоль зависает перед продолжением, например, при сохранении конфигураций. | ||
| username строка | Пользователь для аутентификации сессии SSH с удалённым устройством. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_USERNAME | ||
| retries целое число | По умолчанию: 10 | Указывает количество попыток выполнения команды до её признания неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for. | |
| wait_for список / элементы=строка | Список условий для оценки по отношению к выводу команды. Задача будет ждать, пока каждое условие не станет истинным, прежде чем переходить к следующему шагу. Если условие не станет истинным в течение заданного количества попыток retries, задача завершается с ошибкой. См. примеры. | ||
Примечания
Примечание
- Этот модуль требует версии Dell OS9 9.10.0.1P13 или выше.
- Этот модуль требует увеличения предела скорости подключения ssh. Используйте следующую команду ip ssh connection-rate-limit 60 для настройки того же. Это можно сделать и с помощью модуля os9_config.
- Дополнительную информацию об использовании Ansible для управления устройствами Dell EMC Network см. на сайте https://www.ansible.com/ansible-dell-networking.
Примеры
tasks:
- name: run show version on remote devices
os9_command:
commands: show version
- name: run show version and check to see if output contains OS9
os9_command:
commands: show version
wait_for: result[0] contains OS9
- name: run multiple commands on remote nodes
os9_command:
commands:
- show version
- show interfaces
- name: run multiple commands and evaluate the output
os9_command:
commands:
- show version
- show interfaces
wait_for:
- result[0] contains OS9
- result[1] contains Loopback
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| failed_conditions список / элементы=строка | ошибка | Список условных выражений, которые не выполнены Пример: ['...', '...'] |
| stdout список / элементы=строка | всегда, кроме ошибок низкого уровня (например, плагины действий) | Набор ответов от команд Пример: ['...', '...'] |
| stdout_lines список / элементы=строка | всегда, кроме ошибок низкого уровня (например, плагины действий) | Значение stdout, разделенное на список Пример: [['...', '...'], ['...'], ['...']] |
| warnings список / элементы=строка | всегда | Список предупреждений (если таковые имеются), сгенерированных модулем на основе аргументов Пример: ['...', '...'] |
Авторы
- Dhivya P (@dhivyap)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/dellemc/os9/os9_command_module.html