arista.eos.eos_ospfv2 模块 – OSPFv2 资源模块

注意

此模块是 arista.eos 集合 (版本 10.0.1) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install arista.eos

要在剧本中使用它,请指定: arista.eos.eos_ospfv2

arista.eos 1.0.0 中的新增功能

摘要

  • 此模块配置和管理 Arista EOS 平台上 ospfv2 的属性。

参数

参数

注释

config

字典

ospfv2 的配置列表。

processes

列表 / 元素=字典

指定 ospfv2 进程的字典列表。

adjacency

字典

配置 OSPF 实例的邻接选项。

exchange_start

字典

配置 OSPF 实例的 exchange-start 选项。

threshold

整数

同时启动的邻居数量。

areas

列表 / 元素=字典

指定 OSPF 区域的配置。

area_id

字符串

指定以十进制或点分十进制表示的 32 位数字。

default_cost

整数

指定 stub/NSSA 区域中默认汇总路由的开销。

filter

字典

指定传入汇总 LSA 的过滤器。

address

字符串

IP 地址。

prefix_list

字符串

指定用于过滤传入 LSA 的列表。

subnet_address

字符串

带有掩码长度的 IP 地址

subnet_mask

字符串

IP 子网掩码

not_so_stubby

字典

配置 NSSA 参数。

default_information_originate

字典

启动默认类型 7 LSA。

metric

整数

默认路由的度量。

metric_type

整数

默认路由的度量类型。

nssa_only

布尔值

将默认通告限制为此 NSSA 区域。

选项

  • false

  • true

lsa

布尔值

lsa 参数

选项

  • false

  • true

no_summary

布尔值

过滤 nssa 区域中的所有类型 3 LSA。

选项

  • false

  • true

nssa_only

布尔值

禁用类型 7 LSA p 位设置

选项

  • false

  • true

set

布尔值

将配置设置为 not-so-stubby

选项

  • false

  • true

nssa

字典

配置 NSSA 参数。

default_information_originate

字典

启动默认类型 7 LSA。

metric

整数

默认路由的度量。

metric_type

整数

默认路由的度量类型。

nssa_only

布尔值

将默认通告限制为此 NSSA 区域。

选项

  • false

  • true

no_summary

布尔值

过滤 nssa 区域中的所有类型 3 LSA。

选项

  • false

  • true

nssa_only

布尔值

禁用类型 7 LSA p 位设置

选项

  • false

  • true

set

布尔值

将配置设置为 nssa

选项

  • false

  • true

range

字典

配置路由汇总。

address

字符串

IP 地址。

advertise

布尔值

启用范围通告。

选项

  • false

  • true

cost

整数

配置度量。

subnet_address

字符串

带有掩码长度的 IP 地址

subnet_mask

字符串

IP 子网掩码

stub

字典

Stub 区域。

no_summary

布尔值

如果为 False,则过滤 stub 区域中的所有类型 3 LSA。

选项

  • false

  • true

set

布尔值

如果为 true,则仅设置 stub 配置。

选项

  • false

  • true

auto_cost

字典

设置 auto-cost。

reference_bandwidth

整数

以兆位每秒为单位的参考带宽。

bfd

字典

启用 BFD。

all_interfaces

布尔值

在所有接口上启用 BFD。

选项

  • false

  • true

default_information

字典

控制默认信息的分配。

always

布尔值

始终通告默认路由。

选项

  • false

  • true

metric

整数

默认路由的度量。

metric_type

整数

默认路由的度量类型。

originate

布尔值

分配默认路由。

选项

  • false

  • true

route_map

字符串

指定要使用的路由映射。

default_metric

整数

配置重新分配路由的默认度量。

distance

字典

指定路由的管理距离。

external

整数

区域外部的路由

inter_area

整数

来自其他区域的路由

intra_area

整数

区域内的路由

distribute_list

字典

指定要过滤的路由列表。

prefix_list

字符串

要过滤的前缀列表

route_map

字符串

要过滤的路由映射

