iosxr_command - Выполнение команд на удалённых устройствах с Cisco IOS XR
Новое в версии 2.1.
Описание
- Отправляет произвольные команды узлу IOS XR и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ждать определённого условия перед возвратом или вызовом таймаута, если условие не выполнено.
- Этот модуль не поддерживает выполнение команд в режиме конфигурации. Для конфигурации устройств iosxr используйте iosxr_config.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient >= 0.5.3 при использовании netconf
- lxml >= 4.1.1 при использовании netconf
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| commands обязательно | Список команд, которые необходимо отправить на удалённое устройство iosxr через настроенного провайдера. Результирующий вывод команды возвращается. Если аргумент wait_for указан, модуль не возвращается, пока условие не будет выполнено или не истечёт время ожидания. | ||
| interval | По умолчанию: 1 | Настраивает интервал в секундах ожидания между повторами команды. Если команда не удовлетворяет указанным условиям, интервал указывает, сколько времени ожидать перед повторной попыткой выполнения команды. | |
| match (добавлен в 2.2) |
| Аргумент match используется совместно с аргументом wait_for для указания политики сопоставления. Допустимые значения — all или any. Если значение установлено на all, все условные выражения в wait_for должны быть выполнены. Если значение установлено на any, должно быть выполнено только одно из значений. | |
| provider | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli. Для получения дополнительной информации см. Руководство по сети. Объект словаря, содержащий сведения о подключении. | ||
| host обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству по указанному транспорту. Значение host используется в качестве адреса назначения для транспорта. | ||
| port | По умолчанию: 22 | Указывает порт, который используется при установлении подключения к удалённому устройству. | |
| username | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME. | ||
| password | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| timeout | По умолчанию: 10 | Указывает время ожидания в секундах для взаимодействия с сетевым устройством для подключения или отправки команд. Если время ожидания истечёт до завершения операции, модуль вернёт ошибку. | |
| ssh_keyfile | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| retries | По умолчанию: 10 | Указывает количество попыток выполнения команды, после которых она считается неудачной. Команда выполняется на целевом устройстве в каждой попытке и оценивается по условиям wait_for. | |
| wait_for (добавлен в 2.2) | Список условий, которые нужно проверить по результатам выполнения команды. Задача будет ждать, пока каждое условие не станет истинным, прежде чем продолжить. Если условие не станет истинным в течение заданного числа попыток, задача завершается с ошибкой. См. примеры. псевдонимы: waitfor | ||
Примечания
Примечание
- Этот модуль не поддерживает подключение netconf
- Проверено на IOS XR 6.1.2
- Для получения дополнительной информации об использовании Ansible для управления сетевыми устройствами см. Руководство по сети Ansible
- Для получения дополнительной информации об использовании Ansible для управления устройствами Cisco см. страницу интеграции Cisco.
Примеры
tasks:
- name: run show version on remote devices
iosxr_command:
commands: show version
- name: run show version and check to see if output contains iosxr
iosxr_command:
commands: show version
wait_for: result[0] contains IOS-XR
- name: run multiple commands on remote nodes
iosxr_command:
commands:
- show version
- show interfaces
- { command: example command that prompts, prompt: expected prompt, answer: yes}
- name: run multiple commands and evaluate the output
iosxr_command:
commands:
- show version
- show interfaces
wait_for:
- result[0] contains IOS-XR
- result[1] contains Loopback0
Возвращаемые значения
Общие возвращаемые значения описаны в этом документе, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| failed_conditions список | ошибка | Список условных выражений, которые не были выполнены Пример: ['...', '...'] |
| stdout список | всегда, кроме ошибок низкого уровня (таких как плагин действия) | Набор ответов от команд Пример: ['...', '...'] |
| stdout_lines список | всегда, кроме ошибок низкого уровня (таких как плагин действия) | Значение stdout, разделённое на список Пример: [['...', '...'], ['...'], ['...']] |
Статус
Этот модуль помечен как предварительная версия, что означает, что он не гарантирует обратную совместимость интерфейса.
Техническое обслуживание
Этот модуль помечен как сетевой, что означает, что его поддерживает команда Ansible по сетевым модулям. Для получения дополнительной информации см. Техническое обслуживание и поддержка модулей.
Список других модулей, которые также поддерживаются командой Ansible по сетевым модулям, см. в этом месте.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний
Автор
- Ricardo Carrillo Cruz (@rcarrillocruz)
Подсказка
Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/iosxr_command_module.html