Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

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

Параметры

Параметр

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

Комментарий

backup

boolean

Варианты:

  • no 
  • yes
Данный параметр даёт указание модулю получить полный бэкап текущего конфига с устройства, прежде чем какие-либо изменения будут произведены. Файл бэкапа будет сохранён в каталоге backup в корневой директории плейбука. Если каталог отсутствует, то он будет создан

confirm

boolean

Варианты:

  • no 
  • yes
Данный параметр даёт указание модулю отправить на устройство команду confirm, если после отправки конфигурации не произошло ошибок. Если данный параметр не указан, то по истечению заданного времени (по умолчанию 600 секунд) устройство произведёт автоматический откат на действующую ранее конфигурацию.

src

-

-В данном параметре указывается путь к файлу, содержащему валидную конфигурацию маршрутизатора 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

Примеры

Блок кода
languageyml
- name: renderrun ashow Jinja2version templateon ontoremote adevices
ESR device esr_command:
 esr_config   commands: show version

- name: run show version and check to see if output contains 1.4.0.110
  esr_command:
    src: esr-config.j2
 
 
- name: get full backup from ESR device
  esr_configcommands: 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:
    backupcommands:
yes      - nameshow version
      - show interfaces status
    wait_for:
upload config from src to ESR device and confirm
  esr_config- result[0] contains 1.4.0.110
      - result[1] contains bridge1

- name: run commands that require answering a prompt
  esr_command:
    srccommands:
esr-1000.cfg
    confirm: True      - command: 'copy system:default-config system:candidate-config'
        prompt: 'Do you really want to continue?'
        answer: 'y'


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

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

Значение

Условие

Описание

backup_path

string

когда параметр

backup установлен в yes

Полный путь к файлу бэкапа

Пример:

/ansible/playbooks/backup/esr-1000-config.2019-02-19@11:10:06

Описание

stdout

list

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

Пример:

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

stdout_lines

list

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

Пример:

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


Установка

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

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

Для корректной работы модуля необходима версия Ansible не ниже 2.7.6

Блок кода
languagebash
tar xvzf esr_config-ansible.tar.gz
cd ./esr_config-ansible
python install.py