dn_bit_ignore

布尔值

如果为 true,则禁用非默认 VRF 中类型 3 LSA 的 dn 位检查。

选项

  • false

  • true

fips_restrictions

字符串

使用符合 FIPS 的算法

graceful_restart

字典

启用优雅重启模式。

grace_period

整数

指定等待优雅重启完成的最大时间。

set

布尔值

如果为 true,则仅设置 grace_fulrestart 配置。

选项

  • false

  • true

graceful_restart_helper

布尔值

如果为 true,则启用优雅重启助手。

选项

  • false

  • true

log_adjacency_changes

字典

配置 OSPFv2 邻居的链路状态更改和转换。

detail

布尔值

如果为 true,则配置交换机以记录所有链路状态更改。

选项

  • false

  • true

max_lsa

字典

指定交换机达到最大 lsa 计数时的行为。

count

整数

lsa 的最大数量。

ignore_count

整数

交换机在警告时可以暂时关闭的次数。

ignore_time

整数

分钟数,交换机在最大 lsa 警告时应关闭的时间。

reset_time

整数

分钟数,关闭计数器重置后的时间。

threshold

整数

<count> 的百分比,达到此百分比时应发出警告。

warning

布尔值

仅在超过限制时发出警告消息。

选项

  • false

  • true

max_metric

字典

设置最大度量。

router_lsa

字典

自启动路由 LSA 中的最大度量。

external_lsa

字典

用 max-metric 值覆盖 external-lsa 度量。

max_metric_value

整数

为外部 LSA 设置最大度量值。

set

布尔值

设置 external-lsa 属性。

选项

  • false

  • true

include_stub

布尔值

为路由 LSA 中的 stub 链路设置最大度量。

选项

  • false

  • true

on_startup

字典

重启后暂时设置最大度量。

wait_period

整数

启动后等待时间(秒)。

set

布尔值

设置 router-lsa 属性。

选项

  • false

  • true

summary_lsa

字典

用 max-metric 值覆盖 summary-lsa 度量。

max_metric_value

整数

为外部 LSA 设置最大度量值。

set

布尔值

设置 external-lsa 属性。

选项

  • false

  • true

maximum_paths

整数

ECMP 路由中下一跳的最大数量。

mpls_ldp

布尔值

mpls ldp 同步配置。

选项

  • false

  • true

networks

列表 / 元素=字典

配置网络路由。

区域

字符串

配置OSPF区域。

掩码

字符串

网络通配符掩码。

网络地址

字符串

网络地址。

前缀

字符串

前缀。

被动接口

字典

包含接口,但不主动运行OSPF。

默认

布尔值

如果为真,则默认将所有接口设置为被动。

选项

  • false

  • true

接口列表

字符串

接口范围。

点到点

布尔值

配置点到点特定功能。

选项

  • false

  • true

进程ID

整数

OSPFv2进程的ID。

重新分发

列表 / 元素=字典

指定要重新分发的路由。

ISIS级别

字符串

ISIS级别。

route_map

字符串

指定要使用的路由映射。

路由

字符串

路由类型(BGP、ISIS、连接等)。

重传阈值

整数

配置重传阈值。

rfc1583兼容性

布尔值

指定计算汇总路由度量不同的方法。

选项

  • false

  • true

路由器ID

字符串

分配给运行OSPFv2的路由器的32位数字。

关闭

布尔值

禁用OSPF实例。

选项

  • false

  • true

汇总地址

字典

汇总路由配置。

address

字符串

IP汇总地址。

属性映射

字符串

设置汇总路由的属性。

掩码

字符串

汇总掩码。

不广告

布尔值

不要通告汇总路由。

选项

  • false

  • true

前缀

字符串

前缀。

标签

整数

设置标签。

计时器

列表 / 元素=字典

配置OSPF计时器。

lsa

字典

配置OSPF LSA计时器。

接收

字典

配置OSPF LSA接收计时器。

最小间隔

整数

配置OSPF LSA到达计时器。

