dellemc.os9.os9_command – Выполнение команд на удалённых устройствах с Dell OS9
Примечание
Этот плагин входит в коллекцию dellemc.os9 (версия 1.0.3).
Для его установки используйте: ansible-galaxy collection install dellemc.os9.
Для использования в книге задач укажите: dellemc.os9.os9_command.
Описание
- Отправляет произвольные команды на узел Dell OS9 и возвращает результаты, считанные с устройства. В этом модуле есть аргумент, который заставит модуль ожидать определённого условия до возврата или таймаута, если условие не выполняется.
- Этот модуль не поддерживает выполнение команд в режиме конфигурации. Используйте dellemc_os9_os9_config для настройки устройств Dell OS9.
Примечание
У этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| commands список / элементы=словарь / обязательно | Список команд для отправки удалённому устройству os9 через заданный провайдер. Результат выполнения команды возвращается. Если аргумент wait_for указан, модуль не вернётся, пока условие не будет выполнено или не истечёт количество попыток. | ||
| interval целое число | По умолчанию: 1 | Устанавливает интервал в секундах ожидания между повторными попытками выполнения команды. Если команда не выполняется согласно заданным условиям, интервал определяет время ожидания перед новой попыткой. | |
| match строка |
| Аргумент match используется совместно с аргументом wait_for для указания политики сопоставления. Допустимые значения — all или any. Если значение установлено на all, все условия в wait_for должны быть выполнены. Если значение установлено на any, должно быть выполнено только одно из условий. | |
| provider словарь | Объект типа dict, содержащий сведения о подключении. | ||
| auth_pass строка | Указывает пароль для входа в привилегированный режим на удалённом устройстве, если это необходимо. Если authorize имеет значение false, этот аргумент не влияет. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTH_PASS. | ||
| authorize булево |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTHORIZE. | |
| host строка | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется как адрес назначения для транспорта. | ||
| 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 list / elements=string | failed | Список условных выражений, которые не выполнились Пример: ['...', '...'] |
| stdout list / elements=string | всегда, за исключением ошибок низкого уровня (например, плагина действия) | Набор ответов от команд Пример: ['...', '...'] |
| stdout_lines list / elements=string | всегда, за исключением ошибок низкого уровня (например, плагина действия) | Значение stdout, разделенное на список Пример: [['...', '...'], ['...'], ['...']] |
| warnings list / elements=string | всегда | Список предупреждений (если таковые имеются), сгенерированных модулем на основе аргументов Пример: ['...', '...'] |
Авторы
- Dhivya P (@dhivyap)
© 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/dellemc/os9/os9_command_module.html