Описание
- Данный модуль отправляет произвольные команды на маршрутизатор ESR и возвращает результаты, полученные с устройства.
- Данный модуль не поддерживает запуск команд в конфигурационном режиме.
Параметры
Параметр | Варианты/По умолчанию | Комментарий |
---|---|---|
commands - / required | Список команд для отправки на удалённый маршрутизатор ESR. Возвращается вывод команд. Если отправляемая команда ожидает ответа на вопрос, то возможно отправить словарь, содержащий command, answer и prompt. Обычные ответы: 'y', 'n'. Смотрите примеры. | |
interval | По умолчанию: 1 | Данный параметр определяет интервал в секундах для ожидания между повторными попытками выполнения команды. Если вывод команды не удовлетворяет заданным условиям, интервал указывает время ожидания перед повторной отправкой команды. |
match | Варианты:
| Данный параметр используется вместе с параметром 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