发送

字典

配置OSPF LSA传输计时器。

延迟

字典

配置OSPF LSA传输延迟。

初始

整数

以毫秒为单位延迟生成LSA的第一次出现。

最大

整数

以毫秒为单位,两次生成相同LSA之间的最大延迟。

最小

整数

以毫秒为单位,两次生成相同LSA之间的最小延迟。

输出延迟

整数

配置输出延迟计时器。

配速

整数

配置OSPF数据包配速。

SPF

字典

配置SPF计时器。

初始

整数

以毫秒为单位的初始SPF调度延迟。

最大

整数

以毫秒为单位的两次SPF之间的最大等待时间。

最小

整数

以毫秒为单位的两次SPF之间的最小保持时间。

整数

秒。

限流

字典

配置限流计时器(仅适用于eos版本< 4.23)。

属性

字符串

限流属性。

初始

整数

以毫秒为单位的初始调度延迟。

最大

整数

最大等待时间。

最小

整数

最小保持时间。

流量工程

布尔值

进入流量工程配置模式。

选项

  • false

  • true

VRF

字符串

VRF名称。

运行配置

字符串

此选项仅与状态 *parsed* 一起使用。

此选项的值应为通过执行命令 **show running-config | section ospf** 从EOS设备接收到的输出。

状态 *parsed* 从 running_config 选项读取配置,并根据资源模块的argspec将其转换为Ansible结构化数据,然后在结果中的 *parsed* 密钥中返回该值。

状态

字符串

配置应保留的状态。

选项

  • “已删除”

  • "merged" ← (默认)

  • “已覆盖”

  • “已替换”

  • “已收集”

  • “已呈现”

  • “已解析”

注释

注意

  • 针对Arista EOS 4.24.6F进行了测试。

  • 此模块与连接 network_cli 一起使用。请参阅 EOS平台选项

示例

# Using merged

# Before state:
# -------------
# localhost#show running-config | section ospf
# localhost#

- name: Merge provided config into running config
  arista.eos.eos_ospfv2:
    config:
      - processes:
          - process_id: 1
            adjacency:
              exchange_start:
                threshold: 20045623
            areas:
              - filter:
                  address: "10.1.1.0/24"
                id: "0.0.0.2"
              - id: "0.0.0.50"
                range:
                  address: "172.20.0.0/16"
                  cost: 34
            default_information:
              metric: 100
              metric_type: 1
              originate: true
            distance:
              intra_area: 85
            max_lsa:
              count: 8000
              ignore_count: 3
              ignore_time: 6
              reset_time: 20
              threshold: 40
            networks:
              - area: "0.0.0.0"
                prefix: 10.10.2.0/24
              - area: "0.0.0.0"
                prefix: "10.10.3.0/24"
            redistribute:
              - routes: "static"
            router_id: "170.21.0.4"
          - process_id: 2
            vrf: "vrf01"
            areas:
              - id: "0.0.0.9"
                default_cost: 20
            max_lsa:
              count: 8000
              ignore_count: 3
              ignore_time: 6
              reset_time: 20
              threshold: 40
            networks:
              - area: "0.0.0.0"
                prefix: 10.10.2.0/24
              - area: "0.0.0.0"
                prefix: "10.10.3.0/24"
            redistribute:
              - routes: "static"
            router_id: "170.21.0.4"
          - process_id: 2
            vrf: "vrf01"
            areas:
              - id: "0.0.0.9"
                default_cost: 20
            max_lsa:
              count: 8000
              ignore_count: 3
              ignore_time: 6
              reset_time: 20
              threshold: 40
          - process_id: 3
            vrf: "vrf02"
            redistribute:
              - routes: "connected"

# Task output:
# ------------
#  before: {}

