community.network.sros_config 模块 – 管理 Nokia SR OS 设备配置

注意

此模块是 community.network 集合(版本 5.1.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install community.network

要在 playbook 中使用它,请指定:community.network.sros_config

注意

community.network 集合已被弃用,将从 Ansible 12 中移除。有关更多信息,请参阅讨论主题

已弃用

移除于:

版本 6.0.0

原因:

此集合及其中的所有内容均未维护且已弃用。

替代方案:

未知。

概要

  • Nokia SR OS 配置使用简单的块缩进文件语法将配置分段为多个部分。此模块提供了一种以确定性的方式处理 SR OS 配置部分的实现。

别名:network.sros.sros_config

参数

参数

注释

after

字符串

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

backup

布尔值

此参数将使模块在进行任何更改之前,从远程设备创建当前 running-config 的完整备份。如果未给出 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

字符串

config 参数允许 playbook 设计者提供用于验证必要配置更改的基本配置。如果提供了此参数,则模块将不会从远程节点下载运行配置。

defaults

别名:detail

布尔值

此参数指定在获取远程设备运行配置时是否收集所有默认值。启用后,模块将通过发出命令 admin display-config detail 来获取当前配置。

选择

  • false ← (默认)

  • true

force

布尔值

force 参数指示模块不考虑当前设备的运行配置。如果设置为 true,这将导致模块将 *src* 的内容推送到设备中,而无需先检查是否已配置。

请注意,此参数应被视为已弃用。要实现等效的效果,请设置 match=none,它是幂等的。此参数将在未来的版本中删除。

选择

  • false

  • true

lines

别名:commands

字符串

应在部分中配置的有序命令集。这些命令必须与设备运行配置中找到的命令完全相同。请务必注意配置命令语法,因为某些命令会自动被设备配置解析器修改。*lines* 参数仅支持当前上下文行。请参阅示例

match

字符串

指示模块如何执行命令集与当前设备配置的匹配。如果 match 设置为 *line*,则命令将逐行匹配。如果 match 设置为 *none*,则模块将不会尝试将源配置与远程设备上的运行配置进行比较。

选择

  • "line" ← (默认)

  • "none"

parents

字符串

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

replace

字符串

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

选择

  • "line" ← (默认)

  • "block"

save

布尔值

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

选择

  • false ← (默认)

  • true

src

字符串

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

备注

注意

示例

---
- name: Enable rollback location
  community.network.sros_config:
    lines: configure system rollback rollback-location "cf3:/ansible"

- name: Set system name to {{ inventory_hostname }} using one line
  community.network.sros_config:
    lines:
        - configure system name "{{ inventory_hostname }}"

- name: Set system name to {{ inventory_hostname }} using parents
  community.network.sros_config:
    lines:
        - 'name "{{ inventory_hostname }}"'
    parents:
        - configure
        - system
    backup: true

- name: Load config from file
  community.network.sros_config:
      src: "{{ inventory_hostname }}.cfg"
      save: true

- name: Invalid use of lines
  community.network.sros_config:
    lines:
      - service
      -     vpls 1000 customer foo 1 create
      -         description "invalid lines example"

- name: Valid use of lines
  community.network.sros_config:
    lines:
      - description "invalid lines example"
    parents:
      - service
      - vpls 1000 customer foo 1 create

- name: Configurable backup path
  community.network.sros_config:
    backup: true
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

返回值

常见的返回值记录在此处这里,以下是此模块特有的字段

描述

backup_path

字符串

备份文件的完整路径

返回:当 backup 为 yes 时

示例:"/playbooks/ansible/backup/sros_config.2016-07-16@22:28:34"

commands

列表 / 元素=字符串

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

返回:总是

示例:["config system name \"sros01\""]

updates

列表 / 元素=字符串

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

返回:总是

示例:["config system name \"sros01\""]

状态

  • 此模块将在 6.0.0 版本中移除。[已弃用]

  • 有关更多信息,请参阅 已弃用

作者

  • Peter Sprygada (@privateip)