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