了解对运行网络的设备的非活动 YANG 模块Junos OS
YANG 是一种基于标准的可扩展数据建模语言,用于对网络设备的配置和操作状态数据、远程过程调用 (RPC) 和服务器事件通知进行建模。运行 Junos OS 的设备使您能够将标准或自定义 YANG 模型加载到设备上,以添加不受 Junos OS 本机支持但可受转换支持的数据模型。当您希望创建与设备无关和供应商中立的操作和配置模型时,这样做是有益的,这些模式支持在一家或多家供应商的不同设备上使用相同的 RPC 或配置。
添加运行 Junos OS 的设备本机不支持的 YANG 数据模型时,您还必须提供一个脚本来处理此设备的 YANG 数据模型与 Junos OS 之间的转换逻辑。脚本分为两种类型:
转换 脚本是样式表语言替代 SyntaX (SLAX) 或 Python 脚本,将 YANG 模型定义的自定义配置语法映射到 Junos OS 语法,然后在提交操作期间以瞬态更改的方式将已转换的数据加载至配置。在这些设备上的非元素层次结构中加载和提交配置数据时,Junos OS将调用脚本执行转换并发出瞬时更改。
操作脚本 是 SLAX 或 Python 脚本,它们作为自定义 YANG RPC 的句柄。YANG RPC 定义使用Junos OS YANG 扩展来引用相应的操作脚本,当您执行 RPC 时将调用该脚本。
要使用运行 Junos OS 的设备上自定义 YANG 数据模型,必须通过发出 命令将 YANG 模块和相关脚本添加到 request system yang add
设备中。 Junos OS 验证模块和脚本的语法,重新构建其方案以包括新数据模型,然后根据此模式验证活动配置。尽管设备在添加模块和脚本时将验证它们,但我们建议您先验证语法,再Junos OS先执行 命令,再将其与 Junos OS request system yang validate
方案合并。
在多系统系统中,必须下载模块和脚本,并添加到系统中的每个节点。
要安装打包为压缩 tar 文件的 OpenConfig 模块,请使用 request system software add
命令。
将 YANG 模块和脚本添加到运行 Junos OS的设备时,您必须将其与软件包关联。软件包具有唯一标识符,表示相关模块、转换脚本和操作脚本的集合。如果您稍后更新软件包中的模块和脚本、启用或禁用与软件包关联的转换脚本,或者从设备中删除该模块和脚本组,则引用软件包标识符。
通过发出相应的操作命令在设备上添加、更新或删除 YANG 模块和脚本时,无需重新启动设备,更改才能生效。新添加的 RPC 和配置层次结构将立即可供使用,并且默认启用已安装的转换脚本。您随时都可以禁用包中的转换脚本,而无需从设备中删除软件包和相关文件,这对解决转换问题非常有用。禁用包的转换后,您可以配置并提交由该包中 YANG 模块添加的语句和层次结构,但设备不会在提交操作期间转换并提交相应的 Junos OS 配置作为瞬时配置更改。
在添加了一个或多个自定义 YANG 数据模型的设备中安装软件之前,必须从活动配置中删除与自定义 YANG 数据模型对应的所有配置数据。软件安装完成后,将 YANG 软件包和相应的配置数据根据需要重新添加到设备中。有关详细信息,请参阅 在软件升级或降级期间管理 YANG 软件包和配置 。