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)