Opendaylight 之 HelloWorld

OpenDaylight应用开发:从YANG建模到RESTCONF调通HelloWorld SDN控制器是软件定义网络的核心组件,负责连接南向设备与北向应用。OpenDaylight作为主流开源SDN控制器,其应用开发涉及YANG数据建模、MD-SAL服务抽象层、Karaf容器等基础概念。理解这些技术原理,有助于开发者快速构建北向RESTCONF接口,实现控制器内外部调用。本文从YANG定义RPC模型出发,经代码生成、Provider实现、Blueprint注册,到RESTCONF请求验证,完整演示如何在OpenDaylight中实现一个可调通的HelloWorld接口,为SDN控制器应用开发提供 阅读详情

万里长征第一步!!!!
最近因为导师的要求开始研究opendaylight!!!

参考:
http://www.cnblogs.com/FrankZhou2017/p/7236035.html
官网:https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Startup_Project_Archetype

一. 通过mvn命令构建项目
1.执行如下命令(参考官网):

mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype \
-DarchetypeRepository=http://nexus.opendaylight.org/content/repositories/<Snapshot-Type>/ \
-DarchetypeCatalog=remote -DarchetypeVersion=<Archetype-Version>
  • For the current Master (Carbon): Snapshot-Type=opendaylight.snapshot
    Archetype-Version=1.4.0-SNAPSHOT
  • For the Carbon snapshot:Snapshot-Type=opendaylight.release
    Archetype-Version=1.3.0-Carbon
  • For Boron “SR0”:Snapshot-Type=opendaylight.release
    Archetype-Version=1.2.0-Boron
  • For Boron SR1:Snapshot-Type=opendaylight.release
    Archetype-Version=1.2.1-Boron-SR1
  • For Boron SR2:Snapshot-Type=opendaylight.release
    Archetype-Version=1.2.2-Boron-SR2
  • For the Boron snapshot:Snapshot-Type=opendaylight.snapshot
    Archetype-Version=1.2.2-SNAPSHOT

在这里我使用的是boron-sr2,所以使用:Snapshot-Type=opendaylight.release Archetype-Version=1.2.2-Boron-SR2

在此之前根据网上的教程使用其他构建ODL项目的命令,均会出现以下错误,搜索了好久都不知道是因为什么。
这里写图片描述

2.输入交互信息:
这里写图片描述
其中’classPrefix’ Helloworld::
${artifactId.substring(0,1).toUpperCase()}${artifactId.substring(1)}表示将helloworld中的第一个字母h由小写改成大写,否则后续生成的HelloworldProvider.java的第一个字母会是小写的,需要手动的将此文件名和文件中的相关部分由小写改成大写(直接使用小写的文件名,我不知道是否可以,没有试。因为看到一些教程上面没有执行这条信息,生成的是小写的文件名,后面修改后,莫名的变成了大写,觉得有点奇怪,所以特此记录下,直接在交互信息这里修改,省去了后续的麻烦)

3.使用如下命令构建helloworld项目:

ubuntu@ubuntu:~$ cd helloworld/
ubuntu@ubuntu:~/helloworld$ mvn clean install -DskipTests

如下图所示:
这里写图片描述

二.增加 helloword PRC api
1.编辑修改 api/src/main/yang/helloworld.yang,增加内容如下:

