Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Описание

  • Данный модуль отправляет произвольные команды на маршрутизатор ESR и возвращает результаты, полученные с устройства.
  • Данный модуль не поддерживает запуск команд в конфигурационном режиме.

Параметры

Параметр

Варианты/По умолчанию

Комментарий

commands

- / required


Список команд для отправки на удалённый маршрутизатор ESR. Возвращается вывод команд. Если отправляемая команда ожидает ответа на вопрос, то возможно отправить словарь, содержащий command, answer и prompt. Обычные ответы: 'y', 'n'. Смотрите примеры.

interval

По умолчанию:

1

Данный параметр определяет интервал в секундах для ожидания между повторными попытками выполнения команды. Если вывод команды не удовлетворяет заданным условиям, интервал указывает время ожидания перед повторной отправкой команды.
match

Варианты:

  • any
  • all 
Данный параметр используется вместе с параметром wait_for для указания политики соответствия. Допустимые значения - all или any. Если установлено значение all, то все условия в wait_for должны быть выполнены. Если установлено значение any, то выполнится должно только одно из условий.
retries

По умолчанию:

10

Количество попыток отправки команд, прежде чем она будет считаться неудачной. Команда запускается на удалённом устройстве при каждой попытке и её вывод сравнивается с условиями wait_for.
wait_for
Список условий для сравнения с выводом команды. Задача будет ожидать выполнения каждого условия, прежде чем продолжить. Если вывод команды не соответствует условиям в течение настроенного числа попыток, то задача завершится с ошибкой. Смотрите примеры.

Примечания


  • Протестировано на версии ПО ESR 1.4.1
  • Для корректной работы необходима версия Ansible не ниже 2.7.6
  • Для получения информации об использовании Ansible для управлении сетевыми устройствами обратитесь к официальному руководству Ansible

Примеры

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

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

- name: run multiple commands on remote devices
  esr_command:
    commands:
      - show version
      - show interfaces status

- name: run multiple commands and evaluate the output
  esr_command:
    commands:
      - show version
      - show interfaces status
    wait_for:
      - result[0] contains 1.4.0.110
      - result[1] contains bridge1

- name: run commands that require answering a prompt
  esr_command:
    commands:
      - command: 'copy system:default-config system:candidate-config'
        prompt: 'Do you really want to continue?'
        answer: 'y'


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

В общем случае возвращаемые значения описаны здесь. Ниже перечислены уникальные для модуля значения:

Значение

Описание

stdout

list

Набор ответов, полученных с устройства после выполнение команд

Пример:

['...', '...']

stdout_lines

list

Значение stdout в виде списка

Пример:

[['...', '...'], ['...'], ['...']]


Установка

Ссылка на архив

Для установки скачайте архив по ссылке выше, распакуйте и запустите скрипт install.py

tar xvzf esr-ansible.tar.gz
cd ./esr-ansible
python install.py


  • Нет меток