OpenDaylight开发学习笔记基础之Controller篇.docVIP

OpenDaylight开发学习笔记基础之Controller篇.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OpenDaylight开发学习笔记基础之Controller篇.doc

一 、 摘要 本文主要在 Helium 版本下进行二次开发测试,涉及到 controller、与openflowpluginJava、integration 等工程的设计与代码的写入。文章中对于一些概念性问题相信大家已经了解很多,故本文不做过多的解释,只介绍技术。本文目标为以下几点: 源代码的下载与编译测试以及启动; 三个工程的集成开发,涉及到工程的讲解; Controller 里新建 bundle 以及功能解释。 二、源码下载及编译及启动 图1 -版本架构 图1所示是新版本的架构图,只简单介绍几个重要的部分,如北向、功能模块部分与openflowpluginJava。工程主体由三部分组成,北向负责以上各种网络应用,功能模块部分负责消息的收发以及与上层应用通信,openflowpluginJava主要负责消息网络流的编解码。下面进入正题。 2.1 Controller编译 mvn命令新建一个folder : Shell 1 2 mkdir [name ] cd??[name] 下载源代码: Shell 1 git clone /gerrit/p/controller.git 联网编译整个controller工程 Shell 1 mvn clean install 编译后报错误并且controller里的一些目录的编译也会skip: 解决办法如下: 现将opendaylight版本切换,我这里是切换到sr2版本相对稳定, Shell 1 git checkout release/helium-sr2 再下载parent代码 Shell 1 git clone /gerrit/p/odlparent.git 将odlparent里setting.xml文件copy到你的本地数据库中(.m2) Shell 1 cp setting.xml /root/.m2 在进行controller的编译就不会报错了。 2.2 Karaf简介与调试 Karafmodule会把Plugin制作成KarafFeature,然后打包成可以导入到Apache karaf的kar文件。 1.Apache Karaf 基于OSGI的运行环境,做为OSGI应用的管理容器提供各种管理utility。 2.KarafFeature 由多个Java运行文件组成的Karaf的功能管理单位。ODL Helium中,所有应用包括MD-SAL都由Apache Karaf统一管理。 编译好controller后,去opendaylight目录下找到distribution,如下图所示: 然后在terminal下cd到bin目录下利用karaf启动controller Shell 1 ./karaf 图2 karaf启动controller 启动controller时会发生一些问题,例如: 试着敲入两个命令: Shell 1 2 export set JAVA_OPTS=”-Xms256m -Xmx512m” export?MAVEN_OPTS=-Xmx1024m?-XX:MaxPermSize=512m” 这两个命令是更改内存的,但是只是临时的更改,这样再启动controller就不错报错,但是需要将两个命令写进etc的profile文件中。 Shell 1 # gedit /etc/profile 在最后加入PATH的设置如下: Shell 1 export set JAVA_OPTS=-Xmx512m 三、controller、openflowPluginJava集成开发测试 integration是一个框架性的工程,所有自己开发和修改的部分(包括以上三个工程),编译为包后,都可以放在该工程的目录下一起执行。 注意,如果是自己开发的包,则可以直接放到该目录下。但是如果是修改的原本工程,然后编译的包要替换掉上面目录中原来的包,这里有个问题是?integration?的?plugin目录下的包名和?controller,?openflowplugin,?openflowjava?中编译出来的包命名方式有点小差别,复制过去之前先重命名下,使之和目录下的原来包文件名一致,再复制替换。 Shell 1 mvn clean install 对于helium版本的代码结构变化较大,目录发生了变化,参考一下目录: 1.openflowJava: Shell 1 /root/integration/distributions/karaf/target/assembly/system/org/opendaylight/openflowjava/ 2.openflowPlugin: Shell 1 /root/odl_Helium/integration/distributions/karaf

文档评论(0)

kanghao1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档