Описание
- Данный модуль отправляет произвольные команды на маршрутизатор ESR и возвращает результаты, полученные с устройства.
- Данный модуль не поддерживает запуск команд в конфигурационном режиме. Для конфигурирования маршрутизаторов ESR используйте модуль esr_config.
Параметры
Параметр | Варианты/По умолчанию | Комментарий |
---|---|---|
commands - / required | Список команд для отправки на удалённый маршрутизатор ESR. Возвращается вывод команд. Если отправляемая команда ожидает ответа на вопрос, то возможно отправить словарь, содержащий command, answer и prompt. Обычные ответы: 'y' или "\r" (возврат каретки должен быть в двойных кавычках). Смотрите примеры. | |
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
- Данный модуль не поддерживает запуск команд в конфигурационном режиме. Для конфигурирования маршрутизаторов ESR используйте модуль esr_config.
Примеры
- 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: 'reload system' prompt: 'Do you really want to reload system ? (y/N)' answer: 'y'
Возвращаемые значения
В общем случае возвращаемые значения описаны здесь. Ниже перечислены уникальные для модуля значения:
Значение | Условие | Описание |
---|---|---|
backup_path string | когда параметр backup установлен в yes | Полный путь к файлу бэкапа Пример: /ansible/playbooks/backup/esr-1000-config.2019-02-19@11:10:06 |
Установка
Ссылка на архив
Для установки скачайте архив по ссылке выше, распакуйте и запустите скрипт install.py
tar xvzf esr_command.tar.gz cd ./esr_command python install.py