SDN开发笔记(五):应用程序集成到ODL控制器

前言

继之前分享的几篇文章之后,这篇文章分享我开发odl应用程序过程当中如何将自己写的模块集成到odl控制器当中,这里假设我们已经搭建好开发环境,并且具备YANG模型知识,因为基于md-sal的开发总是免不了要写YANG文件。

关于如何搭建环境以及编写app等等请阅读下前几篇文章。

1、SDN开发环境的搭建(win7环境)

2、SDN控制器的使用(ubuntu环境搭建、controller使用、mininet的使用)

3、ODL源码编译生成发行版控制器

4、md-sal应用程序开发指南

5、应用程序集成到ODL控制器

6、yang模型详解

7、md-sal的l2switch源码分析

前期工作

1、根据上一篇文章生成的example工程,验证该APP没有错误。

2、下载odl源码,注意需要下载对应的odl版本,比如我这用li-sr3,如下下载源码并编译也请查看前几篇文章吧。

模块集成至odl控制器

1、将模块集成至odl可以使得每次我们更新时能够直接输入一条命令feature:install来安装模块,省去了每次控制器与自己app分隔两地的麻烦,同时控制器版本发布时,也可以给测试一个完整文件,将Example模块集成至odl控制器是件很值得一做的事情。

2、新建的Example模块集成至odl控制器需要修改odl-controller两个文件,一是odl-1.0.0/distribution/features/index/pom.xml,在该文件中添加example的features依赖。

3、二是修改odl-1.0.0/distribution/features/index/src/main/resources/features.xml文件,添加内容为:

4、回到distribution目录重新编译

5、编译成功在odl-1.0.0/distribution/distributions/karaf/target得到

6、在assembly文件夹中是编译出来的控制器文件,可以找到bin中的karaf运行

7、另外编译过程还打包了distribution-karaf-0.3.3-Lithium-SR3.tar.gz和distribution-karaf-0.3.3-Lithium-SR3.zip文件,两个文件即官方上提供下载的发行版控制器。可以将distribution-karaf-0.3.3-Lithium-SR3.tar.gz复制到其他jvm环境解压运行。

在odl控制器中测试验证模块功能

1、本例中将distribution-karaf-0.3.3-Lithium-SR3.tar.gz文件复制到另外一台vm,解压并运行。由于通过web浏览器访问odl需要odl-dlux-all组件,因此在控制器控制台输入

feature:install odl-dlux-all

feature:install odl-example-rest

通过feature:list –i可以看到已经将我的Example模块安装到了odl控制器

2、通过web浏览器访问odl,可以看到yangui中已经存在Example模块

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2016-09-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

Linux常用命令

Linux常用命令 常用指令 ls   显示文件或目录 -l 列出文件详细信息l(list) -a ...

56260
来自专栏www.96php.cn

[ecshop模板]ecshop会员中心点击查询包裹报错修改方法

会员中心中点击跟踪包裹,显示链接错误。您是否遇到过这个问题呢,修改方法其实很简单,操作如下: ? 修改themes/68ecshop_XXX/user_tran...

33140
来自专栏云计算与大数据

研发:Idea工具因为版本工具设置问题,导致全是红色

I have the current status of my files in the folders coloured red/brown. I tried...

15530
来自专栏Rgc

redis权限认证及登录

64710
来自专栏测试开发架构之路

redis集群部署那点事Redis报错:WRONGTYPE Operation against a key holding the wrong kind of value 解决处理

 参考:https://blog.csdn.net/wzygis/article/details/51705559

15830
来自专栏陈树义

1.Redis 的安装

一、Redis 介绍 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。...

30990
来自专栏java 成神之路

window 查找 java 进程中占用cpu比较高的线程

42190
来自专栏小白安全

小白博客 linux常用操作命令

常用指令 ls   显示文件或目录      -l 列出文件详细信息l(list)      -a 列出当前目录下所有文件及目录,包括隐藏的a...

29870
来自专栏张善友的专栏

CentOS 7 安装Java 1.8

38560
来自专栏24K纯开源

使用Qt installer framework制作安装包

一、介绍     使用Qt库开发的应用程序,一般有两种发布方式: (1)静态编译发布。这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中。其优...

35380

扫码关注云+社区

领取腾讯云代金券