onyx_command – Выполнение команд на удалённых устройствах с Mellanox ONYX
Новое в версии 2.5.
Описание
- Отправляет произвольные команды на сетевое устройство Mellanox ONYX и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ожидать выполнения определённого условия до возврата или таймаута, если условие не выполняется.
- Этот модуль не поддерживает выполнение команд в режиме конфигурации. Используйте onyx_config для настройки устройств Mellanox ONYX.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| commands - / обязательный | Список команд для отправки на удалённое сетевое устройство Mellanox ONYX. Возвращается результат выполнения команды. Если указан аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или не истечёт время ожидания. | ||
| interval - | Значение по умолчанию: 1 | Устанавливает интервал в секундах для ожидания между повторами команды. Если команда не удовлетворяет указанным условиям, интервал указывает время ожидания перед повторной попыткой выполнения команды. | |
| match - |
| Аргумент match используется совместно с аргументом wait_for для определения политики соответствия. Допустимые значения — all, или any. Если значение установлено на all, то все условия в wait_for должны быть выполнены. Если значение установлено на any, то должно быть выполнено только одно из условий. | |
| provider словарь | Объект типа dict, содержащий данные подключения. | ||
| auth_pass строка | Указывает пароль для использования, если требуется ввод привилегированного режима на удалённом устройстве. Если authorize ложно, то этот аргумент ничего не делает. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_AUTH_PASS. | ||
| authorize логическое значение |
| Указывает модулю войти в привилегированный режим на удалённом устройстве перед отправкой команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_AUTHORIZE. | |
| host строка / обязательный | Указывает имя хоста DNS или адрес для подключения к удалённому устройству по указанному транспорту. Значение host используется в качестве адреса назначения для транспорта. | ||
| password строка | Указывает пароль для аутентификации соединения с удалённым устройством. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| port целое число | Значение по умолчанию: 22 | Указывает порт для подключения к удалённому устройству. | |
| ssh_keyfile путь | Указывает SSH-ключ для аутентификации соединения с удалённым устройством. Это значение — путь к ключу, используемому для аутентификации SSH-сессии. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | Значение по умолчанию: 10 | Устанавливает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут превышен до завершения операции, модуль вернёт ошибку. | |
| username строка | Указывает имя пользователя для аутентификации соединения с удалённым устройством. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| retries - | Значение по умолчанию: 10 | Указывает количество попыток выполнения команды до её признания неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for. | |
| wait_for - | Список условий для проверки по отношению к выводу команды. Задача будет ожидать выполнения каждого условия до перехода к следующему шагу. Если условие не выполнено в течение заданного количества попыток, задача завершается с ошибкой. См. примеры. | ||
Примечания
Примечание
- Тестировался на ONYX 3.6.4000
Примеры
tasks:
- name: run show version on remote devices
onyx_command:
commands: show version
- name: run show version and check to see if output contains MLNXOS
onyx_command:
commands: show version
wait_for: result[0] contains MLNXOS
- name: run multiple commands on remote nodes
onyx_command:
commands:
- show version
- show interfaces
- name: run multiple commands and evaluate the output
onyx_command:
commands:
- show version
- show interfaces
wait_for:
- result[0] contains MLNXOS
- result[1] contains mgmt1
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое | Описание |
|---|---|---|
| failed_conditions список | неуспешно | Список условий, которые не были выполнены Пример: ['...', '...'] |
| stdout список | всегда кроме ошибок низкого уровня (например, плагин действия) | Набор ответов от команд Пример: ['...', '...'] |
| stdout_lines список | всегда кроме ошибок низкого уровня (например, плагин действия) | Значение stdout, разбитое на список Пример: [['...', '...'], ['...'], ['...']] |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Samer Deeb (@samerd)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/onyx_command_module.html