module helloworld {
    yang-version 1;
    namespace 
SDN-OpenDaylight(Solium版本)应用开发入门HelloWorld_sodium版本的网页显示feature什么组件 需要完整版PDF学习资源修改setenv文件中的环境变量设置JAVA_HOME运行成功。 阅读详情

相关推荐

ODL学习笔记(二)OpenDayLight的第一个项目-Hello World

创建一个Hello项目

misscrush的博客 1396

PHP版本对接支付宝支付接口 电脑网站 详细介绍 沙箱环境 超简单易懂

PHP版本对接支付宝支付接口 其实理顺了思路后,按照我接下来的步骤来,真的超级简单啊,为啥有那么多的朋友们折腾了那么久呢,嘿嘿,跟我走吧~ 我是昨天晚上洗完澡之后,大概八九点,才开始正式开工尝试去这一工程的,我去支付宝的蚂蚁金服开放平台里把各个知识点和文档大概都看了一遍,大致弄明白了要怎么操作了,建议大家看看电脑网站开发文档,忙到了夜里十二点左右,成功地用支付宝给的Demo完成了付款操...

爱玲姐姐的博客 1万+

深入解析国家企业征信系统瑞数6vmp算法逆向实战

本文深入解析了国家企业征信系统所采用的双层防护机制,重点聚焦于瑞数6代vmp算法的逆向实战。文章详细拆解了从加速乐521状态码的绕过,到瑞数412挑战的核心算法还原过程,提供了通过动态Hook、日志分析进行算法逆向,并用Python实现自动化请求链的完整技术方案,旨在为安全研究与技术学习提供参考。

yellow的专栏 607

Python | 集合(set)运算之intersection()

简介 在做力扣题的时候,有一个思路是要求解两个字符串的交集。 一般来说,求解交集的思路是遍历两个字符串,判断有无相等,有相等则添加到交集中,直到循环结束。 但是这样做,会增加很多的不必要的遍历:比如说,当一个字符串中有多个相同的元素时,该元素会被遍历多次。 因此,在求解时,我们可以先将字符串转换为set集合类型。集合中存储的元素没有顺序,且互异(即元素不可重复)。 算例 求字符串m“abcdaaa” 与 字符串n“bcddses”是否存在交集 首先将字符串转换为set类型: m = set(m) n

lovetaozibaby的博客 1万+

SDI-12协议与STM32 进行uart通信

其中DIR_OUT_SDI是一个IO引脚,控制UART_TX_SDI是否使能,U10是三态门IC,即拉低DIR_OUT_SDI使能stm32输出,拉高DIR_OUT_SDI失能输出,串口配置8位数据位,偶校验,1位停止位,1200波特率。示波器测试得到传感器的应答信号如下:第一个是唤醒信号,拉高电平13毫秒,之后保持20毫秒低电平,第二个数据帧是激活信号,即ascii码: "0!",第三个是传感器的应答信号:"0\r\n"

weixin_42186805的博客 4401

12、认知地图的建模与学习

本博客系统介绍了认知地图的定义、背景及其在机器智能领域的应用,重点探讨了模糊认知地图(FCMs)的建模方法与优势。文章还对比分析了几种主流的认知地图模型(如Axelrod模型、Kosko模型等),并讨论了模型的稳定性条件及实际应用前景。通过智能制造和医疗诊断的具体案例,展示了认知地图在复杂因果推理中的强大能力,并提出了模型优化方向与未来研究展望。

plant的博客 209

【人工智能】Cursor模型被封?两步教你破解

Cursor模型全线被禁,主流模型如Claude、GPT-4无法访问,仅剩Deepseek等基础模型可用。官方证实限制源于上游API区域政策,提供三种"无效"解决方案引发用户不满。社区发现有效解决方式:需同时开启全局代理和将Cursor网络设置改为HTTP/1.1协议,详细步骤包括修改用户设置和完全重启程序。另有SOCKS5代理配置方案供高级用户选择。技术原理推测HTTP/1.1可绕过区域检测。用户面临继续使用或转投其他工具的选择,社区交流受限但仍有讨论。

奶爸的编程之路,也就一周冷个三天 2189

基于51单片机的电子记分牌的设计

基于51单片机的电子记分牌的设计 电子记分牌基于51单片机的电子记分牌的设计摘要1 引言2 总体设计方案2.1 设计思路(1)设计要求(2)设计思路(3)设计方案2.3综合设计方框图(1)硬件设计框图(2)软件设计3 设计原理分析3.1 电源、复位、下载电路的设计(见图1、2、3)3.2 时钟电路的设计3.3 矩阵键盘电路的设计3.4 数码管显示电路设计4程序代码 摘要 本设计为电子记分牌设计,是以STC89C52芯片为核心,辅以必要电路设计进行的。用4位LED七段数码管显示比赛两方的分数(每方分数用2位

行走的皮卡丘 2037

全球APN信息汇总

全球APN信息,电信APN,移动APN,联通APN,台湾APN,马来西亚APN,俄罗斯APN,日本APN,泰国APN,美国APN,英国APN,法国APN,德国APN,意大利APN,葡萄牙APN,土耳其APN,荷兰APN,丹麦APN,比利时APN,爱尔兰APN,新加坡APN,越南APN,老挝APN,菲律宾APN,印尼APN,泰国APN,柬埔寨APN,巴基斯坦APN,印度APN,奥地利APN,保加利亚APN,捷克APN,立陶宛APN,罗马尼亚APN,挪威APN,希腊APN,匈牙利APN,瑞士APN,乌克兰APN

renkai721的专栏 2796

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: Opendaylight 基础环境安装
下一篇: Ubuntu安装wireshark
小菜鸟要高飞
博客等级 码龄12年 14粉丝 77原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值