# commands
# - router ospf 1
# - adjacency exchange-start threshold 20045623
# - area 0.0.0.2 filter 10.1.1.0/24
# - area 0.0.0.50  range 172.20.0.0/16 cost 34
# - default-information originate metric 100 metric-type 1
# - distance ospf intra-area 85
# - max-lsa  8000 40 ignore-count 3  ignore-time 6  reset-time 20
# - network 10.10.2.0/24 area 0.0.0.0
# - network 10.10.3.0/24 area 0.0.0.0
# - redistribute static
# - router-id 170.21.0.4
# - exit
# - router ospf 2 vrf vrf01
# - area 0.0.0.9 default-cost 20
# - max-lsa  8000 40 ignore-count 3  ignore-time 6  reset-time 20
# - network 10.10.2.0/24 area 0.0.0.0
# - network 10.10.3.0/24 area 0.0.0.0
# - redistribute static
# - router-id 170.21.0.4
# - exit
# - router ospf 2 vrf vrf01
# - area 0.0.0.9 default-cost 20
# - max-lsa  8000 40 ignore-count 3  ignore-time 6  reset-time 20
# - exit
# - router ospf 3 vrf vrf02
# - redistribute connected
# - exit
#
# after:
#     processes:
#     - adjacency:
#         exchange_start:
#           threshold: 20045623
#       areas:
#       - area_id: 0.0.0.2
#         filter:
#           address: 10.1.1.0/24
#       - area_id: 0.0.0.50
#         range:
#           address: 172.20.0.0/16
#           cost: 34
#       default_information:
#         metric: 100
#         metric_type: 1
#         originate: true
#       distance:
#         intra_area: 85
#       max_lsa:
#         count: 8000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       networks:
#       - area: 0.0.0.0
#         prefix: 10.10.2.0/24
#       - area: 0.0.0.0
#         prefix: 10.10.3.0/24
#       process_id: 1
#       redistribute:
#       - routes: static
#       router_id: 170.21.0.4
#     - areas:
#       - area_id: 0.0.0.9
#         default_cost: 20
#       max_lsa:
#         count: 8000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       process_id: 2
#       vrf: vrf01
#     - max_lsa:
#         count: 12000
#       process_id: 3
#       redistribute:
#       - routes: connected
#       vrf: vrf02

# After state:
# ------------
# localhost#show running-config | section ospf
# router ospf 1
#    router-id 170.21.0.4
#    distance ospf intra-area 85
#    redistribute static
#    area 0.0.0.2 filter 10.1.1.0/24
#    area 0.0.0.50 range 172.20.0.0/16 cost 34
#    network 10.10.2.0/24 area 0.0.0.0
#    network 10.10.3.0/24 area 0.0.0.0
#    max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20
#    adjacency exchange-start threshold 20045623
#    default-information originate metric 100 metric-type 1
#
# router ospf 2 vrf vrf01
#    area 0.0.0.9 default-cost 20
#    max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20
# !
# router ospf 3 vrf vrf02
#    redistribute connected
#    max-lsa 12000

# Using replaced

# Before State:
# -------------
# localhost#show running-config | section ospf
# router ospf 1
#    router-id 170.21.0.4
#    distance ospf intra-area 85
#    redistribute static
#    area 0.0.0.2 filter 10.1.1.0/24
#    area 0.0.0.50 range 172.20.0.0/16 cost 34
#    network 10.10.2.0/24 area 0.0.0.0
#    network 10.10.3.0/24 area 0.0.0.0
#    max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20
#    adjacency exchange-start threshold 20045623
#    default-information originate metric 100 metric-type 1
# !
# router ospf 2 vrf vrf01
#    area 0.0.0.9 default-cost 20
#    max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20
# !
# router ospf 3 vrf vrf02
#    redistribute connected
#    max-lsa 12000
#
- name: replace Ospf configs
  arista.eos.eos_ospfv2:
    config:
      - processes:
          - process_id: 2
            vrf: "vrf01"
            point_to_point: true
            redistribute:
              - routes: "isis"
                isis_level: "level-1"
    state: replaced

