Spec-Zone.ru › Ansible 2.5

junos_command - Выполнение произвольных команд на устройстве Juniper JUNOS

Новая версия с 2.1.

  • Обзор
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
    • Поддержка
    • Автор

Обзор

  • Отправляет произвольный набор команд на узел JUNOS и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ждать определённого условия перед возвратом или вызовет таймаут, если условие не будет выполнено.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • jxmlease
  • ncclient (>=v0.5.2)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
commands Значение по умолчанию:
None
Команды для отправки на удалённое устройство junos через настроенный поставщик. Результирующий вывод команды возвращается. Если указан аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или количество retries не будет превышено.
display
(добавлено в 2.3)
    Варианты:
  • text
  • json
  • xml
  • set
Значение по умолчанию:
зависит от входного аргумента I(rpcs) или I(commands)
Схема кодирования для сериализации вывода с устройства. Обрабатывает, как правильно интерпретировать вывод и применять условные пути к набору результатов. Для аргумента rpcs значение по умолчанию для display — xml, а для аргумента commands — text. Значение set применимо только для извлечения конфигурации с устройства.

алиасы: format, output
interval Значение по умолчанию:
1
Настраивает интервал в секундах ожидания между повторами команды. Если команда не удовлетворяет указанному условию, интервал определяет, как долго ждать перед повторной попыткой выполнения команды.
match
(добавлено в 2.2)
    Варианты:
  • any
  • all ←
Аргумент match используется совместно с аргументом wait_for для указания политики соответствия. Допустимые значения — all или any. Если значение установлено в all, все условия в wait_for должны быть выполнены. Если значение установлено в any, должно быть выполнено только одно из условий.
provider Значение по умолчанию:
None
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf.
Дополнительную информацию см. в руководстве Junos OS Platform Options.
Объект словаря, содержащий сведения о соединении.
username
Настраивает имя пользователя для аутентификации соединения с удалённым устройством. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME.
host
обязательно
Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве целевого адреса для транспорта.
ssh_keyfile
Указывает SSH-ключ для аутентификации соединения с удалённым устройством. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE.
timeout Значение по умолчанию:
10
Устанавливает таймаут в секундах для взаимодействия с сетевым устройством для подключения или отправки команд. Если таймаут истекает до завершения операции, модуль вернёт ошибку.
password Значение по умолчанию:
None
Указывает пароль для аутентификации соединения с удалённым устройством. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD.
port Значение по умолчанию:
22
Указывает порт для подключения к удалённому устройству. Значение порта по умолчанию — 22 (для transport=cli) или 830 (для transport=netconf) устройств.
retries Значение по умолчанию:
10
Указывает количество попыток выполнения команды перед её признанием неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for.
rpcs
(добавлено в 2.3)
Значение по умолчанию:
None
Аргумент rpcs принимает список RPC, которые необходимо выполнить через сессию netconf, а результаты выполнения RPC возвращаются в словарь результатов модуля.
wait_for
(добавлено в 2.2)
Значение по умолчанию:
None
Определяет, что следует оценивать из вывода команды и какие условия применять. Этот аргумент заставит задачу подождать, пока определённое условие не станет истинным, прежде чем продолжить. Если условие не станет истинным за указанное количество попыток, задача завершится ошибкой. См. примеры.

алиасы: waitfor

Примечания

Примечание

  • Для этого модуля необходимо, чтобы на удалённом управляемом устройстве был включён системный сервис netconf.
  • Проверено на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
  • Рекомендуется подключение netconf. См. руководство Junos OS Platform Options.
  • Этот модуль также работает с подключениями network_cli и с подключениями local для устаревших задач.
  • Сведения о работе с CLI и netconf см. в руководстве Junos OS Platform Options
  • Дополнительную информацию о работе с Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
  • Дополнительную информацию о работе с Ansible для управления сетевыми устройствами Juniper см. на странице https://www.ansible.com/ansible-juniper.

Примеры

- name: run show version on remote devices
  junos_command:
    commands: show version

- name: run show version and check to see if output contains Juniper
  junos_command:
    commands: show version
    wait_for: result[0] contains Juniper

- name: run multiple commands on remote nodes
  junos_command:
    commands:
      - show version
      - show interfaces

- name: run multiple commands and evaluate the output
  junos_command:
    commands:
      - show version
      - show interfaces
    wait_for:
      - result[0] contains Juniper
      - result[1] contains Loopback0

- name: run commands and specify the output format
  junos_command:
    commands: show version
    display: json

- name: run rpc on the remote device
  junos_command:
    commands: show configuration
    display: set

- name: run rpc on the remote device
  junos_command:
    rpcs: get-software-information

Возвращаемые значения

Общие возвращаемые значения описаны в здесь, следующие поля уникальны для этого модуля:

Ключ Возвращённое значение Описание
failed_conditions
список
failed
Список условий, которые не выполнены

Пример:
['...', '...']
output
список
Если display в формате xml
Набор преобразованных xml в json из ответов команд

Пример:
['...', '...']
stdout
список
всегда, кроме ошибок низкого уровня (например, плагина действия)
Набор ответов от команд

Пример:
['...', '...']
stdout_lines
список
всегда, кроме ошибок низкого уровня (например, плагина действия)
Значение stdout, разбитое на список

Пример:
[['...', '...'], ['...'], ['...']]


Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантирует обратную совместимость.

Поддержка

Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний

Автор

  • Peter Sprygada (@privateip)

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 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/junos_command_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API