当前位置: 首页 > 知识库问答 >
问题:

使用Yang生成的pojos使用odl netconf客户端配置设备

郎成弘
2023-03-14

我设法使用OpenDayLight YangTools从yang文件生成POJO。

下一步,我设法将netconf客户端导入我的应用程序(使用gradle),我如何在我的应用程序中使用生成的pojos与netconClient来配置设备?

共有1个答案

戚森
2023-03-14

如果你解释你想要实现什么,我会很好,这样我就可以更准确地帮助你,但是如果你想使用Yang以编程方式配置你的盒子,你需要遵循以下步骤:

  1. 从Yang模型生成您的运行时配置类(这是您现在拥有的)
  2. 编写一些逻辑来调用这些生成的类并创建一个定义您的配置的对象。例如,设置BGP配置,您需要从路由器、bgp、地址族、邻居等开始。该对象将遵循您的设备Yang模型,或像这里这样的“openconfig”:https://github.com/openconfig/public/blob/master/release/models/bgp/openconfig-bgp.yang
  3. 生成“配置实例”后,需要对其进行序列化(转换为XML)
  4. 使用netconf客户端(查找ncClient)将其发送到框中。

如果你对语言不太在意,我建议你使用

https://github.com/CiscoDevNet/ydk-py

已经有例子了。

一个更开放的方法是,

  1. 启动maven项目并在其中使用yangtools,https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Startup\u Project\u Archetype#Starting\u your\u27示例。27\u项目\u第一次\u
  2. 加载netconf southbound应用程序
  3. 添加您想要的yang型号(可选)
  4. 执行maven构建,以便它为您生成API(您将可以直接访问设备API)
  5. 然后,您可以做的额外工作是实现提供者类所在的逻辑,并提供您自己的API

希望这能有所帮助

 类似资料:
  • 我需要在我的项目中使用一个web服务。我使用NetBeans所以我右键单击我的项目并尝试添加一个新的“Web服务客户端”。上次我检查时,这是创建web服务客户机的方法。但它导致一个AssertionError,它说: java.lang.AssertionError:org.xml.sax.SAXParseException;systemid:jar:file:/path/to/glassfish

  • 我试图用openApI3生成一个python客户端库。为此,我创建了一个openapi.yml文件,在其中我定义了带有请求和响应的url和模式。 我正在尝试使用我在这里找到的openApI生成器https://github.com/OpenAPITools/openapi-generator命令:openapitools/openapi生成器cli 这个生成器根据yml文件中定义的模式生成一组目录

  • 对于我们的指向站点VPN,我们希望创建一个根证书。因此我们可以为所有需要登录VPN的合作伙伴创建尽可能多的客户端证书。(Azure虚拟网络) 手工完成这件事很完美。我们生成一个作为根CA的证书(自签名)。我们可以在powershell中这样做:

  • 我正在尝试使用swagger codegen maven插件(版本3.0.0)生成的ApiClient,从我的Spring Boot应用程序中使用OAuth2安全的REST API。身份验证服务器(keycoat)提供了一个JWT和刷新令牌,但我不知道如何最好地处理bean中的令牌。现在我的豆子看起来像这样: 问题是:获取令牌和处理刷新令牌的最佳方法是什么? 编辑:为了获得令牌,我想使用客户端ID

  • 我正在尝试根据本指南使用OpenDaylight从Yang文件生成Pojos。我从OpenDaylight github克隆了Yang tools,并使用构建了项目 我在pom中添加了以下内容: 但是我无法生成源。我收到以下错误: 我做错了什么?

  • 1. 创建 Maven 工程 服务端部署完毕后,我们可以新建一个 Maven 工程使用 SOFARegistry 提供的服务。首先新建一个 Maven 工程,然后引入如下依赖: <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>registry-client-all</artifactId> <versi