Spec-Zone.ru › Ansible 2.11

junipernetworks.junos.junos_config – Управление конфигурацией на устройствах Juniper JUNOS

Примечание

Этот плагин входит в коллекцию junipernetworks.junos (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install junipernetworks.junos

Для использования в playbook укажите: junipernetworks.junos.junos_config

Новый в версии 1.0.0: of junipernetworks.junos

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

Обзор

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

Примечание

Этот модуль имеет соответствующий плагин действий.

Требования

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

  • ncclient (>=v0.5.2)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
backup
boolean
    Варианты:
  • нет ←
  • да
Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневом каталоге игрового набора или корневом каталоге роли, если игровой набор является частью роли Ansible. Если директория не существует, она создается.
backup_options
словарь
Это объект типа dict, содержащий настраиваемые параметры, относящиеся к пути к файлу резервной копии. Значение этого параметра считывается только тогда, когда backup установлено в да, если backup установлено в нет, этот параметр будет проигнорирован.
dir_path
путь
Этот параметр предоставляет путь, заканчивающийся именем каталога, в котором будет храниться конфигурационный файл резервной копии. Если каталог не существует, он будет сначала создан, а имя файла будет либо значением filename, либо значением по умолчанию, как описано в описании параметров filename. Если значение пути не указано, в этом случае будет создан каталог backup в текущей рабочей директории, и конфигурация резервной копии будет скопирована в filename внутри каталога backup.
filename
строка
Имя файла, которое будет использоваться для хранения конфигурационного файла резервной копии. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущего времени и даты в формате <имя_хоста>_config.<дата>@<время>
check_commit
boolean
    Варианты:
  • нет ←
  • да
Этот аргумент проверит правильность синтаксиса; изменения не будут применены.
Обратите внимание, что этот аргумент может быть использован для подтверждения проверенной конфигурации, выполненной через операцию подтверждения коммита.
comment
строка
Значение по умолчанию:
"настроено с помощью junos_config"
Аргумент comment указывает строку текста, которая будет использована при применении конфигурации. Если аргумент confirm установлен в значение False, этот аргумент будет проигнорирован.
confirm
целое число
Значение по умолчанию:
0
Аргумент confirm настраивает значение таймаута в минутах для подтверждения коммита перед его автоматической отработкой назад. Если аргумент confirm установлен в значение False, этот аргумент будет проигнорирован. Если значение для этого аргумента установлено в 0, коммит подтверждается немедленно.
confirm_commit
boolean
    Варианты:
  • нет ←
  • да
Этот аргумент выполнит операцию коммита на удаленном устройстве. Он может быть использован для подтверждения предыдущего коммита.
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
целое число
Указывает порт, используемый при построении соединения с удаленным устройством. Значение порта по умолчанию — стандартный порт SSH 22 (для transport=cli) или порт 830 (для transport=netconf) устройства.
ssh_keyfile
путь
Указывает SSH-ключ, используемый для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE.
timeout
целое число
Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истекает до завершения операции, модуль выдаст ошибку.
transport
строка
    Варианты:
  • cli
  • netconf ←
Настраивает транспортное соединение для использования при подключении к удаленному устройству.
username
строка
Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_USERNAME.
replace
boolean
    Варианты:
  • нет ←
  • да
Аргумент 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. Новая конфигурация полностью заменяет существующую. Разница проявляется при последующем применении конфигурации. Этот вариант выполняет сравнение между новой кандидатской конфигурацией и существующей сохранённой конфигурацией. Он затем уведомляет только системные процессы, ответственные за изменённые части конфигурации, и помечает фактические изменения конфигурации как «изменённые».
zeroize
boolean
    Варианты:
  • нет
  • да
Аргумент zeroize используется для полной очистки конфигурации удалённого устройства до исходных значений по умолчанию. Этот аргумент фактически удалит все текущие утверждения конфигурации на удалённом устройстве.

Примечания

Примечание

  • Для работы данного модуля необходимо включить системную службу netconf на управляемом удалённом устройстве.
  • Сокращённые команды НЕ являются идемпотентными, см. L(Сеть FAQ,../network/user_guide/faq.html
  • Загрузка конфигурации в формате 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
  • Для получения дополнительной информации об использовании Ansible для управления устройствами Juniper см. https://www.ansible.com/ansible-juniper.

Примеры

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

- name: load configure lines into device
  junipernetworks.junos.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
  junipernetworks.junos.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
  junipernetworks.junos.junos_config:
    check_commit: yes

- name: rollback the configuration to id 10
  junipernetworks.junos.junos_config:
    rollback: 10

- name: zero out the current configuration
  junipernetworks.junos.junos_config:
    zeroize: yes

- name: Set VLAN access and trunking
  junipernetworks.junos.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
  junipernetworks.junos.junos_config:
    confirm_commit: yes

- name: for idempotency, use full-form commands
  junipernetworks.junos.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
  junipernetworks.junos.junos_config:
    src: srx.cfg
    backup: yes
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

Значения возврата

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

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

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

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

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

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

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


Авторы

  • Peter Sprygada (@privateip)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/junipernetworks/junos/junos_config_module.html

Spec-Zone.ru

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