PYANG工具使用说明
内容
? ? ? ? ?
概览
PYANG安装 PYANG工具使用 结束语
1. 概览
YANG语言用于定义数据模型,通过文本编辑工具编写YANG模型。YANG模型编写完成后,通过PYang工具能够验证YANG模型文件的正确性,以及YANG模型数据结构的可视性。
Pyang工具有以下功能: 1、验证YANG文件的正确性。 2、将YANG模型转换成UML图模型。 3、将YANG模型转换成tree表现形式。
2.
PYANG安装
2.1. 安装Git Bash
Git Bash是版本控制命令行工具,用于上传和下载项目代码。官网下载安装包,默认安装即可。
2.2. 安装Python
官网下载python任意版本。安装步骤:
1、下载最新安装包。这里以python-3.3.4 版本为例。 2、双击‘python-3.3.4.msi ’文件进行安装。
3、安装完成后,在系统环境变量PATH中添加‘C:\\Python33’;
4、最后打开Git Bash命令行,运行python -V确认安装是否成功,安装成功界面如下所示:
2.3. 安装Pyang
官网下载pyang安装包,以及setuptools工具包,其中setuptools为安装过程中需要使用,安装步骤如下:
1、解压setuptools-36.0.1.zip到指定目录。
2、打开Git Bash命令行,运行到setuptools安装的路径下。
3、Git Bash命令行中输入:python setup.py install,即可完成setuptools的安装。 4、解压pyang-pyang-1.7.zip,假设解压到C盘根目录下,如:C:\\pyang-pyang-1.7。 5、打开Git Bash命令行,运行到pyang安装的路径下。 6、Git Bash命令行中输入:source ./env.sh
7、Git Bash命令行中输入:python setup.py install,即可完成pyang的安装。 8、安装完成后,在系统环境变量PATH中添加‘C:\\pyang-pyang-1.7\\bin’。
9、打开另一个Git Bash命令行,运行pyang -v确认安装是否成功,安装成功界面如下所示:
3. PYANG工具使用
3.1. 编译YANG to tree
由于YANG文件中定义容器类型中会引用或者嵌套其他的容器、grouping类型,通过YANG文件不能完整的看到某个容器类型下是所有数据,然而Tree类型的文件正好解决了这个问题。
通过PYANG工具,能够将YANG文件转换为tree文件,语法如下:
Pyang -f tree
Tree文件中有很多符号,如:?、[]、*、rw、ro等。每个符号的含义都与YANG模型的定义是一一对应的,这里简单介绍下:
1、*符号表示此属性是list或者leaf-list类型。 2、[]符号中描述的字段,表示是list的key值。 3、rw符号表示此字段是可读可配置的。
4、ro符号表示此字段是可读的,一般为状态属性。 5、?符号表示此字段是可选的。
3.2. 编译YANG to uml
PYANG能够将YANG模型转换为UML文件,并通过plantuml工具将UML文件生成为PNG图。
通过PYANG工具,能够将YANG文件转换为tree文件,语法如下:
Pyang -f uml
生成UML文件后,如果需要将UML转换为PNG图,则需要完成以下的操作:
1、官网下载plantuml.jar,并将其放在UML文件所在目录。
2、官网下载下载Graphviz。安装Graphviz,安装完成后在PATH环境变量中添加:‘C:\\Program Files (x86)\\Graphviz2.38\\bin’;
3、通过plantuml工具,能够将tree文件转换为PNG图,语法如下:
java -jar plantuml.jar
4、结合PYANG工具,能够将YANG文件转换为png图:。 下面的例子是将ietf-netconf-monitoring.yang转换为PNG图。
$ pyang -f uml ietf-netconf-monitoring.yang -o ietf-netconf-monitoring.uml $ java -jar plantuml.jar ietf-netconf-monitoring.uml
会在命令的目录下生成img文件夹,里面存放的就是UML生成的PNG文件。
5、如下脚本可以输出指定目录下所有yang的png。指定目录下必须放置完整YANG
文件和plantuml.jar。
y2uml.sh
然后在git bash命令行中输入: ./y2uml.sh [yang文件所在目录] 例如:
4. 结束语
本文对于刚接触SDN的朋友会有所帮助,能够快速了解PYANG工具使用方法。通过tree文件和UML图能够快速理解YANG模型,对开发、测试工作有很大的帮助。