dellemc.enterprise_sonic.sonic_config 模块 – 管理运行 Enterprise SONiC 的设备上的配置部分

注意

此模块是 dellemc.enterprise_sonic 集合(版本 2.5.1)的一部分。

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

要安装它,请使用:ansible-galaxy collection install dellemc.enterprise_sonic

要在 playbook 中使用它,请指定:dellemc.enterprise_sonic.sonic_config

dellemc.enterprise_sonic 1.0.0 中的新增功能

概要

  • 管理 Dell Technologies 的 Enterprise SONiC 发行版的配置部分。SONiC 配置使用简单的块缩进文件语法将配置分隔为多个部分。此模块提供了一种以确定性方式处理 SONiC 配置部分的实现。

注意

此模块具有相应的 操作插件

参数

参数

注释

after

列表 / 元素=字符串

如果需要进行更改,要附加到命令堆栈末尾的有序命令集。与 before 一样,这允许 playbook 设计者在命令集之后附加一组要执行的命令。

backup

布尔值

此参数使模块在进行任何更改之前,创建远程设备当前 running-configuration 的完整备份。如果未给出 backup_options 值,则备份文件将写入 playbook 根目录中的 backup 文件夹。如果该目录不存在,则会创建该目录。

选项

  • false ←(默认)

  • true

backup_options

字典

这是一个包含与备份文件路径相关的可配置选项的字典对象。仅当 backup 设置为 yes 时,才会读取此选项的值,如果 backup 设置为 no,则会忽略此选项。

dir_path

路径

此选项提供以目录名称结尾的路径,备份配置文件将存储在该路径中。如果该目录不存在,则会首先创建该目录,并且文件名是 filename 的值或 filename 选项说明中描述的默认文件名。如果未给出路径值,则会在当前工作目录中创建一个 *backup* 目录,并且备份配置会复制到 *backup* 目录中的 filename 中。

filename

字符串

用于存储备份配置的文件名。如果未给出文件名,则会根据主机名、当前时间和日期,以 <hostname>_config.<current-date>@<current-time> 定义的格式生成。

before

列表 / 元素=字符串

如果需要进行更改,要推送到命令堆栈的有序命令集。这允许 playbook 设计者有机会在推送任何更改之前执行配置命令,而不会影响命令集与系统匹配的方式。

config

字符串

默认情况下,该模块连接到远程设备并检索当前的运行配置,以用作与源内容进行比较的基础。有时,不希望任务在 playbook 中的每个任务都获取当前的运行配置。config 参数允许实现者传入配置以用作比较的基础配置。

lines

别名:commands

列表 / 元素=字符串

应在节中配置的有序命令集。这些命令必须与设备运行配置中找到的命令完全相同。请务必注意配置命令语法,因为某些命令会被设备配置解析器自动修改。此参数与 src 互斥。

match

字符串

指示模块如何针对当前设备配置执行命令集匹配。如果 match 设置为 line,则会逐行匹配命令。如果 match 设置为 strict,则会根据位置匹配命令行。如果 match 设置为 exact,则命令行必须完全匹配。如果 match 设置为 none,则模块不会尝试将源配置与远程设备上的运行配置进行比较。

选项

  • "line" ←(默认)

  • "strict"

  • "exact"

  • "none"

parents

列表 / 元素=字符串

唯一标识节或命令应检查的层次结构的有序父项集。如果省略 parents 参数,则会针对顶层或全局命令集检查命令。

replace

字符串

指示模块如何在设备上执行配置。如果 replace 参数设置为 line,则修改后的行会以配置模式推送到设备。如果 replace 参数设置为 block,则如果任何行不正确,则整个命令块会以配置模式推送到设备。

选项

  • "line" ←(默认)

  • "block"

save

布尔值

save 参数指示模块在模块运行结束后将运行配置保存到启动配置。如果指定了检查模式,则会忽略此参数。

选项

  • false ←(默认)

  • true

src

路径

指定包含要加载的配置或配置模板的文件的源路径。源文件的路径可以是 Ansible 控制主机上的完整路径,也可以是 playbook 或角色根目录中的相对路径。此参数与 lines 互斥。

update

字符串

update 参数控制如何在远程设备上处理配置语句。update 参数的有效选项为 mergecheck。当您将此参数设置为 merge 时,配置更改会与当前设备运行配置合并。当您将此参数设置为 check 时,会确定配置更新,但不会在远程设备上配置。

选项

  • "merge" ←(默认)

  • "check"

说明

注意

  • 已针对 Dell Technologies 的 Enterprise SONiC 发行版进行测试。

  • 支持 check_mode

示例

- dellemc.enterprise_sonic.sonic_config:
    lines: ['username {{ user_name }} password {{ user_password }} role {{ user_role }}']

- dellemc.enterprise_sonic.sonic_config:
    lines:
      - description 'SONiC'
    parents: ['interface Eth1/10']

- dellemc.enterprise_sonic.sonic_config:
    lines:
      - seq 2 permit udp any any
      - seq 3 deny icmp any any
    parents: ['ip access-list test']
    before: ['no ip access-list test']

返回值

通用返回值已在此处记录 此处,以下是此模块独有的字段

描述

commands

列表 / 元素=字符串

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

返回: 总是

示例: ["username foo password foo role admin", "router bgp 1", "router-id 1.1.1.1"]

saved

布尔值

返回配置是否已保存到启动配置。

返回: 当非 check_mode 时。

示例: true

updates

列表 / 元素=字符串

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

返回: 总是

示例: ["username foo password foo role admin", "router bgp 1", "router-id 1.1.1.1"]

作者

  • Abirami N (@abirami-n)