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

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 19 Следующий »

Описание

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

Параметры

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

after

-


Набор команд, который будет добавлен в конец списка команд, отправляемых на устройство, если необходимо внести изменения. Данный параметр позволяет выполнить команды после основного набора команд, отправляемого на устройство.

apply_when

-

Варианты:

  • always
  • modified 
  • never
Данный параметр управляет отправкой команды commit на устройство. Если параметр установлен в always, то команда commit отправится на устройство в независимости от необходимости внесения изменений. Если параметр установлен в modified, то команда commit отправится на устройство только в том случае, если текущая конфигурация устройства отличается от требуемой. Если параметр установлен в never, то команда commit не будет отправлена на устройство. Если команда commit была отправлена на устройство, то будет активирован таймер (по умолчанию 600 секунд), по истечению которого на устройстве будет произведён автоматический откат на действующую ранее конфигурацию. Для остановки этого таймера и применения внесённых изменений необходимо использовать параметр save_when.

backup

boolean

Варианты:

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

before

-



lines

-



parents

-



save_when

-

Варианты:

  • always
  • applied
  • never 
Данный параметр управляет отправкой команды confirm на устройство. Если параметр установлен в always, то команда confirm отправится в независимости от применённых изменений. Если параметр установлен в applied, то команда confirm будет отправлена только в том случае, если на устройстве были применены какие-то изменения в соответствии с параметром apply_when. Если параметр установлен в never, то команда confirm не будет отправлена на устройство и по истечению заданного времени (по умолчанию 600 секунд) устройство произведёт автоматический откат на действующую ранее конфигурацию.

sftp_user

-


Данный параметр указывает имя пользователя, с которым необходимо подключиться к устройству по протоколу sftp. Игнорируется, если параметр use_sftp установлен в false.

sftp_password

-


Данный параметр указывает пароль, с которым необходимо подключиться к устройству по протоколу sftp с использованием имени пользователя, указанного в параметре sftp_user. Игнорируется, если параметр use_sftp установлен в false.

src

-

-В данном параметре указывается путь к файлу, содержащему валидную конфигурацию маршрутизатора ESR, либо шаблон конфигурации. При использовании данного параметра произойдёт полная замена текущей конфигурации.

use_sftp

boolean

Варианты:

  • True
  • False
Данный параметр даёт указание использовать протокол sftp для отправки конфигурации на устройство при использовании параметра src. Для работы необходимо также указать параметры sftp_user и sftp_password.

Примечания

  • Протестировано на версии ПО ESR 1.6.2
  • Для ускорения загрузки конфигурации при использовании параметра src рекомендуется использовать параметр use_sftp.
  • Для использования протокола sftp для загрузки конфигурации необходимо предварительно создать на устройстве пользователя для работы с sftp, указав в настройках этого пользователя ip sftp enable. Данный функционал доступен на ПО ESR версий не ниже 1.6.2
  • Для корректной работы необходима версия Ansible не ниже 2.7.6
  • Сокращённые команды не являются идемпотентными, подробнее смотрите здесь
  • Для получения информации об использовании Ansible для управлении сетевыми устройствами обратитесь к официальному руководству Ansible

Примеры

- name: get full backup from ESR device
  esr_config:
    backup: true

- name: upload config from src to ESR device whith sftp and confirm
  esr_config:
    src: esr-1000.cfg
    use_sftp: true
    sftp_user: sftpuser
    sftp_password: sftppassword
    save_when: applied

- name: render a Jinja2 template onto a ESR device
  esr_config:
    src: esr-config.j2
    save_when: applied

- name: add sftp user
  esr_config:
    save_when: applied
    parents:
      - username sftpuser
    lines:
      - password sftppassword
      - ip sftp enable

- name: configure ip helpers on multiple interfaces
  esr_config:
    save_when: applied
    lines:
      - ip helper-address 192.168.0.10
    parents: "{{ item }}"
  with_items:
    - bridge 1
    - bridge 2
    - bridge 3

- name: for idempotency, use full-form commands
  esr_config:
    parents:
      # - br 6
      - bridge 6
    lines:
      # - ip help 192.168.0.10
      - ip helper-address 192.168.0.10

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

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

ЗначениеУсловиеОписание

backup_path

string

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

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

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

Пример:

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

commands

list

всегда

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

Пример:

['hostname esr-1000', 'ip ssh server', 'ip telnet server']

updates

list

всегда

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

Пример:

['hostname esr-1000', 'ip ssh server', 'ip telnet server']


Установка

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

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

tar xvzf esr_ansible.tar.gz
cd ./esr_ansible
python install.py
  • Нет меток