# Task output:
# ------------
# before:
#     processes:
#     - adjacency:
#         exchange_start:
#           threshold: 20045623
#       areas:
#       - area_id: 0.0.0.2
#         filter:
#           address: 10.1.1.0/24
#       - area_id: 0.0.0.50
#         range:
#           address: 172.20.0.0/16
#           cost: 34
#       default_information:
#         metric: 100
#         metric_type: 1
#         originate: true
#       distance:
#         intra_area: 85
#       max_lsa:
#         count: 8000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       networks:
#       - area: 0.0.0.0
#         prefix: 10.10.2.0/24
#       - area: 0.0.0.0
#         prefix: 10.10.3.0/24
#       process_id: 1
#       redistribute:
#       - routes: static
#       router_id: 170.21.0.4
#     - areas:
#       - area_id: 0.0.0.9
#         default_cost: 20
#       max_lsa:
#         count: 8000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       process_id: 2
#       vrf: vrf01
#     - max_lsa:
#         count: 12000
#       process_id: 3
#       redistribute:
#       - routes: connected
#       vrf: vrf02
#
# commands:
# - router ospf 2 vrf vrf01
# - no area 0.0.0.9 default-cost 20
# - no max-lsa  8000 40 ignore-time 6  ignore-count 3  reset-time 20
# - point-to-point routes
# - redistribute isis level-1
#
# after:
#     processes:
#     - adjacency:
#         exchange_start:
#           threshold: 20045623
#       areas:
#       - area_id: 0.0.0.2
#         filter:
#           address: 10.1.1.0/24
#       - area_id: 0.0.0.50
#         range:
#           address: 172.20.0.0/16
#           cost: 34
#       default_information:
#         metric: 100
#         metric_type: 1
#         originate: true
#       distance:
#         intra_area: 85
#       max_lsa:
#         count: 8000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       networks:
#       - area: 0.0.0.0
#         prefix: 10.10.2.0/24
#       - area: 0.0.0.0
#         prefix: 10.10.3.0/24
#       process_id: 1
#       redistribute:
#       - routes: static
#       router_id: 170.21.0.4
#     - max_lsa:
#         count: 12000
#       process_id: 2
#       redistribute:
#       - isis_level: level-1
#         routes: isis
#       vrf: vrf01
#     - max_lsa:
#         count: 12000
#       process_id: 3
#       redistribute:
#       - routes: connected
#       vrf: vrf02

# After state:
# ------------
# localhost#show running-config | section ospf
# router ospf 1
#    router-id 170.21.0.4
#    distance ospf intra-area 85
#    redistribute static
#    area 0.0.0.2 filter 10.1.1.0/24
#    area 0.0.0.50 range 172.20.0.0/16 cost 34
#    network 10.10.2.0/24 area 0.0.0.0
#    network 10.10.3.0/24 area 0.0.0.0
#    max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20
#    adjacency exchange-start threshold 20045623
#    default-information originate metric 100 metric-type 1
# !
# router ospf 2 vrf vrf01
#    redistribute isis level-1
#    max-lsa 12000
# !
# router ospf 3 vrf vrf02
#    redistribute connected
#    max-lsa 12000

# Using overridden

# Before state:
# -------------
# localhost#show running-config | section ospf
# router ospf 1
#    router-id 170.21.0.4
#    distance ospf intra-area 85
#    redistribute static
#    area 0.0.0.2 filter 10.1.1.0/24
#    area 0.0.0.50 range 172.20.0.0/16 cost 34
#    network 10.10.2.0/24 area 0.0.0.0
#    network 10.10.3.0/24 area 0.0.0.0
#    max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20
#    adjacency exchange-start threshold 20045623
#    default-information originate metric 100 metric-type 1
# !
# router ospf 2 vrf vrf01
#    redistribute isis level-1
#    max-lsa 12000
# !
# router ospf 3 vrf vrf02
#    redistribute connected
#    max-lsa 12000

- name: override running config with provided config
  arista.eos.eos_ospfv2:
    config:
      - processes:
          - process_id: 2
            vrf: "vrf01"
            redistribute:
              - routes: "connected"
    state: overriden

