junos_config – Управление конфигурацией на устройствах Juniper JUNOS
Новая версия с 2.1.
Обзор
- Этот модуль предоставляет реализацию для работы с активной конфигурацией, работающей на устройствах Juniper JUNOS. Он предоставляет набор аргументов для загрузки конфигурации, выполнения операций отката и сброса активной конфигурации на устройстве.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| backup boolean добавлено в 2.2 |
| Этот аргумент заставит модуль создать полную резервную копию текущего running-config с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневой директории playbook или в корневой директории роли, если playbook является частью роли Ansible. Если директория не существует, она создаётся. | |
| backup_options словарь добавлено в 2.8 | Это объект словаря, содержащий настраиваемые параметры, связанные с путём к файлу резервной копии. Значение этого параметра читается только при backup установлено в да; если backup установлено в нет, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр предоставляет путь, заканчивающийся именем каталога, в котором будет храниться файл конфигурации резервной копии. Если каталог не существует, он будет создан, а имя файла — это значение filename или имя файла по умолчанию, как описано в filename описании параметров. Если значение пути не указано, в текущем рабочем каталоге будет создана папка backup, а конфигурация резервной копии будет скопирована в filename внутри папки backup. | ||
| filename - | Имя файла, используемое для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущего времени и даты в формате <имя_хоста>_config.<дата>@<время> | ||
| check_commit boolean добавлено в 2.8 |
| Этот аргумент проверит правильность синтаксиса; изменения не применяются. Обратите внимание, что этот аргумент может быть использован для подтверждения проверенной конфигурации, выполненной через подтверждённую операцию коммита. | |
| comment - | Значение по умолчанию: "настроенно junos_config" | Аргумент comment указывает строку текста, которая будет использоваться при фиксировании конфигурации. Если аргумент confirm установлен в False, этот аргумент будет проигнорирован. | |
| confirm - | Значение по умолчанию: 0 | Аргумент confirm настраивает значение таймаута в минутах для подтверждения коммита перед его автоматическим откатом. Если аргумент confirm установлен в False, этот аргумент будет проигнорирован. Если значение этого аргумента установлено в 0, коммит подтверждается немедленно. | |
| confirm_commit boolean добавлено в 2.4 |
| Этот аргумент выполнит операцию коммита на удалённом устройстве. Он может быть использован для подтверждения предыдущего коммита. | |
| lines - | Этот аргумент принимает список строк конфигурации set или delete для отправки на удалённое устройство. Каждая строка должна начинаться с set или delete. Этот аргумент взаимоисключающий с аргументом src. | ||
| provider словарь | Устаревший Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf. Для получения дополнительной информации см. руководство по параметрам Junos OS Platform Руководство по параметрам платформы Junos. Объект словаря, содержащий данные подключения. | ||
| host строка / обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству по указанному транспорту. Значение хоста используется в качестве целевого адреса для транспорта. | ||
| 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 |
| Аргумент replace указывает удалённому устройству заменить текущую иерархию конфигурации той, которая указана в соответствующей иерархии исходной конфигурации, загруженной из этого модуля.Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалентного результата установите аргумент update в replace. Этот аргумент будет удалён в будущих версиях. Аргументы replace и update взаимоисключающие. | |
| rollback - | Аргумент rollback указывает модулю откатить текущую конфигурацию до идентификатора, указанного в аргументе. Если указанный идентификатор отката не существует на удалённом устройстве, модуль завершится с ошибкой. Чтобы откатить до последнего коммита, установите аргумент rollback в 0. | ||
| src - добавлено в 2.2 | Аргумент src предоставляет путь к файлу конфигурации, который нужно загрузить на удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованной роли или playbook. Этот аргумент взаимоисключающий с аргументом lines. | ||
| src_format - добавлено в 2.2 |
| Аргумент src_format указывает формат конфигурации, найденной в src. Если аргумент src_format не указан, модуль попытается определить формат файла конфигурации, указанного в src. | |
| обновить - добавлено в 2.3 |
| Этот аргумент определит способ загрузки данных конфигурации, особенно когда кандидатская конфигурация и загруженная конфигурация содержат противоречивые утверждения. Ниже приведены допустимые значения. merge объединяет данные в загруженной конфигурации с кандидатской конфигурацией. Если утверждения в загруженной конфигурации противоречат утверждениям в кандидатской конфигурации, загруженные утверждения заменяют кандидатские. override отбрасывает всю кандидатскую конфигурацию и заменяет её загруженной конфигурацией. replace подменяет каждый уровень иерархии в загруженной конфигурации соответствующим уровнем. update аналогичен параметру переопределения. Новая конфигурация полностью заменяет существующую конфигурацию. Разница возникает, когда конфигурация позже сохраняется. Этот параметр выполняет сравнение между новой кандидатской конфигурацией и существующей сохранённой конфигурацией. Затем он уведомляет только системные процессы, ответственные за изменённые части конфигурации, и отмечает фактические изменения конфигурации как "изменённые". | |
| сбросить boolean |
| Аргумент zeroize используется для полной очистки конфигурации удалённого устройства до начальных значений по умолчанию. Этот аргумент эффективно удалит все текущие утверждения конфигурации на удалённом устройстве. | |
Примечания
Примечание
- Для этого модуля требуется, чтобы системная служба netconf была включена на управляемом удалённом устройстве.
- Сокращённые команды НЕ являются идемпотентными, см. FAQ по сети.
- Загрузка конфигурации в формате JSON json поддерживается начиная с Junos OS Release 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
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 строка | при backup = да | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/config.2016-07-16@22:28:34 |
| дата строка | при backup = да | Дата, извлечённая из имени файла резервной копии Пример: 2016-07-16 |
| filename строка | при backup = да и имя файла не указано в параметрах backup | Имя файла резервной копии Пример: junos01_config.2016-07-16@22:28:34 |
| shortname строка | при backup = да и имя файла не указано в параметрах backup | Полный путь к файлу резервной копии без временной метки Пример: /playbooks/ansible/backup/junos01_config |
| время строка | при backup = да | Время, извлечённое из имени файла резервной копии Пример: 22:28:34 |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [предварительная версия]
- Этот модуль поддерживается командой Ansible Network. [сетевой]
Поддержка 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.8/modules/junos_config_module.html