junipernetworks.junos.junos_ospfv3 – OSPFv3 resource module¶
Note
This plugin is part of the junipernetworks.junos collection (version 1.3.0).
To install it use: ansible-galaxy collection install junipernetworks.junos.
To use it in a playbook, specify: junipernetworks.junos.junos_ospfv3.
New in version 1.2.0: of junipernetworks.junos
Synopsis¶
This module manages global OSPFv3 configuration on devices running Juniper JUNOS.
Note
This module has a corresponding action plugin.
Requirements¶
The below requirements are needed on the host that executes this module.
ncclient (>=v0.6.4)
xmltodict (>=0.12.0)
Parameters¶
Notes¶
Note
This module requires the netconf system service be enabled on the device being managed.
This module works with connection
netconf. See the Junos OS Platform Options.Tested against JunOS v18.4R1
Examples¶
# 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"
# }
# ]
#
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Authors¶
Rohit Thakur (@rohitthakur2590)