junos_config – Управление конфигурацией на устройствах с Juniper JUNOS
Новое в версии 2.1.
Описание
- Этот модуль предоставляет реализацию работы с активной конфигурацией, работающей на устройствах Juniper JUNOS. Он предоставляет набор аргументов для загрузки конфигурации, выполнения операций отката и сброса активной конфигурации на устройстве.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| backup boolean Добавлен в 2.2 |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удалённого устройства перед внесением каких-либо изменений. Файл резервной копии будет записан в папку backup в корневой директории playbook или роли Ansible, если playbook является частью роли. Если директория не существует, она будет создана. | |
| 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 Options. Объект dict, содержащий детали подключения. | ||
| host - / обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству по указанному транспорту. Значение host используется как адрес назначения для транспорта. | ||
| password - | Указывает пароль для аутентификации соединения с удалённым устройством. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| port - | Значение по умолчанию: 22 | Указывает порт для подключения к удалённому устройству. Значение порта по умолчанию — 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. | |
| update - Добавлен в 2.3 |
| Этот аргумент определяет, как загружать данные конфигурации, особенно когда конфигурация-кандидат и загруженная конфигурация содержат противоречивые утверждения. Доступные значения: merge объединяет данные загруженной конфигурации с конфигурацией-кандидатом. Если утверждения в загруженной конфигурации противоречат утверждениям в конфигурации-кандидате, загруженные утверждения заменяют кандидатские. override отбрасывает всю конфигурацию-кандидат и заменяет её загруженной конфигурацией. replace заменяет каждый уровень иерархии в загруженной конфигурации соответствующим уровнем. | |
| zeroize - | Аргумент zeroize используется для полного сброса конфигурации удалённого устройства до начальных значений по умолчанию. Этот аргумент фактически удалит все текущие утверждения конфигурации на удалённом устройстве. | ||
Примечания
Примечание
- Для работы данного модуля на удалённом управляемом устройстве необходимо включить системную службу netconf.
- Сокращённые команды НЕ являются идемпотентными, см. Вопросы и ответы по сети.
- Загрузка конфигурации в формате 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
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: 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"
Значения возврата
Общие значения возврата описаны в этой документации. Ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup = да | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/config.2016-07-16@22:28:34 |
Статус
- Данный модуль не гарантирует обратную совместимость. [превью]
- Данный модуль поддерживается командой Ansible по работе с сетями. [сеть]
Поддержка 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.7/modules/junos_config_module.html