Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

在 Python 提交脚本中生成持久或暂时的配置更改

Junos OS 提交脚本强制执行自定义配置规则,并在配置不符合自定义配置规则时自动更改配置。要使用 Python 提交脚本生成持久或 瞬时更改 ,请执行以下操作:

  1. 在脚本的开头,包括 提交脚本所需的样板中的 Python 样板,为方便起见,此处复制了该样板:
  2. 包括一个或多个用于测试自定义配置规则的编程指令。

    例如,以下代码选择未启用 MPLS 协议家族的每个 SONET/SDH 接口:

  3. 创建一个 XML 字符串,指示 Junos OS 如何修改配置。

    此示例为所选接口启用 MPLS 协议家族。

  4. 包括任何其他必需或可选代码。此示例生成一条警告消息,当提交脚本更新 SONET/SDH 接口时,该消息将显示在 CLI 上。
  5. 若要生成持久或瞬态更改,请调用 jcs.emit_change 该方法,并在参数列表中指定更改类型(“更改”或“瞬态更改”)。
  6. 使用有意义的名称保存脚本。
  7. 将脚本复制到设备硬盘上的 /var/db/scripts/commit 目录或闪存驱动器上的 /config/scripts/commit 目录。
    注意:

    未签名的 Python 脚本必须由 Junos OS super-user 登录类中的 root 或用户所有,并且只有文件所有者才能拥有文件的写入权限。

  8. 通过在层次结构级别配置file filename[edit system scripts commit]语句来启用脚本。
  9. 如果脚本生成任何瞬时更改,请配置语句 allow-transients
  10. 允许在设备上执行未签名的 Python 脚本。
  11. commit发出命令以提交配置。

生成的脚本将搜索未启用 MPLS 协议家族的 SONET/SDH 接口,在层次结构级别添加family mpls[edit interfaces so-fpc/pic/port unit logical-unit-number]语句作为持久更改,并发出警告消息,指出配置已更改。

如果所有已启用的提交脚本都运行且没有错误,则任何持久更改都将加载到候选配置中,任何暂时性更改将加载到签出配置中,而不是加载到 候选配置中。然后,通过验证配置并将更改传播到设备上受影响的进程,提交过程将继续。

要显示同时应用了持久和瞬态更改的配置,请发出 show | display commit-scripts 配置模式命令。

要显示仅应用持久更改的配置,请发出 show | display commit-scripts no-transients 配置模式命令。

持久性和瞬态更改加载到配置中的方式与配置模式命令加载传入配置的方式load replace相同。生成持久或瞬态更改时,将属性添加到replace="replace"配置元素会产生与操作中的load replace标记相同的replace:行为。持久和瞬态更改都随行为一起load replace加载到配置中。但是,持久更改将加载到候选配置中,瞬态更改将加载到签出配置中。