YANG文件校验报错避坑指南
【摘要】 有没有小伙伴遇到过这样的问题,YANG文件编写没有问题,但是校验时却出错了,上看下看左看右看找不出问题。下面就来分享一下前两天处理过的一个案例,帮大家避坑。
有没有小伙伴遇到过这样的问题,YANG文件编写没有问题,但是校验时却出错了,上看下看左看右看找不出问题。
下面就来分享一下前两天处理过的一个案例,帮大家避坑。
现象描述
根据AOC生成的SSP业务包中默认的YANG文件模板,对参数进行修改,将list、key、leaf修改为我们定制的参数,修改后的YANG文件如下:
这样是不是就改完了?现在输入验证命令开始校验:java -jar yang-offline-util.jar validate console path .
执行结果如下,出现了报错
原因分析
这个问题出在哪了呢?
我们看到系统给出的Error提示是:missing or unresolved module: huawei-ac-applications,原来,是系统找不到huawei-ac-applications这个模块。
huawei-ac-applications是AOC的公共模块,文件里的import huawei-ac-applications表示引用了这个公共模块,因为我们的业务包里没有huawei-ac-applications的YANG模型,所以校验就会出错。
处理方法
针对这种情况,我们有两种处理方法:
- 补充引用模块。
点击社区中的“资源下载”,下载“YANG文件”下的“业务YANG公用依赖YANG文件”,将huawei-ac-applications.yang文件导入yang-offline-util校验目录下。如有其它依赖的YANG模型,也需要一并导入。 - 删除引用模块。
因为huawei-ac-applications.yang是一个公共模块,已经经过了校验,是没有问题的,无需再次校验,我们只校验自己编写的部分即可,因此可以把这些公共模块删除掉,然后再次执行验证命令。
需要删除的引用内容如下红框所示,因为augment里的app模块依赖于ac模块,因此也需要一并删除。
删除后再次执行校验命令:
执行结果无回显,表明YANG文件修改正确。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)