eos_ospfv3¶
Collection Note
This module is part of the arista.eos collection. To install the collection, use:
Added in version1.1.0.
Synopsis¶
- This module configures and manages the attributes of ospfv3 on Arista EOS platforms.
Parameters¶
| Parameter | Defaults / Choices | Comments |
|---|---|---|
| config dict |
A list of configurations for ospfv3. | |
| config.processes | A list of dictionary specifying the ospfv3 processes. | |
| running_config str |
This option is used only with state I(parsed). The value of this option should be the output received from the EOS device by executing the command B(show running-config | section ospfv3). The state I(parsed) reads the configuration from C(running_config) option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the I(parsed) key within the result. |
|
| state str |
Default: merged Choices: deleted, merged, overridden, replaced, gathered, rendered, parsed |
The state the configuration should be left in. |
Notes¶
Note
- Tested against Arista EOS 4.24.6F
- This module works with connection C(network_cli). See the L(EOS Platform Options,../network/user_guide/platform_eos.html).
Examples¶
# Using merged
# Before state:
# -------------
# veos#show running-config | section ospfv3
# veos#
- name: Merge the provided configuration with the existing running configuration
arista.eos.eos_ospfv3:
config:
processes:
- address_family:
- timers:
lsa: 22
graceful_restart:
grace_period: 35
afi: "ipv6"
timers:
pacing: 55
fips_restrictions: true
router_id: "2.2.2.2"
vrf: "vrfmerge"
state: merged
# Task output:
# ------------
# before: {}
#
# commands:
# - router ospfv3 vrf vrfmerge
# - address-family ipv6
# - graceful-restart grace-period 35
# - timers lsa arrival 22
# - exit
# - timers pacing flood 55
# - fips restrictions
# - router-id 2.2.2.2
# - exit
#
# after:
# processes:
# - address_family:
# - afi: ipv6
# fips_restrictions: true
# graceful_restart:
# grace_period: 35
# fips_restrictions: true
# router_id: 2.2.2.2
# timers:
# pacing: 55
# vrf: vrfmerge
# After state:
# ------------
# veos#show running-config | section ospfv3
# router ospfv3 vrf vrfmerge
# router-id 2.2.2.2
# test
# fips restrictions
# timers pacing flood 55
# !
# address-family ipv6
# fips restrictions
# timers lsa arrival 22
# graceful-restart grace-period 35
# using replaced
# Before state:
# -------------
# veos#show running-config | section ospfv3
# router ospfv3
# fips restrictions
# area 0.0.0.0 encryption ipsec spi 43 esp null md5 passphrase 7 h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=
# !
# router ospfv3 vrf vrfmerge
# router-id 2.2.2.2
# fips restrictions
# timers pacing flood 55
# !
# address-family ipv6
# fips restrictions
# timers lsa arrival 22
# graceful-restart grace-period 35
- name: Replace a section of running config with provided config
arista.eos.eos_ospfv3:
config:
processes:
- areas:
- area_id: "0.0.0.0"
encryption:
spi: 43
encryption: "null"
algorithm: "md5"
encrypt_key: false
passphrase: "7hl8FV3lZ6H1mAKpjL47hQ=="
vrf: "default"
address_family:
- afi: "ipv4"
router_id: "7.1.1.1"
state: replaced
# Task output:
# ------------
# before:
# processes:
# - areas:
# - area_id: 0.0.0.0
# encryption:
# algorithm: md5
# encryption: 'null'
# hidden_key: true
# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER
# spi: 43
# fips_restrictions: true
# vrf: default
# - address_family:
# - afi: ipv6
# fips_restrictions: true
# graceful_restart:
# grace_period: 35
# fips_restrictions: true
# router_id: 2.2.2.2
# timers:
# pacing: 55
# vrf: vrfmerge
#
# commands:
# - router ospfv3 vrf vrfmerge
# - address-family ipv6
# - no fips restrictions
# - no graceful-restart
# - no timers lsa arrival 22
# - area 0.0.0.3 range 10.1.2.2/24 advertise
# - area 0.0.0.3 range 60.1.1.1 255.255.0.0 cost 30
# - exit
# - passive-interface default
# - no router-id
# - no fips restrictions
# - no timers pacing flood 55
# - exit
#
# after:
# processes:
# - areas:
# - area_id: 0.0.0.0
# encryption:
# algorithm: md5
# encryption: 'null'
# hidden_key: true
# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER
# spi: 43
# vrf: default
# - address_family:
# - afi: ipv6
# areas:
# - area_id: 0.0.0.3
# ranges:
# - address: 10.1.2.0/24
# - address: 60.1.0.0/16
# cost: 30
# passive_interface: true
# vrf: vrfmerge
# After state:
# ------------
# veos#show running-config | section ospfv3
# router ospfv3
# area 0.0.0.0 encryption ipsec spi 43 esp null md5 passphrase 7 h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=
# !
# router ospfv3 vrf vrfmerge
# passive-interface default
# !
# address-family ipv6
# area 0.0.0.3 range 10.1.2.0/24
# area 0.0.0.3 range 60.1.0.0/16 cost 30
# using overridden
# Before state:
# -------------
# veos#show running-config | section ospfv3
# router ospfv3
# area 0.0.0.0 encryption ipsec spi 43 esp null md5 passphrase 7 h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=
# !
# router ospfv3 vrf vrfmerge
# passive-interface default
# !
# address-family ipv6
# area 0.0.0.3 range 10.1.2.0/24
# area 0.0.0.3 range 60.1.0.0/16 cost 30
- name: Override running config with provided config
arista.eos.eos_ospfv3:
config:
processes:
- address_family:
- areas:
- area_id: "0.0.0.3"
ranges:
- address: 10.1.2.2/24
advertise: true
- address: 60.1.1.1
subnet_mask: 255.255.0.0
cost: 30
afi: "ipv6"
passive_interface: true
vrf: "vrfmerge"
state: overridden
# Task output:
# ------------
# before:
# processes:
# - areas:
# - area_id: 0.0.0.0
# encryption:
# algorithm: md5
# encryption: 'null'
# hidden_key: true
# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER
# spi: 43
# vrf: default
# - address_family:
# - afi: ipv6
# areas:
# - area_id: 0.0.0.3
# ranges:
# - address: 10.1.2.0/24
# - address: 60.1.0.0/16
# cost: 30
# passive_interface: true
# vrf: vrfmerge
#
# commands:
# - no router ospfv3
# - router ospfv3 vrf vrfmerge
# - address-family ipv6
# - no area 0.0.0.3 range 10.1.2.0/24
# - no area 0.0.0.3 range 60.1.0.0/16 cost 30
# - area 0.0.0.3 range 10.1.2.2/24 advertise
# - area 0.0.0.3 range 60.1.1.1 255.255.0.0 cost 30
# - exit
# - exit
#
# after:
# processes:
# - address_family:
# - afi: ipv6
# areas:
# - area_id: 0.0.0.3
# ranges:
# - address: 10.1.2.0/24
# - address: 60.1.0.0/16
# cost: 30
# passive_interface: true
# vrf: vrfmerge
# After state:
# ------------
# veos#show running-config | section ospfv3
# router ospfv3 vrf vrfmerge
# passive-interface default
# !
# address-family ipv6
# area 0.0.0.3 range 10.1.2.0/24
# area 0.0.0.3 range 60.1.0.0/16 cost 30
# using deleted
# Before state:
# -------------
# veos#show running-config | section ospfv3
# router ospfv3
# area 0.0.0.0 encryption ipsec spi 43 esp null md5 passphrase 7 h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=
# !
# router ospfv3 vrf vrfmerge
# passive-interface default
# !
# address-family ipv4
# redistribute connected
# redistribute static route-map MAP01
# area 0.0.0.3 range 10.1.2.0/24
# area 0.0.0.3 range 60.1.0.0/16 cost 30
# !
# address-family ipv6
# area 0.0.0.3 range 10.1.2.0/24
# area 0.0.0.3 range 60.1.0.0/16 cost 30
- name: Delete OSPFv3 config
arista.eos.eos_ospfv3:
config:
state: deleted
# Task output:
# ------------
# before:
# processes:
# - areas:
# - area_id: 0.0.0.0
# encryption:
# algorithm: md5
# encryption: 'null'
# hidden_key: true
# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER
# spi: 43
# vrf: default
# - address_family:
# - afi: ipv4
# areas:
# - area_id: 0.0.0.3
# ranges:
# - address: 10.1.2.0/24
# - address: 60.1.0.0/16
# cost: 30
# redistribute:
# - routes: connected
# - route_map: MAP01
# routes: static
# - afi: ipv6
# areas:
# - area_id: 0.0.0.3
# ranges:
# - address: 10.1.2.0/24
# - address: 60.1.0.0/16
# cost: 30
# passive_interface: true
# vrf: vrfmerge
#
# commands:
#
# - no router ospfv3
#
# after: {}
# After state:
# ------------
# veos#show running-config | section ospfv3
# router ospfv3 vrf vrfmerge
# passive-interface default
# !
# address-family ipv4
# redistribute connected
# redistribute static route-map MAP01
# area 0.0.0.3 range 10.1.2.0/24
# area 0.0.0.3 range 60.1.0.0/16 cost 30
# !
# address-family ipv6
# area 0.0.0.3 range 10.1.2.0/24
# area 0.0.0.3 range 60.1.0.0/16 cost 30
# using parsed
# parsed_ospfv3.cfg
# router ospfv3
# fips restrictions
# area 0.0.0.20 stub
# area 0.0.0.20 authentication ipsec spi 33 sha1 passphrase 7 4O8T3zo4xBdRWXBnsnK934o9SEb+jEhHUN6+xzZgCo2j9EnQBUvtwNxxLEmYmm6w
# area 0.0.0.40 default-cost 45
# area 0.0.0.40 stub
# timers pacing flood 7
# adjacency exchange-start threshold 11
# !
# address-family ipv4
# fips restrictions
# redistribute connected
# !
# address-family ipv6
# router-id 10.1.1.1
# fips restrictions
# !
# router ospfv3 vrf vrf01
# bfd all-interfaces
# fips restrictions
# area 0.0.0.0 encryption ipsec spi 256 esp null sha1 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ==
# log-adjacency-changes detail
# !
# address-family ipv4
# passive-interface default
# fips restrictions
# redistribute connected route-map MAP01
# maximum-paths 100
# !
# address-family ipv6
# fips restrictions
# area 0.0.0.10 nssa no-summary
# default-information originate route-map DefaultRouteFilter
# max-metric router-lsa external-lsa 25 summary-lsa
# !
# router ospfv3 vrf vrf02
# fips restrictions
# !
# address-family ipv6
# router-id 10.17.0.3
# distance ospf intra-area 200
# fips restrictions
# area 0.0.0.1 stub
# timers spf delay initial 56 56 56
# timers out-delay 10
- name: Parse the provided config
arista.eos.eos_ospfv3:
running_config: "{{ lookup('file', './parsed_ospfv3.cfg') }}"
state: parsed
# Task output:
# ------------
# parsed:
# processes:
# - address_family:
# - afi: ipv4
# fips_restrictions: true
# redistribute:
# - routes: connected
# - afi: ipv6
# fips_restrictions: true
# router_id: 10.1.1.1
# adjacency:
# exchange_start:
# threshold: 11
# areas:
# - area_id: 0.0.0.20
# authentication:
# algorithm: sha1
# hidden_key: true
# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER
# spi: 33
# stub:
# set: true
# - area_id: 0.0.0.40
# default_cost: 45
# stub:
# set: true
# fips_restrictions: true
# timers:
# pacing: 7
# vrf: default
# - address_family:
# - afi: ipv4
# fips_restrictions: true
# maximum_paths: 100
# passive_interface: true
# redistribute:
# - route_map: MAP01
# routes: connected
# - afi: ipv6
# areas:
# - area_id: 0.0.0.10
# nssa:
# no_summary: true
# default_information:
# originate: true
# route_map: DefaultRouteFilter
# fips_restrictions: true
# max_metric:
# router_lsa:
# external_lsa:
# max_metric_value: 25
# summary_lsa:
# set: true
# areas:
# - area_id: 0.0.0.0
# encryption:
# algorithm: sha1
# encryption: 'null'
# hidden_key: true
# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER
# spi: 256
# bfd:
# all_interfaces: true
# fips_restrictions: true
# log_adjacency_changes:
# detail: true
# vrf: vrf01
# - address_family:
# - afi: ipv6
# areas:
# - area_id: 0.0.0.1
# stub:
# set: true
# distance: 200
# fips_restrictions: true
# router_id: 10.17.0.3
# timers:
# out_delay: 10
# spf:
# initial: 56
# max: 56
# min: 56
# fips_restrictions: true
# vrf: vrf02
# using gathered
# native config:
# veos#show running-config | section ospfv3
# router ospfv3 vrf vrfmerge
# passive-interface default
# !
# address-family ipv4
# redistribute connected
# redistribute static route-map MAP01
# area 0.0.0.3 range 10.1.2.0/24
# area 0.0.0.3 range 60.1.0.0/16 cost 30
# !
# address-family ipv6
# area 0.0.0.3 range 10.1.2.0/24
# area 0.0.0.3 range 60.1.0.0/16 cost 30
- name: Gather running configuration
arista.eos.eos_ospfv3:
state: gathered
# Task output:
# ------------
# gathered:
# processes:
# - address_family:
# - afi: ipv4
# areas:
# - area_id: 0.0.0.3
# ranges:
# - address: 10.1.2.0/24
# - address: 60.1.0.0/16
# cost: 30
# redistribute:
# - routes: connected
# - route_map: MAP01
# routes: static
# - afi: ipv6
# areas:
# - area_id: 0.0.0.3
# ranges:
# - address: 10.1.2.0/24
# - address: 60.1.0.0/16
# cost: 30
# passive_interface: true
# vrf: vrfmerge
# using rendered
- name: render CLI commands for provided config
arista.eos.eos_ospfv3:
config:
processes:
- address_family:
- timers:
lsa: 22
graceful_restart:
grace_period: 35
afi: "ipv6"
timers:
pacing: 55
fips_restrictions: true
router_id: "2.2.2.2"
vrf: "vrfmerge"
state: rendered
# Task output:
# ------------
# rendered:
# - router ospfv3 vrf vrfmerge
# - address-family ipv6
# - graceful-restart grace-period 35
# - timers lsa arrival 22
# - exit
# - timers pacing flood 55
# - fips restrictions
# - router-id 2.2.2.2
# - exit
Return Values¶
| Key | Data Type | Description | Returned |
|---|---|---|---|
| after | dict | The resulting configuration after module execution. | when changed |
| before | dict | The configuration prior to the module execution. | when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) |
| commands | list | The set of commands pushed to the remote device. | when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) |
| gathered | dict | Facts about the network resource gathered from the remote device as structured data. | when I(state) is C(gathered) |
| parsed | dict | The device native config provided in I(running_config) option parsed into structured data as per module argspec. | when I(state) is C(parsed) |
| rendered | list | The provided configuration in the task rendered in device-native format (offline). | when I(state) is C(rendered) |
Authors¶
- Gomathi Selvi Srinivasan (@gomathiselvis)