# Task output:
# ------------

# before:
#     processes:
#     - adjacency:
#         exchange_start:
#           threshold: 20045623
#       areas:
#       - area_id: 0.0.0.2
#         filter:
#           address: 10.1.1.0/24
#       - area_id: 0.0.0.50
#         range:
#           address: 172.20.0.0/16
#           cost: 34
#       default_information:
#         metric: 100
#         metric_type: 1
#         originate: true
#       distance:
#         intra_area: 85
#       max_lsa:
#         count: 8000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       networks:
#       - area: 0.0.0.0
#         prefix: 10.10.2.0/24
#       - area: 0.0.0.0
#         prefix: 10.10.3.0/24
#       process_id: 1
#       redistribute:
#       - routes: static
#       router_id: 170.21.0.4
#     - max_lsa:
#         count: 12000
#       process_id: 2
#       redistribute:
#       - isis_level: level-1
#         routes: isis
#       vrf: vrf01
#     - max_lsa:
#         count: 12000
#       process_id: 3
#       redistribute:
#       - routes: connected
#       vrf: vrf02
#
# commands:
# - no router ospf 1
# - no router ospf 3
# - router ospf 2 vrf vrf01
# - no max-lsa  12000
# - no redistribute isis level-1
# - redistribute connected
#
# after:
#     processes:
#     - max_lsa:
#         count: 12000
#       process_id: 2
#       redistribute:
#       - isis_level: level-1
#         routes: isis
#       vrf: vrf01

# After state:
# ------------
# localhost#show running-config | section ospf
# router ospf 2 vrf vrf01
#    redistribute isis level-1
#    max-lsa 12000
# !

# Using deleted

# Before state:
# -------------
# localhost#show running-config | section ospf
# router ospf 1
#    router-id 170.21.0.4
#    distance ospf intra-area 85
#    redistribute static
#    area 0.0.0.2 filter 10.1.1.0/24
#    area 0.0.0.50 range 172.20.0.0/16 cost 34
#    network 10.10.2.0/24 area 0.0.0.0
#    network 10.10.3.0/24 area 0.0.0.0
#    max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20
#    adjacency exchange-start threshold 20045623
#    default-information originate metric 100 metric-type 1
# !
# router ospf 2 vrf vrf01
#    redistribute connected
#    area 0.0.0.9 default-cost 20
#    max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20
# !
# router ospf 3 vrf vrf02
#    redistribute connected
#    max-lsa 12000
#
- name: Delete OSPF config
  arista.eos.eos_ospfv2:
    config:
      processes:
        - process_id: 1
    state: deleted

# Task output:
# ------------
# before:
#     processes:
#     - adjacency:
#         exchange_start:
#           threshold: 20045623
#       areas:
#       - area_id: 0.0.0.2
#         filter:
#           address: 10.1.1.0/24
#       - area_id: 0.0.0.50
#         range:
#           address: 172.20.0.0/16
#           cost: 34
#       default_information:
#         metric: 100
#         metric_type: 1
#         originate: true
#       distance:
#         intra_area: 85
#       max_lsa:
#         count: 8000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       networks:
#       - area: 0.0.0.0
#         prefix: 10.10.2.0/24
#       - area: 0.0.0.0
#         prefix: 10.10.3.0/24
#       process_id: 1
#       redistribute:
#       - routes: static
#       router_id: 170.21.0.4
#     - areas:
#       - area_id: 0.0.0.9
#         default_cost: 20
#       max_lsa:
#         count: 8000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       process_id: 2
#       redistribute:
#       - routes: connected
#       vrf: vrf01
#     - max_lsa:
#         count: 12000
#       process_id: 3
#       redistribute:
#       - routes: connected
#       vrf: vrf02
#
# commands:
# - no router ospf 1
#
# after:
#     processes:
#     - areas:
#       - area_id: 0.0.0.9
#         default_cost: 20
#       max_lsa:
#         count: 8000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       process_id: 2
#       redistribute:
#       - routes: connected
#       vrf: vrf01
#     - max_lsa:
#         count: 12000
#       process_id: 3
#       redistribute:
#       - routes: connected
#       vrf: vrf02

