junipernetworks.junos.junos_ospfv3 – Модуль ресурсов OSPFv3
Примечание
Этот плагин входит в состав коллекции junipernetworks.junos (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install junipernetworks.junos.
Для использования в книге задач укажите: junipernetworks.junos.junos_ospfv3.
Новый в версии 1.2.0: модуля junipernetworks.junos
Обзор
- Этот модуль управляет глобальной конфигурацией OSPFv3 на устройствах с JUNOS Juniper.
Примечание
У этого модуля есть соответствующий плагин действий.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.6.4)
- xmltodict (>=0.12.0)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||||
|---|---|---|---|---|---|---|
| config список / элементы=словарь | Список конфигураций процесса OSPFv3. | |||||
| areas список / элементы=словарь | Список конфигураций областей OSPFv3. | |||||
| area_id строка / обязательно | Идентификатор области как целое число или IP-адрес. | |||||
| area_range строка | Настройка диапазона адресов для области. | |||||
| interfaces список / элементы=словарь | Список интерфейсов в этой области. | |||||
| authentication словарь | Укажите тип аутентификации | |||||
| type словарь | Тип аутентификации для использования. | |||||
| bandwidth_based_metrics список / элементы=словарь | Укажите список метрик на основе пропускной способности | |||||
| bandwidth строка |
| Пропускная способность для применения метрики. | ||||
| metric целое число | Укажите метрику | |||||
| flood_reduction булево |
| Включить уменьшение потопа. | ||||
| metric целое число | Метрика, применяемая к интерфейсу. | |||||
| name строка / обязательно | Имя интерфейса. | |||||
| passive булево |
| Указать пассивный режим | ||||
| priority целое число | Приоритет для интерфейса. | |||||
| timers словарь | Укажите таймеры | |||||
| dead_interval целое число | Интервал ожидания (секунды). | |||||
| hello_interval целое число | Интервал Hello (секунды). | |||||
| poll_interval целое число | Интервал опроса (секунды). | |||||
| retransmit_interval целое число | Интервал повторной передачи (секунды). | |||||
| transit_delay целое число | Задержка транзита (секунды). | |||||
| stub словарь | Настройки для конфигурации области как stub. | |||||
| default_metric целое число | Метрика для маршрута по умолчанию в этой области. | |||||
| set булево |
| Настроить область как stub. | ||||
| external_preference целое число | Приоритет внешних маршрутов. | |||||
| overload словарь | Укажите время для сброса режима перегрузки | |||||
| timeout целое число | Время, после которого режим перегрузки сбрасывается (секунды). | |||||
| preference целое число | Приоритет внутренних маршрутов. | |||||
| prefix_export_limit целое число | Максимальное количество внешних префиксов, которые могут быть экспортированы. | |||||
| reference_bandwidth строка |
| Пропускная способность для расчета значений метрик по умолчанию. | ||||
| rfc1583compatibility булево |
| Настройка совместимости с RFC1583 | ||||
| router_id строка / обязательно | Идентификатор маршрутизатора OSPFv3. | |||||
| spf_options словарь | Настройка параметров для SPF. | |||||
| delay целое число | Время ожидания перед запуском SPF (секунды). | |||||
| holddown целое число | Время удержания перед запуском SPF (секунды). | |||||
| rapid_runs целое число | Максимальное количество быстрых запусков SPF перед удержанием (секунды). | |||||
| running_config строка | Этот параметр используется только со значением parsed. Значение этого параметра должно быть результатом выполнения команды Junos B(show protocols ospf. Состояние parsed считывает конфигурацию из параметра running_config и преобразует её в структурированные данные Ansible в соответствии с argspec модуля ресурсов, а затем возвращает её в ключе parsed в результате | |||||
| state строка |
| Состояние, в котором должна остаться конфигурация. | ||||
Примечания
Примечание
- Этот модуль требует включения системной службы netconf на управляемом устройстве.
- Этот модуль работает с подключением
netconf. См. страницы с вариантами платформы Junos OS. - Проверено на JunOS v18.4R1
Примеры
# Using merged
#
# Before state
# ------------
#
# admin# show protocols ospf3
- name: Merge Junos OSPFv3 config
junipernetworks.junos.junos_ospfv3:
config:
- router_id: 10.200.16.75
areas:
- area_id: 0.0.0.100
stub:
default_metric: 200
set: true
interfaces:
- name: so-0/0/0.0
priority: 3
metric: 5
state: merged
# After state
# -----------
#
# adimn# show protocols ospf3
# area 0.0.0.100 {
# stub default-metric 200;
# interface so-0/0/0.0 {
# metric 5;
# priority 3;
# }
# }
# Using replaced
#
# Before state
# ------------
#
# adimn# show protocols ospf3
# area 0.0.0.100 {
# stub default-metric 200;
# interface so-0/0/0.0 {
# metric 5;
# priority 3;
# }
# }
- name: Replace Junos OSPFv3 config
junipernetworks.junos.junos_ospfv3:
config:
- router_id: 10.200.16.75
areas:
- area_id: 0.0.0.100
interfaces:
- name: so-0/0/0.0
state: replaced
# After state
# -----------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
# interface so-0/0/0.0;
# }
# Using overridden
#
# Before state
# ------------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
# interface so-0/0/0.0;
# }
- name: Override Junos OSPFv3 config
junipernetworks.junos.junos_ospfv3:
config:
- router_id: 10.200.16.75
areas:
- area_id: 0.0.0.100
stub:
default_metric: 200
set: true
interfaces:
- name: so-0/0/0.0
priority: 3
metric: 5
flood_reduction: true
passive: true
- area_id: 0.0.0.200
interfaces:
- name: ge-1/1/0.0
- name: ge-2/2/0.0
state: overridden
# After state
# -----------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
# stub default-metric 200;
# interface so-0/0/0.0 {
# passive;
# metric 5;
# priority 3;
# flood-reduction;
# }
# }
# area 0.0.0.200 {
# interface ge-1/1/0.0;
# interface ge-2/2/0.0;
# }
#
# Using deleted
#
# Before state
# ------------
#
# adimn# show protocols ospf3
# area 0.0.0.100 {
# stub default-metric 200;
# interface so-0/0/0.0 {
# metric 5;
# priority 3;
# }
# }
- name: Delete Junos OSPFv3 config
junipernetworks.junos.junos_ospfv3:
config:
- router_id: 10.200.16.75
areas:
- area_id: 0.0.0.100
interfaces:
- name: so-0/0/0.0
state: deleted
# After state
# -----------
#
# admin# show protocols ospf3
# Using gathered
#
# Before state
# ------------
#
# adimn# show protocols ospf3
# area 0.0.0.100 {
# stub default-metric 200;
# interface so-0/0/0.0 {
# passive;
# metric 5;
# priority 3;
# flood-reduction;
# }
# }
# area 0.0.0.200 {
# interface ge-1/1/0.0;
# interface ge-2/2/0.0;
# }
- name: Gather Junos OSPFv3 config
junipernetworks.junos.junos_ospfv3:
config:
state: gathered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
# "gathered": {
# "areas": [
# {
# "area_id": "0.0.0.100",
# "interfaces": [
# {
# "flood_reduction": true,
# "metric": 5,
# "name": "so-0/0/0.0",
# "passive": true,
# "priority": 3
# }
# ],
# "stub": {
# "default_metric": 200,
# "set": true
# }
# },
# {
# "area_id": "0.0.0.200",
# "interfaces": [
# {
# "name": "ge-1/1/0.0"
# },
# {
# "name": "ge-2/2/0.0"
# }
# ]
# }
# ],
# "router_id": "10.200.16.75"
# }
#
# Using rendered
#
#
- name: Render the commands for provided configuration
junipernetworks.junos.junos_ospfv3:
config:
- router_id: 10.200.16.75
areas:
- area_id: 0.0.0.100
stub:
default_metric: 200
set: true
interfaces:
- name: so-0/0/0.0
priority: 3
metric: 5
flood_reduction: true
passive: true
- area_id: 0.0.0.200
interfaces:
- name: ge-1/1/0.0
- name: ge-2/2/0.0
state: rendered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "rendered": "
# <nc:protocols
# xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# <nc:ospf3>
# <nc:area>
# <nc:name>0.0.0.100</nc:name>
# <nc:interface>
# <nc:name>so-0/0/0.0</nc:name>
# <nc:priority>3</nc:priority>
# <nc:flood-reduction/>
# <nc:metric>5</nc:metric>
# <nc:passive/>
# </nc:interface>
# <nc:stub>
# <nc:default-metric>200</nc:default-metric>
# </nc:stub>
# </nc:area>
# <nc:area>
# <nc:name>0.0.0.200</nc:name>
# <nc:interface>
# <nc:name>ge-1/1/0.0</nc:name>
# </nc:interface>
# <nc:interface>
# <nc:name>ge-2/2/0.0</nc:name>
# </nc:interface>
# </nc:area>
# </nc:ospf3>
# </nc:protocols>"
#
# Using parsed
# parsed.cfg
# ------------
# <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/18.4R1/junos">
# <data>
# <configuration xmlns="http://xml.juniper.net/xnm/1.1/xnm"
# junos:commit-seconds="1601355317" junos:commit-localtime="2020-09-29 04:55:17 UTC" junos:commit-user="rohit">
# <version>18.4R1-S2.4</version>
# <interfaces>
# <interface>
# <name>ge-0/0/0</name>
# <description>Configured by Ansi-Team</description>
# </interface>
# <interface>
# <name>gr-0/0/0</name>
# <description>Configured Manually</description>
# </interface>
# <interface>
# <name>fxp0</name>
# <unit>
# <name>0</name>
# <family>
# <inet>
# <dhcp>
# </dhcp>
# </inet>
# </family>
# </unit>
# </interface>
# </interfaces>
# <protocols>
# <ospf3>
# <area>
# <name>0.0.0.100</name>
# <stub>
# <default-metric>200</default-metric>
# </stub>
# <interface>
# <name>so-0/0/0.0</name>
# <passive>
# </passive>
# <metric>5</metric>
# <priority>3</priority>
# <flood-reduction/>
# </interface>
# </area>
# <area>
# <name>0.0.0.200</name>
# <interface>
# <name>ge-1/1/0.0</name>
# </interface>
# <interface>
# <name>ge-2/2/0.0</name>
# </interface>
# </area>
# </ospf3>
# </protocols>
# <routing-options>
# <router-id>10.200.16.75</router-id>
# </routing-options>
# </configuration>
# <database-status-information>
# <database-status>
# <user>rohit</user>
# <terminal>pts/0</terminal>
# <pid>38210</pid>
# <start-time junos:seconds="1601354977">2020-09-29 04:49:37 UTC</start-time>
# <idle-time junos:seconds="546">00:09:06</idle-time>
# <edit-path>[edit]</edit-path>
# </database-status>
# </database-status-information>
# </data>
# </rpc-reply>
- name: Parsed the device configuration to get output commands
junipernetworks.junos.junos_ospfv3:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed": [
# {
# "areas": [
# {
# "area_id": "0.0.0.100",
# "interfaces": [
# {
# "flood_reduction": true,
# "metric": 5,
# "name": "so-0/0/0.0",
# "passive": true,
# "priority": 3
# }
# ],
# "stub": {
# "default_metric": 200,
# "set": true
# }
# },
# {
# "area_id": "0.0.0.200",
# "interfaces": [
# {
# "name": "ge-1/1/0.0"
# },
# {
# "name": "ge-2/2/0.0"
# }
# ]
# }
# ],
# "router_id": "10.200.16.75"
# }
# ]
#
Значения возврата
Общие значения возврата документированы здесь, а ниже приведены поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| after словарь | при изменении | Результат вызова модели конфигурации. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| before словарь | всегда | Конфигурация до вызова модели. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| commands список / элементы=строка | всегда | Набор команд, отправленных на удалённое устройство. Пример: ['<nc:protocols xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <nc:ospf3 delete="delete"/> <nc:ospf3> <nc:area> <nc:name>0.0.0.100</nc:name> <nc:interface> <nc:name>so-0/0/0.0</nc:name> <nc:priority>3</nc:priority> <nc:flood-reduction/> <nc:metric>5</nc:metric> <nc:passive/> </nc:interface> <nc:stub> <nc:default-metric>200</nc:default-metric> </nc:stub> </nc:area> <nc:area> <nc:name>0.0.0.200</nc:name> <nc:interface> <nc:name>ge-1/1/0.0</nc:name> </nc:interface> <nc:interface> <nc:name>ge-2/2/0.0</nc:name> </nc:interface> </nc:area> </nc:ospf3> </nc:protocols>", " <nc:routing-options xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <nc:router-id delete="delete"/> <nc:router-id>10.200.16.75</nc:router-id> </nc:routing-options>', 'xml 2', 'xml 3'] |
Авторы
- Rohit Thakur (@rohitthakur2590)
© 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_ospfv3_module.html