Spec-Zone.ru › Ansible 2.9

junos_config – Управление конфигурацией на устройствах, работающих под управлением Juniper JUNOS

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Этот модуль предоставляет реализацию для работы с активной конфигурацией, выполняемой на устройствах Juniper JUNOS. Он предоставляет набор аргументов для загрузки конфигурации, выполнения операций отката и сброса активной конфигурации на устройстве.

Требования

Ниже приведены требования к хосту, на котором выполняется этот модуль.

  • ncclient (>=v0.5.2)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
backup
boolean
    Варианты:
  • no ←
  • yes
Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневом каталоге сценария или в корневом каталоге роли, если сценарий является частью роли Ansible. Если каталог не существует, он создаётся.
backup_options
словарь
добавлен в 2.8
Это объект типа dict, содержащий настраиваемые параметры, относящиеся к пути к файлу резервной копии. Значение этого параметра считывается только тогда, когда backup установлено в yes. Если backup установлено в no, этот параметр будет проигнорирован.
dir_path
путь
Этот параметр предоставляет путь, заканчивающийся именем каталога, в котором будет храниться файл резервной копии конфигурации. Если каталог не существует, он будет сначала создан, и имя файла будет либо значением filename, либо именем файла по умолчанию, как описано в описании параметров filename. Если значение пути не указано, в текущем рабочем каталоге будет создан каталог backup, и резервная копия конфигурации будет скопирована в filename внутри каталога backup.
filename
-
Имя файла, используемое для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>
check_commit
boolean
добавлен в 2.8
    Варианты:
  • no ←
  • yes
Этот аргумент проверит корректность синтаксиса; изменения не будут применены.
Обратите внимание, что этот аргумент можно использовать для подтверждения проверенной конфигурации, выполненной через операцию подтверждения коммита.
comment
-
Значение по умолчанию:
"configured by junos_config"
Аргумент comment указывает строку текста, которая будет использоваться при применении конфигурации. Если аргумент confirm установлен в False, этот аргумент будет проигнорирован.
confirm
-
Значение по умолчанию:
0
Аргумент confirm задаст значение таймаута в минутах для подтверждения коммита, прежде чем он будет автоматически отменён. Если аргумент confirm установлен в False, этот аргумент будет проигнорирован. Если значение этого аргумента установлено в 0, коммит подтверждается немедленно.
confirm_commit
boolean
добавлен в 2.4
    Варианты:
  • no ←
  • yes
Этот аргумент выполнит операцию коммита на удалённом устройстве. Его можно использовать для подтверждения предыдущего коммита.
lines
-
Этот аргумент принимает список строк конфигурации set или delete для отправки на удалённое устройство. Каждая строка должна начинаться с set или delete. Этот аргумент является взаимоисключающим с аргументом src.
provider
словарь
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf.
Дополнительную информацию можно найти в руководстве Junos OS Platform Options.
Объект типа dict, содержащий данные подключения.
host
строка / обязательно
Указывает имя хоста DNS или адрес для подключения к удалённому устройству по указанному транспорту. Значение host используется в качестве адреса назначения для транспорта.
password
строка
Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_PASSWORD.
port
целое число
Значение по умолчанию:
22
Указывает порт, используемый при построении подключения к удалённому устройству. Значение порта по умолчанию равно известному порту SSH 22 (для transport=cli) или порту 830 (для transport=netconf) устройства.
ssh_keyfile
путь
Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE.
timeout
целое число
Значение по умолчанию:
10
Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истекает до завершения операции, модуль выдаст ошибку.
username
строка
Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_USERNAME.
replace
boolean
    Варианты:
  • no ←
  • yes
Аргумент replace указывает удалённому устройству заменить текущую иерархию конфигурации иерархией исходной конфигурации, загруженной из этого модуля.
Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалентного результата установите аргумент update в replace. Этот аргумент будет удалён в будущих версиях. Аргументы replace и update взаимоисключающие.
rollback
-
Аргумент rollback указывает модулю выполнить откат текущей конфигурации до идентификатора, указанного в аргументе. Если указанный идентификатор отката не существует на удалённом устройстве, модуль завершится ошибкой. Для отката до последнего коммита установите аргумент rollback в 0.
src
-
Аргумент src предоставляет путь к файлу конфигурации для загрузки на удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализуемой роли или сценария.
Этот аргумент взаимоисключающий с аргументом lines.
src_format
-
    Варианты:
  • xml
  • set
  • text
  • json
Аргумент src_format указывает формат конфигурации, найденной в src. Если аргумент src_format не указан, модуль попытается определить формат файла конфигурации, указанного в src.
update
-
    Варианты:
  • merge ←
  • override
  • replace
  • update