# After state:
# ------------
# localhost#show running-config | section ospf
# router ospf 2 vrf vrf01
#    redistribute connected
#    area 0.0.0.9 default-cost 20
#    max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20
# !
# router ospf 3 vrf vrf02
#    redistribute connected
#    max-lsa 12000

# Using gathered
# localhost#show running-config | section ospf
# router ospf 2 vrf vrf01
#    redistribute connected
#    area 0.0.0.9 default-cost 20
#    max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20
# !
# router ospf 3 vrf vrf02
#    redistribute connected
#    max-lsa 12000

- name: replace Ospf configs
  arista.eos.eos_ospfv2:
    state: gathered

# Task output:
# ------------
# gathered:
#     processes:
#     - areas:
#       - area_id: 0.0.0.9
#         default_cost: 20
#       max_lsa:
#         count: 8000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       process_id: 2
#       redistribute:
#       - routes: connected
#       vrf: vrf01
#     - max_lsa:
#         count: 12000
#       process_id: 3
#       redistribute:
#       - routes: connected
#       vrf: vrf02

# Using parsed
# ------------

# parsed.cfg
# router ospf 1
#    adjacency exchange-start threshold 20045623
#    area 0.0.0.2 filter 10.1.1.0/24
#    area 0.0.0.50  range 172.20.0.0/16 cost 34
#    default-information originate  metric 100 metric-type 1
#    distance ospf intra-area 85
#    max-lsa  80000 40 ignore-count 3  ignore-time 6  reset-time 20
#    network 10.10.2.0/24 area 0.0.0.0
#    network 10.10.3.0/24 area 0.0.0.0
#    redistribute static
#    router-id 170.21.0.4
# router ospf 2 vrf vrf01,
#    area 0.0.0.9 default-cost 20
#    max-lsa  80000 40 ignore-count 3  ignore-time 6  reset-time 20
# router ospf 3 vrf vrf02
#    redistribute static

- name: Parse running config and display structured facts
  arista.eos.eos_ospfv2:
    running_config: "{{ lookup('file', './parsed.cfg') }}"
    state: parsed

# Task output:
# ------------
# parsed:
#     processes:
#     - adjacency:
#         exchange_start:
#           threshold: 20045623
#       areas:
#       - area_id: 0.0.0.2
#         filter:
#           address: 10.1.1.0/24
#       - area_id: 0.0.0.50
#         range:
#           address: 172.20.0.0/16
#           cost: 34
#       default_information:
#         metric: 100
#         metric_type: 1
#         originate: true
#       distance:
#         intra_area: 85
#       max_lsa:
#         count: 80000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       networks:
#       - area: 0.0.0.0
#         prefix: 10.10.2.0/24
#       - area: 0.0.0.0
#         prefix: 10.10.3.0/24
#       process_id: 1
#       redistribute:
#       - routes: static
#       router_id: 170.21.0.4
#     - areas:
#       - area_id: 0.0.0.9
#         default_cost: 20
#       max_lsa:
#         count: 80000
#         ignore_count: 3
#         ignore_time: 6
#         reset_time: 20
#         threshold: 40
#       process_id: 2
#       vrf: vrf01,
#     - process_id: 3
#       redistribute:
#       - routes: static
#       vrf: vrf02

# Using rendered

