AOC萌新探索:搭建和體驗線上AOC環境
摘要:AOC是一個做網路裝置自動化運維以及三方裝置納管的一個能力平臺。
本文分享自華為雲社群《AOC萌新探索之旅第一期——線上AOC環境初體驗》,作者:oysterzz。
接觸AOC沒多久,這裡本萌新打算開一系列貼記錄一下學習過程中的日常;中間一些深水區幫大家趟一下,希望能夠幫得上大家。
先大概介紹一下自己吧,應該會有不少能力模型相仿的同學,可以一起交流學習;我之前接觸過裝置,敲過CLI給裝置下配置,做過運營商網路交付;程式碼方面算是熟悉C,搞過幾年C的開發,python java會個皮毛;進入正題吧。
其實在接觸AOC之前,大概初步瞭解到AOC是一個做網路裝置自動化運維以及三方裝置納管的一個能力平臺;要學習體驗AOC,那我一方面是得有個AOC,還需要一個網路裝置;最後還得有個python的環境來搞程式碼開發。
python的開發環境倒是好搞,但是AOC和網路裝置我該怎麼辦呢?
這個時候我發現了社群首頁的線上開發
進入線上開發頁面後,這三個不就是我需要的AOC、python環境以及網路裝置嘛;(雪中送炭)
- AOCmini提供了一個線上版AOC,
- CloudIDE提供了一個線上的python環境,
- AOCMONI提供了一個網元裝置模擬器。
進入環境的時候需要華為雲的實名認證,這裡遇見了一個問題,在社群中也看到了其他小夥伴有遇到過,實名認證後再次進入環境的時候還是提示未實名認證;
這裡諮詢了社群的支援人員,這個問題是由於華為雲的實名認證與社群這邊的資料庫同步需要一點時間觸發,一般等幾分鐘就可以進入環境了。這個問題也是勸退萌新的一條攔路虎了,其實這個就是華為雲在後臺為每位開發者起了一臺虛擬機器,其實也是夠大方了,畢竟免費試用。
到這裡心裡還有最後一個疑惑,就是這三個工具是怎麼在雲上串聯起來的呢,算了先不管那麼多了,先點進去看看。我這裡多少有點編碼情節,第一個進入的是CLOUD IDE。
整個IDE介面跟PYCHARM等主流IDE相似,左側右側可以看到有外掛相關的圖示,應該是可以從CLOUD IDE 應用商店下載外掛安裝。
右側可以看到有個藍色的AOC圖示
點開之後可以看到這個IDE預設安裝了AOCmini與AOCmoni的外掛服務,這裡也解釋了我心裡最後一個疑問,就是IDE、AOC環境、裝置環境是如何串聯起來的。
這裡可以看到有除錯開關以及開啟外掛的開關,點選開啟,果然不出所料打開了AOCmoni與AOCmini,這裡基本可以確定,IDE中開發的程式碼執行起來的資料可以通過IDE的外掛功能與AOCmini以及AOCmoni互通進行程式碼debug,這也就基本滿足了一個開發者學習開發流程基本的環境要求了
下面我們具體來試一下debug功能,看看用起來如何。
在CLOUD IDE與AOCmini中我們可以看到系統預置了一個名叫aaamini的SSP包
這裡看預設已經將IDE裡的SSP包載入至AOCmini上,(下一回我們具體看看怎麼在IDE裡編輯包然後再上傳至AOCmini),現在我們試試看怎麼讓IDE和AOCmini一起debug起來。
首先要在AOC外掛列表中獎除錯開關開啟,開啟後如下圖所示。
然後我們找到aaamini這個SSP包的業務python檔案,憑藉“豐富的程式碼經驗”鎖定如下檔案,其實還是挺容易找的,因為實際就倆正經py檔案,悄悄吹一下python。
紅框是主業務實現的檔案,黃框是一個UT測試檔案(UT後續開貼我們詳細來講)。
大概看了下ncs_map這個方法應該就是下發配置時做模型對映的主入口了,二話不說我們打上斷點先試一把看看。
打上斷點後,我們來到AOCmini中的業務管理介面,點選增加來新增一條配置
需要我們填寫一下username,然後點選建立;
這個時候我們看到需要填寫一個nename,這裡其實就是看將此次配置下發給具體哪臺裝置;
由於要看下發給哪臺裝置,我們得知道現在AOC現在對接的裝置有哪些,點選資源->裝置管理,我們可以看到AOCmini預設對接了一臺名為NE1的NE40E;所以我們將nename填寫為NE1就可以了。
點選試執行後,切回IDE介面點選run->StartDebugging,可以看到IDE中的程式已經執行起來,暫停到我們剛才打的斷點處。
點選continue將程式執行完成,可以看到AOCmini的頁面中就彈出了試執行結果的對話方塊。
這裡結合程式碼大概看了一下,ncs_map這個方法其實就是將我們剛才在網頁上輸入的引數通過下圖中的jinja模板進行了對映組合成一個netconf報文。
第一次就先記錄這麼多吧,其實就是體驗了一下AOC線上環境的debug功能。
中間也遇到了一些預料之外的問題,不過總體流程還是比較容易理解的,下一次繼續探索一下線上環境,包括包的編輯載入,希望大家多多關照多多交流。