Этот аргумент определит, как загрузить данные конфигурации, особенно когда конфигурация-кандидат и загруженная конфигурация содержат противоречивые утверждения. Ниже приведены допустимые значения. merge объединяет данные загруженной конфигурации с конфигурацией-кандидатом. Если утверждения в загруженной конфигурации конфликтуют с утверждениями в конфигурации-кандидате, то утверждения загруженной конфигурации заменят утверждения кандидата. override отбрасывает всю конфигурацию-кандидата и заменяет её загруженной конфигурацией. replace заменяет каждый уровень иерархии в загруженной конфигурации соответствующим уровнем. update подобен варианту override. Новая конфигурация полностью заменяет существующую. Разница проявляется при последующей фиксации конфигурации. Этот вариант выполняет сравнение (diff) между новой конфигурацией-кандидатом и существующей сохранённой конфигурацией. Затем он оповещает только системные процессы, ответственные за изменённые части конфигурации, и помечает фактические изменения конфигурации как «изменённые».
zeroize
boolean
    Варианты:
  • no
  • yes
Аргумент zeroize используется для полной очистки конфигурации удалённого устройства до начальных значений по умолчанию. Этот аргумент эффективно удалит все текущие утверждения конфигурации на удалённом устройстве.

Примечания

Примечание

  • Для данного модуля требуется, чтобы служба netconf была включена на управляемом удалённом устройстве.
  • Сокращённые команды НЕ идемпотентны, см. Network FAQ.
  • Загрузка конфигурации в формате JSON json поддерживается начиная с версии Junos OS 16.1.
  • Обновление override в настоящее время несовместимо с set обозначением.
  • Проверено на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
  • Рекомендуемое соединение — netconf. См. параметры платформы Junos OS.
  • Этот модуль также работает с local соединениями для устаревших playbooks.
  • Для получения информации об использовании CLI и netconf см. руководство по параметрам платформы Junos OS
  • Для получения дополнительной информации об использовании Ansible для управления сетевыми устройствами см. руководство Ansible Network Guide
  • Для получения дополнительной информации об использовании Ansible для управления устройствами Juniper см. https://www.ansible.com/ansible-juniper.

Примеры

- name: load configure file into device
  junos_config:
    src: srx.cfg
    comment: update config

- name: load configure lines into device
  junos_config:
    lines:
      - set interfaces ge-0/0/1 unit 0 description "Test interface"
      - set vlans vlan01 description "Test vlan"
    comment: update config

- name: Set routed VLAN interface (RVI) IPv4 address
  junos_config:
    lines:
      - set vlans vlan01 vlan-id 1
      - set interfaces irb unit 10 family inet address 10.0.0.1/24
      - set vlans vlan01 l3-interface irb.10

- name: Check correctness of commit configuration
  junos_config:
    check_commit: yes

- name: rollback the configuration to id 10
  junos_config:
    rollback: 10

- name: zero out the current configuration
  junos_config:
    zeroize: yes

- name: Set VLAN access and trunking
  junos_config:
    lines:
      - set vlans vlan02 vlan-id 6
      - set interfaces ge-0/0/6.0 family ethernet-switching interface-mode access vlan members vlan02
      - set interfaces ge-0/0/6.0 family ethernet-switching interface-mode trunk vlan members vlan02

- name: confirm a previous commit
  junos_config:
    confirm_commit: yes

- name: for idempotency, use full-form commands
  junos_config:
    lines:
      # - set int ge-0/0/1 unit 0 desc "Test interface"
      - set interfaces ge-0/0/1 unit 0 description "Test interface"

- name: configurable backup path
  junos_config:
    src: srx.cfg
    backup: yes
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

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

Общие возвращаемые значения описаны в этом разделе, следующие поля уникальны для данного модуля:

Ключ Возвращаемое значение Описание
backup_path
string
при backup = yes
Полный путь к резервной копии файла

Пример:
/playbooks/ansible/backup/config.2016-07-16@22:28:34
date
string
при backup = yes
Дата, извлечённая из имени файла резервной копии

Пример:
2016-07-16
filename
string
при backup = yes и имя файла не указано в опциях backup
Имя файла резервной копии

Пример:
junos01_config.2016-07-16@22:28:34
shortname
string
при backup = yes и имя файла не указано в опциях backup
Полный путь к файлу резервной копии без временной метки

Пример:
/playbooks/ansible/backup/junos01_config
time
string
при backup = yes
Время, извлечённое из имени файла резервной копии

Пример:
22:28:34


Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается командой Ansible Network Team. [сеть]

Поддержка Red Hat

Дополнительную информацию о поддержке данного модуля Red Hat можно найти в этой статье базы знаний Red Hat.

Авторы

  • Peter Sprygada (@privateip)

Подсказка

Если вы заметите какие-либо проблемы в данной документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/junos_config_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API