- name: replace Ospf configs
  arista.eos.eos_ospfv2:
    config:
      processes:
        - process_id: 1
          adjacency:
            exchange_start:
              threshold: 20045623
          areas:
            - filter:
                address: "10.1.1.0/24"
              area_id: "0.0.0.2"
            - area_id: "0.0.0.50"
              range:
                address: "172.20.0.0/16"
                cost: 34
          default_information:
            metric: 100
            metric_type: 1
            originate: true
          distance:
            intra_area: 85
          max_lsa:
            count: 8000
            ignore_count: 3
            ignore_time: 6
            reset_time: 20
            threshold: 40
          networks:
            - area: "0.0.0.0"
              prefix: 10.10.2.0/24
            - area: "0.0.0.0"
              prefix: "10.10.3.0/24"
          redistribute:
            - routes: "static"
          router_id: "170.21.0.4"
        - process_id: 2
          vrf: "vrf01"
          areas:
            - area_id: "0.0.0.9"
              default_cost: 20
          max_lsa:
            count: 8000
            ignore_count: 3
            ignore_time: 6
            reset_time: 20
            threshold: 40
          networks:
            - area: "0.0.0.0"
              prefix: 10.10.2.0/24
            - area: "0.0.0.0"
              prefix: "10.10.3.0/24"
          redistribute:
            - routes: "static"
          router_id: "170.21.0.4"
        - process_id: 2
          vrf: "vrf01"
          areas:
            - area_id: "0.0.0.9"
              default_cost: 20
          max_lsa:
            count: 8000
            ignore_count: 3
            ignore_time: 6
            reset_time: 20
            threshold: 40
        - process_id: 3
          vrf: "vrf02"
          redistribute:
            - routes: "connected"
    state: rendered

# rendered:
#   - router ospf 1
#   - adjacency exchange-start threshold 20045623
#   - area 0.0.0.2 filter 10.1.1.0/24
#   - area 0.0.0.50  range 172.20.0.0/16 cost 34
#   - default-information originate metric 100 metric-type 1
#   - distance ospf intra-area 85
#   - max-lsa  8000 40 ignore-count 3  ignore-time 6  reset-time 20
#   - network 10.10.2.0/24 area 0.0.0.0
#   - network 10.10.3.0/24 area 0.0.0.0
#   - redistribute static
#   - router-id 170.21.0.4
#   - exit
#   - router ospf 2 vrf vrf01
#   - area 0.0.0.9 default-cost 20
#   - max-lsa  8000 40 ignore-count 3  ignore-time 6  reset-time 20
#   - network 10.10.2.0/24 area 0.0.0.0
#   - network 10.10.3.0/24 area 0.0.0.0
#   - redistribute static
#   - router-id 170.21.0.4
#   - exit
#   - router ospf 2 vrf vrf01
#   - area 0.0.0.9 default-cost 20
#   - max-lsa  8000 40 ignore-count 3  ignore-time 6  reset-time 20
#   - exit
#   - router ospf 3 vrf vrf02
#   - redistribute connected
#   - exit

返回值

此处记录了常见的返回值 此处,以下是此模块独有的字段。

描述

之后

字典

模块执行后的结果配置。

返回:发生更改时

示例: "This output will always be in the same format as the module argspec.\n"

之前

字典

模块执行之前的配置。

返回:当*状态*为 mergedreplacedoverriddendeletedpurged

示例: "This output will always be in the same format as the module argspec.\n"

命令

列表 / 元素=字符串

推送到远程设备的命令集。

返回:当*状态*为 mergedreplacedoverriddendeletedpurged

示例: ["router ospf 1", "adjacency exchange-start threshold 20045623", "area 0.0.0.2 filter 10.1.1.0/24"]

已收集

字典

从远程设备收集的关于网络资源的事实,以结构化数据形式表示。

返回:当*状态*为 gathered

示例: "This output will always be in the same format as the module argspec.\n"

已解析

字典

根据模块argspec,将*running_config*选项中提供的设备原生配置解析为结构化数据。

返回:当*状态*为 parsed

示例: "This output will always be in the same format as the module argspec.\n"

已呈现

列表 / 元素=字符串

以设备原生格式(离线)呈现的任务中提供的配置。

返回:当*状态*为 rendered

示例: ["router ospf 1", "adjacency exchange-start threshold 20045623", "area 0.0.0.2 filter 10.1.1.0/24"]

作者

  • Gomathi Selvi Srinivasan (@GomathiselviS)