YANG文件校验报错避坑指南

举报
aocfans 发表于 2021/10/29 17:40:43 2021/10/29
【摘要】 有没有小伙伴遇到过这样的问题,YANG文件编写没有问题,但是校验时却出错了,上看下看左看右看找不出问题。下面就来分享一下前两天处理过的一个案例,帮大家避坑。

有没有小伙伴遇到过这样的问题,YANG文件编写没有问题,但是校验时却出错了,上看下看左看右看找不出问题。

下面就来分享一下前两天处理过的一个案例,帮大家避坑。


现象描述

根据AOC生成的SSP业务包中默认的YANG文件模板,对参数进行修改,将listkeyleaf修改为我们定制的参数,修改后的YANG文件如下:


 

这样是不是就改完了?现在输入验证命令开始校验:java -jar yang-offline-util.jar validate console path .

执行结果如下,出现了报错



原因分析 

这个问题出在哪了呢?

我们看到系统给出的Error提示是:missing or unresolved module: huawei-ac-applications,原来,是系统找不到huawei-ac-applications这个模块。

huawei-ac-applicationsAOC的公共模块,文件里的import huawei-ac-applications表示引用了这个公共模块,因为我们的业务包里没有huawei-ac-applicationsYANG模型,所以校验就会出错。

 

处理方法

针对这种情况,我们有两种处理方法:

  1. 补充引用模块。
    点击社区中的“资源下载”,下载“YANG文件”下的“业务YANG公用依赖YANG文件”,将huawei-ac-applications.yang文件导入yang-offline-util校验目录下。如有其它依赖的YANG模型,也需要一并导入。
  2. 删除引用模块。
    因为huawei-ac-applications.yang是一个公共模块,已经经过了校验,是没有问题的,无需再次校验,我们只校验自己编写的部分即可,因此可以把这些公共模块删除掉,然后再次执行验证命令。
    需要删除的引用内容如下红框所示,因为augment里的app模块依赖于ac模块,因此也需要一并删除。

    删除后再次执行校验命令:

    执行结果无回显,表明YANG文件修改正确。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。