DLUX组件扩展下篇-实践
一、文章目標(biāo)
1.1目標(biāo)
隨著SDN技術(shù)的逐步成熟,大量的傳統(tǒng)數(shù)通廠家和新型的IT廠家,都投入了一定的人員進(jìn)行相關(guān)的產(chǎn)品技術(shù)預(yù)研。而ODL作為SDN控制器的主要開源項目,自然也成了多數(shù)人學(xué)習(xí)和搭建模擬環(huán)境試驗的首選。但是,從本人切入了解、學(xué)習(xí)以及在此上面,完成產(chǎn)品預(yù)研的經(jīng)歷看,由于文檔缺失、網(wǎng)上各種文章質(zhì)量不等,從搭建環(huán)境、理解框架工作機(jī)制到完成模塊擴(kuò)展定制,花了大量的時間,因此特整理此文,希望從代碼組織、工作原理及擴(kuò)展實踐幾個維度,系統(tǒng)的說明相關(guān)步驟,以方便后續(xù)人員了解、少走彎路、節(jié)省時間!
另外,開源系統(tǒng)自帶的DLUX相關(guān)組件,由于界面比較簡約,個人認(rèn)為主要價值是示例性質(zhì)、各團(tuán)隊若在ODL基礎(chǔ)上,進(jìn)一步研發(fā)自己的產(chǎn)品,勢必會進(jìn)行組件擴(kuò)展,因此也希望本擴(kuò)展用例能再這方面也產(chǎn)生一定的推進(jìn)作用。
1.2文章環(huán)境及版本
1.3 所需背景知識
參考:DLUX組件擴(kuò)展上篇-原理
需要了解: DLUX 組件注冊的view的動態(tài)添加、UI-Route狀態(tài)設(shè)置、nav菜單添加、Sec-logo設(shè)置、編譯工程依賴等信息。
二、擴(kuò)展新組件
本節(jié)以增加新feature組件dlux-apps-cowin為例,逐步詳細(xì)介紹各個步驟:
2.1新Feature添加
./karaf(ODL的服務(wù)器端運行命令),系統(tǒng)默認(rèn)加載的feature信息配置文件為當(dāng)前目錄的../etc/org.apache.karaf.features.cfg文件中:
其中,紅色標(biāo)記為加載的opendaylight的集成feature信息,上述文件對應(yīng):
/home/sdn/opendaylight/distribution-karaf-0.6.4-Carbon/system/org/opendaylight/integration/features-integration-index/0.6.4-Carbon/ eatures-integration-index-0.6.4-Carbon-features.xml文件。
在Features.xml (dluxapps\features\features-dluxapps\src\main\features) 中,修改兩處:
確保在./karaf的控制臺下,使用
Feature:list | grep dlux 可以發(fā)現(xiàn)odl-dluxapps-cowin組件。
在當(dāng)前目錄下,增加Odl-dluxapps-cowin目錄,如下,并參考topology目錄下pom.xml配置工程文件:
Pom.xml文件如下:
2.2 新模塊的注冊
如圖,在dluxapps/Applications目錄下,創(chuàng)建對應(yīng)Cowin的目錄:
參考topology目錄,確定相關(guān)文件:
設(shè)置背景為淡藍(lán)色。
2.3 新模塊需要的資源的放置
在src\asserts\images下,放置:logo_cowin.gif文件
修改gulp.js的build.config.js文件,確保工程構(gòu)建時,拷貝到對應(yīng)的asserts目錄下。
2.4 根據(jù)運行web服務(wù)目錄構(gòu)建本地調(diào)試環(huán)境
見2.2 web服務(wù)目錄結(jié)構(gòu),拷貝ODL工程目錄下對應(yīng)的jar包并解壓到相應(yīng)目錄:
如:
默認(rèn)build 并install的工程目錄為Linux下當(dāng)前用戶根目錄.m2下:
~/.m2/repository/org/opendaylight/dlux/dlux.loader.resources/0.5.4-Carbon/
dlux.loader.resources-0.5.4-Carbon.jar,使用tar解壓到本地,文件內(nèi)容包括:
其它的modules組件在對應(yīng)的dluxapps目錄下,類似方式解壓到對應(yīng)目錄即可。
構(gòu)建目錄架構(gòu),如圖所示:
其中:
①、②就是dlux-Modules-loader-resources下文件
③是assets下image文件,需要將logo 文件放置在該目錄
④將dluxapps的新建的module cowin相關(guān)文件拷貝放置該目錄
2.5 編譯完成,并在karaf中install
2.5.1 編譯
編譯,在dluxapps目錄下,運行:
確認(rèn)編譯成功即可。
2.5.2 安裝
A:su運行./karaf
B:在控制臺,查看dlux相關(guān)的feature
命令: feature:list | grep dlux
如下所示:
C:安裝
命令: feature:install odl-dluxapps-cowin
如下所示:
2.6 web打開
輸入:http://20.0.0.22:8181/index.html,其中20.0.0.22為ODL運行服務(wù)器IP。
至此,一個全新的dlux module Cowin完全安裝成功!
三、其它說明
介于篇幅所限,文章只把關(guān)鍵的步驟和過程中,自己碰到的坑,都詳細(xì)記錄。但是還有比較多的如工程pom.xml文件配置等,未涉及,只要參考類似模塊,應(yīng)該可以順利完成。
原文發(fā)布時間為:2018-10-11
本文作者:M.S-Group.皮皮熊
本文來自云棲社區(qū)合作伙伴“SDNLAB”,了解相關(guān)信息可以關(guān)注“SDNLAB”。
總結(jié)
以上是生活随笔為你收集整理的DLUX组件扩展下篇-实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: laravel-admin 安装(总结)
- 下一篇: DialogFragment源码分析