junipernetworks.junos.junos_ospfv3 模块 – OSPFv3 资源模块
注意
此模块是 junipernetworks.junos 集合(版本 9.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install junipernetworks.junos
。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:junipernetworks.junos.junos_ospfv3
。
junipernetworks.junos 1.2.0 中的新增功能
概要
此模块管理运行 Juniper JUNOS 的设备上的全局 OSPFv3 配置。
要求
在执行此模块的主机上需要以下要求。
ncclient (>=v0.6.4)
xmltodict (>=0.12.0)
参数
参数 |
注释 |
---|---|
OSPFv3 进程配置的列表。 |
|
OSPFv3 区域配置的列表。 |
|
区域 ID,可以是整数或 IP 地址。 |
|
配置区域的地址范围。 |
|
此区域中的接口列表。 |
|
指定身份验证类型 |
|
要使用的身份验证类型。 |
|
指定基于带宽的指标列表 |
|
应用指标的带宽。 选项
|
|
指定指标 |
|
启用洪泛减少。 选项
|
|
应用于接口的指标。 |
|
接口的名称。 |
|
指定被动 选项
|
|
接口的优先级。 |
|
指定计时器 |
|
死亡间隔(秒)。 |
|
Hello 间隔(秒)。 |
|
轮询间隔(秒)。 |
|
重传间隔(秒)。 |
|
传输延迟(秒)。 |
|
用于将区域配置为存根的设置。 |
|
此区域中默认路由的指标。 |
|
将区域配置为存根。 选项
|
|
外部路由的首选项。 |
|
指定过载模式重置的时间 |
|
过载模式重置后的时间(秒)。 |
|
内部路由的首选项。 |
|
可以导出的最大外部前缀数。 |
|
用于计算指标默认值的带宽。 选项
|
|
设置 RFC1583 兼容性 选项
|
|
OSPFv3 路由器 ID。 |
|
配置 SPF 的选项。 |
|
运行 SPF 之前等待的时间(秒)。 |
|
运行 SPF 之前保持的时间(秒)。 |
|
保持之前最大快速 SPF 运行次数(秒)。 |
|
此选项仅与状态*parsed* 一起使用。 此选项的值应该是通过执行命令 show protocols ospf 从 Junos 设备接收的输出。 状态 *parsed* 从 |
|
配置应处于的状态。 选项
|
注释
注意
此模块要求在被管理的设备上启用 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
interfaces:
- metric: 5
name: so-0/0/0.0
priority: 3
- metric: 6
name: so-0/0/1.0
priority: 2
stub:
default_metric: 200
set: true
state: merged
# Task Output:
# ------------
#
# before: []
#
# commands:
# - <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:metric>5</nc:metric></nc:interface><nc:interface>
# <nc:name>so-0/0/1.0</nc:name><nc:priority>2</nc:priority><nc:metric>6</nc:metric>
# </nc:interface><nc:stub><nc:default-metric>200</nc:default-metric></nc:stub></nc:area></nc:ospf3></nc:protocols>
# - <nc:routing-options xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# <nc:router-id>10.200.16.75</nc:router-id></nc:routing-options>
#
# after:
# - areas:
# - area_id: 0.0.0.100
# interfaces:
# - metric: 5
# name: so-0/0/0.0
# priority: 3
# - metric: 6
# name: so-0/0/1.0
# priority: 2
# stub:
# default_metric: 200
# set: true
# router_id: 10.200.16.75
# After state
# -----------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
# stub default-metric 200;
# interface so-0/0/0.0 {
# metric 5;
# priority 3;
# }
# interface so-0/0/1.0 {
# metric 6;
# priority 2;
# }
# }
#
# Using replaced
#
# Before state
# ------------
#
# admin# show protocols ospf3
# admin# show protocols ospf3
# area 0.0.0.100 {
# stub default-metric 200;
# interface so-0/0/0.0 {
# metric 5;
# priority 3;
# }
# interface so-0/0/1.0 {
# metric 6;
# priority 2;
# }
# }
- name: Replace existing Junos OSPFv3 config with provided 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
# Task Output:
# ------------
#
# before:
# - areas:
# - area_id: 0.0.0.100
# interfaces:
# - metric: 5
# name: so-0/0/0.0
# priority: 3
# - metric: 6
# name: so-0/0/1.0
# priority: 2
# stub:
# default_metric: 200
# set: true
# router_id: 10.200.16.75
#
# commands:
# - <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 delete="delete">
# <nc:name>so-0/0/0.0</nc:name></nc:interface></nc:area></nc:ospf3><nc:ospf3>
# <nc:area><nc:name>0.0.0.100</nc:name><nc:interface><nc:name>so-0/0/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>10.200.16.75</nc:router-id><nc:router-id>10.200.16.75</nc:router-id></nc:routing-options>
#
# after:
# - areas:
# - area_id: 0.0.0.100
# interfaces:
# - metric: 6
# name: so-0/0/1.0
# priority: 2
# - name: so-0/0/0.0
# stub:
# default_metric: 200
# set: true
# router_id: 10.200.16.75
#
# After state
# -----------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
# stub default-metric 200;
# interface so-0/0/1.0 {
# metric 6;
# priority 2;
# }
# interface so-0/0/0.0;
# }
#
# Using overridden
#
# Before state
# ------------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
# stub default-metric 200;
# interface so-0/0/1.0 {
# metric 6;
# priority 2;
# }
# interface so-0/0/0.0;
# }
- name: Override runnig OSPFv3 config with provided 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
# Task Output:
# ------------
#
# before:
# - areas:
# - area_id: 0.0.0.100
# interfaces:
# - metric: 6
# name: so-0/0/1.0
# priority: 2
# - name: so-0/0/0.0
# stub:
# default_metric: 200
# set: true
# router_id: 10.200.16.75
#
# 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>
#
# after:
# - 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 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
# ------------
#
# 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;
# }
- name: Delete OSPFv3 running config.
junipernetworks.junos.junos_ospfv3:
config:
state: deleted
# Task Output:
# ------------
#
# before:
# - 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
#
# commands:
# - <nc:protocols xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# <nc:ospf3 delete="delete"/></nc:protocols>
# - <nc:routing-options xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# <nc:router-id delete="delete"/></nc:routing-options>
#
# after: []
#
#
# After state
# -----------
#
# admin# show protocols ospf3
# Using gathered
#
# Before state
# ------------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
# stub default-metric 200;
# interface so-0/0/0.0 {
# metric 5;
# priority 3;
# }
# interface so-0/0/1.0 {
# metric 6;
# priority 2;
# }
- name: Gather Junos OSPFv3 running-configuration
junipernetworks.junos.junos_ospfv3:
config:
state: gathered
#
#
# Task Output:
# ------------
#
# gathered:
#
# - areas:
# - area_id: 0.0.0.100
# interfaces:
# - metric: 5
# name: so-0/0/0.0
# priority: 3
# - metric: 6
# name: so-0/0/1.0
# priority: 2
# stub:
# default_metric: 200
# set: true
# router_id: 10.200.16.75
# Using parsed
# parsed.cfg
# ------------
# <?xml version="1.0" encoding="UTF-8"?>
# <rpc-reply message-id="urn:uuid:0cadb4e8-5bba-47f4-986e-72906227007f">
# <configuration changed-seconds="1590139550" changed-localtime="2020-05-22 09:25:50 UTC">
# <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>
# </rpc-reply>
- name: Parsed the ospfv3 config into structured ansible resource facts.
junipernetworks.junos.junos_ospfv3:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
#
# Task Output:
# ------------
#
# parsed:
# - 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
# 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
interfaces:
- metric: 5
name: so-0/0/0.0
priority: 3
- metric: 6
name: so-0/0/1.0
priority: 2
stub:
default_metric: 200
set: true
state: rendered
# Task Output:
# ------------
#
# 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:metric>5</nc:metric></nc:interface><nc:interface><nc:name>so-0/0/1.0</nc:name>
# <nc:priority>2</nc:priority><nc:metric>6</nc:metric></nc:interface><nc:stub>
# <nc:default-metric>200</nc:default-metric></nc:stub></nc:area></nc:ospf3></nc:protocols>"
返回值
常见的返回值记录在这里,以下是此模块特有的字段
键 |
描述 |
---|---|
模块调用后产生的配置。 返回值: 当发生更改时 示例: |
|
模块调用之前的配置。 返回值: 始终 示例: |
|
推送到远程设备的命令集。 返回值: 始终 示例: |
|
从远程设备收集的关于网络资源的结构化数据的事实。 返回值: 当state为 示例: |
|
根据模块参数规范,将running_config选项中提供的设备原生配置解析为结构化数据。 返回值: 当state为 示例: |
|
任务中提供的配置以设备原生格式呈现(离线)。 返回值: 当state为 示例: |