eos_ospf_interfaces¶
Collection Note
This module is part of the arista.eos collection. To install the collection, use:
Added in version1.1.0.
Synopsis¶
- This module manages OSPF configuration of interfaces on devices running Arista EOS.
Parameters¶
| Parameter | Defaults / Choices | Comments |
|---|---|---|
| config list / elements=dict |
A list of OSPF configuration for interfaces. | |
| config.address_family | OSPF settings on the interfaces in address-family context. | |
| config.name | Name/Identifier of the interface. | |
| 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 interface). 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: merged, replaced, overridden, deleted, gathered, parsed, rendered |
The state the configuration should be left in. |
Examples¶
# Using merged
# Before state:
# -------------
# veos(config)#show running-config | section interface | ospf
# veos(config)#
- name: Merge provided configuration with device configuration
arista.eos.eos_ospf_interfaces:
config:
- name: "Vlan1"
address_family:
- afi: "ipv4"
area:
area_id: "0.0.0.50"
cost: 500
mtu_ignore: true
- afi: "ipv6"
dead_interval: 44
ip_params:
- afi: "ipv6"
mtu_ignore: true
network: "point-to-point"
state: merged
# Task output:
# ------------
# before: []
#
# commands:
# - interface Vlan1
# - ip ospf area 0.0.0.50
# - ip ospf cost 500
# - ip ospf mtu-ignore
# - ospfv3 dead-interval 44
# - ospfv3 ipv6 mtu-ignore
# - ospfv3 ipv6 network point-to-point
#
# after:
# - address_family:
# - afi: ipv4
# area:
# area_id: 0.0.0.50
# cost: 500
# mtu_ignore: true
# - afi: ipv6
# dead_interval: 44
# ip_params:
# - afi: ipv6
# mtu_ignore: true
# network: point-to-point
# name: Vlan1
# After state:
# ------------
# veos(config)#show running-config | section interface | ospf
# interface Vlan1
# ip ospf cost 500
# ip ospf mtu-ignore
# ip ospf area 0.0.0.50
# ospfv3 dead-interval 44
# ospfv3 ipv6 network point-to-point
# ospfv3 ipv6 mtu-ignore
# Using replaced
# Before state:
# -------------
# veos(config)#show running-config | section interface | ospf
# interface Vlan1
# ip ospf cost 500
# ip ospf dead-interval 29
# ip ospf hello-interval 66
# ip ospf mtu-ignore
# ip ospf area 0.0.0.50
# ospfv3 cost 106
# ospfv3 hello-interval 77
# ospfv3 dead-interval 44
# ospfv3 transmit-delay 100
# ospfv3 ipv4 priority 45
# ospfv3 ipv4 area 0.0.0.5
# ospfv3 ipv6 passive-interface
# ospfv3 ipv6 retransmit-interval 115
# ospfv3 ipv6 network point-to-point
# ospfv3 ipv6 mtu-ignore
# !
# interface Vlan2
# ospfv3 ipv4 hello-interval 45
# ospfv3 ipv4 retransmit-interval 100
# ospfv3 ipv4 area 0.0.0.6
- name: Replace device configuration with provided configuration
arista.eos.eos_ospf_interfaces:
config:
- name: "Vlan1"
address_family:
- afi: "ipv6"
cost: 44
bfd: true
ip_params:
- afi: "ipv6"
mtu_ignore: true
network: "point-to-point"
dead_interval: 56
state: replaced
# Task output:
# ------------
# before:
# - address_family:
# - afi: ipv4
# area:
# area_id: 0.0.0.50
# cost: 500
# dead_interval: 29
# hello_interval: 66
# mtu_ignore: true
# - afi: ipv6
# cost: 106
# dead_interval: 44
# hello_interval: 77
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.5
# priority: 45
# - afi: ipv6
# mtu_ignore: true
# network: point-to-point
# passive_interface: true
# retransmit_interval: 115
# transmit_delay: 100
# name: Vlan1
# - address_family:
# - afi: ipv6
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.6
# hello_interval: 45
# retransmit_interval: 100
# name: Vlan2
#
# commands:
# - interface Vlan1
# - no ip ospf cost 500
# - no ip ospf dead-interval 29
# - no ip ospf hello-interval 66
# - no ip ospf mtu-ignore
# - no ip ospf area 0.0.0.50
# - ospfv3 cost 44
# - ospfv3 bfd
# - ospfv3 authentication ipsec spi 30 md5 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ==
# - no ospfv3 ipv4 priority 45
# - no ospfv3 ipv4 area 0.0.0.5
# - ospfv3 ipv6 dead-interval 56
# - no ospfv3 ipv6 passive-interface
# - no ospfv3 ipv6 retransmit-interval 115
# - no ospfv3 hello-interval 77
# - no ospfv3 dead-interval 44
# - no ospfv3 transmit-delay 100
#
# after:
# - address_family:
# - afi: ipv6
# bfd: true
# cost: 44
# ip_params:
# - afi: ipv6
# mtu_ignore: true
# network: point-to-point
# name: Vlan1
# - address_family:
# - afi: ipv6
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.6
# hello_interval: 45
# retransmit_interval: 100
# name: Vlan2
# After state:
# ------------
# veos(config)#show running-config | section interface | ospf
# interface Vlan1
# ospfv3 bfd
# ospfv3 cost 44
# no ospfv3 ipv6 passive-interface
# ospfv3 ipv6 network point-to-point
# ospfv3 ipv6 mtu-ignore
# !
# interface Vlan2
# ospfv3 ipv4 hello-interval 45
# ospfv3 ipv4 retransmit-interval 100
# ospfv3 ipv4 area 0.0.0.6
# Using overidden
# Before state:
# -------------
# veos(config)#show running-config | section interface | ospf
# interface Vlan1
# ip ospf dead-interval 29
# ip ospf hello-interval 66
# ip ospf mtu-ignore
# ospfv3 bfd
# ospfv3 cost 106
# ospfv3 hello-interval 77
# ospfv3 transmit-delay 100
# ospfv3 ipv4 priority 45
# ospfv3 ipv4 area 0.0.0.5
# ospfv3 ipv6 passive-interface
# ospfv3 ipv6 dead-interval 56
# ospfv3 ipv6 retransmit-interval 115
# ospfv3 ipv6 network point-to-point
# ospfv3 ipv6 mtu-ignore
# !
# interface Vlan2
# ospfv3 ipv4 hello-interval 45
# ospfv3 ipv4 retransmit-interval 100
# ospfv3 ipv4 area 0.0.0.6
- name: Override device configuration with provided configuration
arista.eos.eos_ospf_interfaces:
config:
- name: "Vlan1"
address_family:
- afi: "ipv6"
cost: 44
bfd: true
ip_params:
- afi: "ipv6"
mtu_ignore: true
network: "point-to-point"
dead_interval: 56
state: overridden
# Task output:
# ------------
# before:
# - address_family:
# - afi: ipv4
# dead_interval: 29
# hello_interval: 66
# mtu_ignore: true
# - afi: ipv6
# bfd: true
# cost: 106
# hello_interval: 77
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.5
# priority: 45
# - afi: ipv6
# dead_interval: 56
# mtu_ignore: true
# network: point-to-point
# passive_interface: true
# retransmit_interval: 115
# transmit_delay: 100
# name: Vlan1
# - address_family:
# - afi: ipv6
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.6
# hello_interval: 45
# retransmit_interval: 100
# name: Vlan2
#
# commands:
# - interface Vlan2
# - no ospfv3 ipv4 hello-interval 45
# - no ospfv3 ipv4 retransmit-interval 100
# - no ospfv3 ipv4 area 0.0.0.6
# - interface Vlan1
# - no ip ospf dead-interval 29
# - no ip ospf hello-interval 66
# - no ip ospf mtu-ignore
# - ospfv3 cost 44
# - ospfv3 authentication ipsec spi 30 md5 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ==
# - no ospfv3 ipv4 priority 45
# - no ospfv3 ipv4 area 0.0.0.5
# - no ospfv3 ipv6 passive-interface
# - no ospfv3 ipv6 retransmit-interval 115
# - no ospfv3 hello-interval 77
# - no ospfv3 transmit-delay 100
#
# after:
# - address_family:
# - afi: ipv6
# bfd: true
# cost: 44
# ip_params:
# - afi: ipv6
# dead_interval: 56
# mtu_ignore: true
# network: point-to-point
# name: Vlan1
# After state:
# ------------
# veos(config)#show running-config | section interface | ospf
# interface Vlan1
# ospfv3 bfd
# ospfv3 cost 44
# no ospfv3 ipv6 passive-interface
# ospfv3 ipv6 dead-interval 56
# ospfv3 ipv6 network point-to-point
# ospfv3 ipv6 mtu-ignore
# Using deleted
# Before state:
# -------------
# veos(config)#show running-config | section interface | ospf
# interface Vlan1
# ip ospf dead-interval 29
# ip ospf hello-interval 66
# ip ospf mtu-ignore
# ospfv3 bfd
# ospfv3 cost 106
# ospfv3 hello-interval 77
# ospfv3 transmit-delay 100
# ospfv3 ipv4 priority 45
# ospfv3 ipv4 area 0.0.0.5
# ospfv3 ipv6 passive-interface
# ospfv3 ipv6 dead-interval 56
# ospfv3 ipv6 retransmit-interval 115
# ospfv3 ipv6 network point-to-point
# ospfv3 ipv6 mtu-ignore
# !
# interface Vlan2
# ospfv3 ipv4 hello-interval 45
# ospfv3 ipv4 retransmit-interval 100
# ospfv3 ipv4 area 0.0.0.6
- name: Delete provided ospf interface config
arista.eos.eos_ospf_interfaces:
config:
- name: "Vlan1"
state: deleted
# Task output:
# ------------
# before:
# - address_family:
# - afi: ipv4
# dead_interval: 29
# hello_interval: 66
# mtu_ignore: true
# - afi: ipv6
# bfd: true
# cost: 106
# hello_interval: 77
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.5
# priority: 45
# - afi: ipv6
# dead_interval: 56
# mtu_ignore: true
# network: point-to-point
# passive_interface: true
# retransmit_interval: 115
# transmit_delay: 100
# name: Vlan1
# - address_family:
# - afi: ipv6
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.6
# hello_interval: 45
# retransmit_interval: 100
# name: Vlan2
# commands:
# - interface Vlan1
# - no ip ospf dead-interval 29
# - no ip ospf hello-interval 66
# - no ip ospf mtu-ignore
# - no ospfv3 bfd
# - no ospfv3 cost 106
# - no ospfv3 hello-interval 77
# - no ospfv3 transmit-delay 100
# - no ospfv3 ipv4 priority 45
# - no ospfv3 ipv4 area 0.0.0.5
# - no ospfv3 ipv6 passive-interface
# - no ospfv3 ipv6 dead-interval 56
# - no ospfv3 ipv6 retransmit-interval 115
# - no ospfv3 ipv6 network point-to-point
# - no ospfv3 ipv6 mtu-ignore
#
# after:
# - address_family:
# - afi: ipv6
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.6
# hello_interval: 45
# retransmit_interval: 100
# name: Vlan2
# After state:
# ------------
# veos#show running-config | section interface | ospf
# interface Vlan2
# ospfv3 ipv4 hello-interval 45
# ospfv3 ipv4 retransmit-interval 100
# ospfv3 ipv4 area 0.0.0.6
# Using parsed
# parsed.cfg
# ----------
# interface Vlan1
# ip ospf dead-interval 29
# ip ospf hello-interval 66
# ip ospf mtu-ignore
# ip ospf cost 500
# ospfv3 bfd
# ospfv3 cost 106
# ospfv3 hello-interval 77
# ospfv3 transmit-delay 100
# ospfv3 ipv4 priority 45
# ospfv3 ipv4 area 0.0.0.5
# ospfv3 ipv6 passive-interface
# ospfv3 ipv6 dead-interval 56
# ospfv3 ipv6 retransmit-interval 115
# ospfv3 ipv6 network point-to-point
# ospfv3 ipv6 mtu-ignore
# !
# interface Vlan2
# ospfv3 ipv4 hello-interval 45
# ospfv3 ipv4 retransmit-interval 100
# ospfv3 ipv4 area 0.0.0.6
#
- name: parse provided config into structured facts
arista.eos.eos_ospf_interfaces:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
# Task output:
# ------------
# parsed:
# - address_family:
# - afi: ipv4
# cost: 500
# dead_interval: 29
# hello_interval: 66
# mtu_ignore: true
# - afi: ipv6
# bfd: true
# cost: 106
# hello_interval: 77
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.5
# priority: 45
# - afi: ipv6
# dead_interval: 56
# mtu_ignore: true
# network: point-to-point
# passive_interface: true
# retransmit_interval: 115
# transmit_delay: 100
# name: Vlan1
# - address_family:
# - afi: ipv6
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.6
# hello_interval: 45
# retransmit_interval: 100
# name: Vlan2
# Using gathered:
# Device config:
# veos#show running-config | section interface | ospf
# interface Vlan1
# ip ospf cost 500
# ip ospf dead-interval 29
# ip ospf hello-interval 66
# ip ospf mtu-ignore
# ip ospf area 0.0.0.50
# ospfv3 cost 106
# ospfv3 hello-interval 77
# ospfv3 transmit-delay 100
# ospfv3 ipv4 priority 45
# ospfv3 ipv4 area 0.0.0.5
# ospfv3 ipv6 passive-interface
# ospfv3 ipv6 dead-interval 56
# ospfv3 ipv6 retransmit-interval 115
# ospfv3 ipv6 network point-to-point
# ospfv3 ipv6 mtu-ignore
# !
# interface Vlan2
# ospfv3 ipv4 hello-interval 45
# ospfv3 ipv4 retransmit-interval 100
# ospfv3 ipv4 area 0.0.0.6
- name: gather runnig config
arista.eos.eos_ospf_interfaces:
state: gathered
# Task output:
# ------------
# gathered:
# - address_family:
# - afi: ipv4
# area:
# area_id: 0.0.0.50
# cost: 500
# dead_interval: 29
# hello_interval: 66
# mtu_ignore: true
# - afi: ipv6
# cost: 106
# hello_interval: 77
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.5
# priority: 45
# - afi: ipv6
# dead_interval: 56
# mtu_ignore: true
# network: point-to-point
# passive_interface: true
# retransmit_interval: 115
# transmit_delay: 100
# name: Vlan1
# - address_family:
# - afi: ipv6
# ip_params:
# - afi: ipv4
# area:
# area_id: 0.0.0.6
# hello_interval: 45
# retransmit_interval: 100
# name: Vlan2
# Using rendered
- name: Render provided configuration
arista.eos.eos_ospf_interfaces:
config:
- name: "Vlan1"
address_family:
- afi: "ipv4"
dead_interval: 29
mtu_ignore: true
hello_interval: 66
- afi: "ipv6"
hello_interval: 77
cost: 106
transmit_delay: 100
ip_params:
- afi: "ipv6"
retransmit_interval: 115
dead_interval: 56
passive_interface: true
- afi: "ipv4"
area:
area_id: "0.0.0.5"
priority: 45
- name: "Vlan2"
address_family:
- afi: "ipv6"
ip_params:
- afi: "ipv4"
area:
area_id: "0.0.0.6"
hello_interval: 45
retransmit_interval: 100
- afi: "ipv4"
message_digest_key:
key_id: 200
encryption: 7
key: "hkdfhtu=="
state: rendered
# Task output:
# ------------
# rendered:
# - interface Vlan1
# - ip ospf dead-interval 29
# - ip ospf mtu-ignore
# - ip ospf hello-interval 66
# - ospfv3 hello-interval 77
# - ospfv3 cost 106
# - ospfv3 transmit-delay 100
# - ospfv3 ipv4 area 0.0.0.5
# - ospfv3 ipv4 priority 45
# - ospfv3 ipv6 retransmit-interval 115
# - ospfv3 ipv6 dead-interval 56
# - ospfv3 ipv6 passive-interface
# - interface Vlan2
# - ip ospf message-digest-key 200 md5 7 hkdfhtu==
# - ospfv3 ipv4 area 0.0.0.6
# - ospfv3 ipv4 hello-interval 45
# - ospfv3 ipv4 retransmit-interval 100
Return Values¶
| Key | Data Type | Description | Returned |
|---|---|---|---|
| after | list | The resulting configuration after module execution. | when changed |
| before | list | 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 | list | Facts about the network resource gathered from the remote device as structured data. | when I(state) is C(gathered) |
| parsed | list | 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)