Spec-Zone.ru › Ansible 2.6

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

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

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

Описание

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

Требования

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

  • jxmlease
  • ncclient (>=v0.5.2)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
commands
Команды, которые нужно отправить на удалённое устройство 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
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf.
Для получения дополнительной информации см. руководство Junos OS Platform Options.
Объект словаря, содержащий данные подключения.
host
обязательно
Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта.
port Значение по умолчанию:
22
Указывает порт, используемый при построении соединения с удалённым устройством. Значение порта по умолчанию равно общеизвестному порту SSH 22 (для transport=cli) или порту 830 (для transport=netconf) устройства.
username
Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_USERNAME.
password
Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_PASSWORD.
timeout Значение по умолчанию:
10
Указывает время ожидания в секундах для связи с сетевым устройством для подключения или отправки команд. Если время ожидания превышено до завершения операции, модуль выдаст ошибку.
ssh_keyfile
Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE.
retries Значение по умолчанию:
10
Указывает количество попыток выполнения команды до того, как она будет считана неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for.
rpcs
(добавлено в 2.3)
Аргумент rpcs принимает список RPC, которые необходимо выполнить через сеанс netconf, а результаты выполнения RPC возвращаются в словарь результатов модуля в конвейер.
wait_for
(добавлено в 2.2)
Указывает, что следует оценивать по результатам выполнения команды и какие условные проверки применять. Этот аргумент заставит задачу подождать, пока конкретное условие не станет истинным, прежде чем переходить дальше. Если условие не станет истинным к установленному количеству попыток, задача завершится с ошибкой. См. примеры.

псевдонимы: 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
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по сетям Ansible
  • Дополнительную информацию об использовании 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, разделенное на список

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


Статус

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

Техническое обслуживание

Этот модуль помечен как сетевой, что означает, что его обслуживает Команда по сетям Ansible. См. Поддержка и обслуживание модулей для получения дополнительной информации.

Для просмотра списка других модулей, которые также поддерживаются командой Ansible Network Team, см. здесь.

Поддержка

Для получения дополнительной информации о поддержке этого модуля компанией 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.6/modules/junos_command_module.html

Spec-Zone.ru

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