Openstack Horizon Icehouse Blueprint介紹(轉)

原文地址:陳沙克日誌

--------------------------------------

Openstack的Icehouse,4月17日發佈,目前Horizon的所有Blueprint都已經發布。Icehouse,對於Horizon來說,大概完成了70%的工作量,很多重要的功能,都需要等待下一個版本去實現,如果全部都實現,其實還是非常酷的。

Openstack目前已經有10個項目,要對每個項目深入瞭解,其實都是需要花費大量的時間和精力,Horizon項目是比較簡單,也是我最關注的,我整理一下。也希望國內的朋友一起努力,把其他項目的Blueprint都整理一下,方便大家對Openstack的新版本的理解。

基本把所有的Bueprint (BP)都過了一遍,應該算是看懂一大半以上吧。

Contents [hide]

Router Rules Support for Horizon

這個功能看上去很酷,租戶可以設置自己的路由器規則,不過我在router沒有找到任何地方可以設置。詳細看了一下Blueprint,原來這個功能,是需要Neutron BigSwitch plugin。你用ovs是沒戲。

現在Openstack上很多功能,都是廠商增加的,很大程度都會和硬件捆綁。

Add support for public container

這是swift相關的功能,當你創建一個容器的時候,你可以設置他的用戶的訪問權限ACL。這個功能,其實Rackspace和AWS都是有,尤其AWS上的ACL控制,功能是非常強悍的。

swift

Support for Live Migration

這個功能比較酷,國內關心這個的,實在太多。以前Dashboard裏提供的遷移,其實是冷遷移,現在已經可以熱遷移,不過我還沒測試。

Openstack上現在的本地存儲是支持,冷遷移和熱遷移,只是如果是本地存儲,遷移很慢而已。演示是比較酷的。

Snap1

 

Allow users to create pseudo directories independent from object upload

這也是swift的功能,其實你在dashboard裏看到swift上的文件夾,都是假的,對象存儲是沒有目錄的概念。

Horizon reusable charts

Dashboard要看的比較好看,就需要有各種的圖來顯示相關數據。這裏提供了柱狀圖和餅圖。以後大家要創建圖,就可以直接使用。

Horizon項目爲了讓所有的代碼都符合License,付出很大的代價,凡是不滿足License要求的都不用。

Inline editing for DataTables

如果我們希望編輯一些屬性,我們需要點擊edit的按鈕,跳出一個頁面進行編輯,這個顯得有點不太友好。有些情況下,可以直接在顯示的頁面裏,直接進行編輯。

Snap3

 

Introduce AngularJS as Frontend Javascript Framework

以前Horizon對輸入的數據是不進行前端的校驗,經常造成提交後報錯。最典型的一個案例,就是如果你的falvor小於你的鏡像要求,那麼就會出錯,如何在前端去避免這個錯誤呢。

引入這個Blueprint後,前端就可以做的更加豐富,用戶體驗更好。不過目前頁面裏,還沒很好使用這個功能,希望下一個版本,能全部實現。

Implement RBAC support for volume

RBAC,基於角色的訪問控制(Role-Based Access Control),這個功能,對於一個租戶下,多個用戶,進行權限劃分,就非常重要。

假設A用戶是管理員,b用戶只有查看的權限,C用戶可以創建虛擬機,維護自己的虛擬機。這些企業比較需要的功能,都需要RBAC來實現。甚至某個用戶只能看網絡,存儲。

所以Openstack所有的組件都需要RBAC,這樣纔算比較完善,目前只有幾個組件支持,後續的完善需要到J版本。如果你想相信瞭解這塊,可以去Rackspace看看,他們已經在Web端實現。

Automate style checking for javascript files

這個應該是和JS的代碼要求。寫代碼和Js的朋友可以深入研究一下。

Introduce a plugin architecture for Horizon

引入插件的機制,讓別的項目可以利用使用這個機制,擴展Dashboard。日後Openstack的其他項目,估計都會通過插件的方式,添加到Horizon裏。

現在比較流行所謂的APP Store,我想比較類似,如果你啓用某個插件,就會具備某個功能。

DataTable with support for Django Formset

這應該也是讓表格的數據顯示更加友好,和上面可以直接編輯表格數據比較類似。

Wizard UI for workflow modal dialog

這個功能很酷,引入的嚮導和工作流。例如虛擬機創建流程和網絡創建過程。

Snap4

這是一個很好的開始。虛擬機的創建流程需要到J版本,才能實現。

Remove the underscore library from Horizon

這個應該是代碼清理,說明真的很多人真的在幹活啊。

Hyper-V RDP console access

Dashboard裏,你可以通過console訪問linux的虛擬機,如果是windows的虛擬機,那麼以前是沒啥辦法的,如果這個windows的虛擬機的RDP端口沒有打開,那你就徹底沒戲。

通過這個,你可以通過console訪問到虛擬機,基本啥都可以做,類似你坐在機器前面,接顯示器在幹活。

Add cinder ‘extend’ volume functionality support

現在卷,已經可以擴大,這個功能,已經在Dashboard裏實現。

Snap5

Allow tables to be filtered based on criteria

當你虛擬機多了時候,頁面如何顯示和搜索,就是一個問題。增加了一個過濾條件,可以基於project來搜索。

Snap6

這裏其實還有點小問題,無法搜索全部。讓同事提交一個bug。

Create a volume as a copy of a volume

這個倒是很好理解,看圖

Snap7

 

Enhance UX of Navigation

這個Blueprint,非常大,是Redhat主導,讓Dashboard的風格,更加符合企業的使用習慣。

Snap8

看起來非常爽,至少我是這樣的感覺。

Extend the plugin-based config for Panel

這個功能我和同事驗證了一遍,以後對Dashboard做減法,就更加方便。什麼是Panel?

Snap11

1級菜單:project,admin,setting

二級,admin下的:system Panel和Identity Panel

3級:就是system panel下的菜單。你可以通過配置,讓這些菜單是否顯示。

/opt/stack/horizon/openstack_dashboard/enabled

裏面提供了一個例子

cp _60_admin_remove_panel.py.example _60_admin_remove_panel.py

重啓apache,就會發現System info的那個菜單沒有了。

 

Implement RBAC support for image

鏡像服務的RBAC,和RBAC的功能,都是HP提交的。

Modals and supporting different screen sizes

現在的顯示器分辨率大家差異還是不小。以前的做法就用大家最常用的1366×768來設計頁面,那麼在大顯示器顯示,效果並不太好。

這個功能我的理解是根據顯示器分辨率來顯示,改善顯示的效果。不同分辨率效果圖

Checks min requirements before trying to launch an instance

以前用戶登錄後創建虛擬機失敗,很大一部分原因就是選擇Flavor和鏡像要求不一致,硬盤或者內存不滿足需求。

如何解決這個問題呢?那就是你上傳鏡像的時候,設置好最小內存和最小磁盤,同時在創建虛擬機的流程裏,加上各種判斷。

Snap12

填寫完這兩個參數,你就會發現虛擬機創建流程,當你選擇image以後,Flavor會調整,並且小於需求的Flavor無法選擇。

Snap13

Preset the “Devize size” field in the “Launch Instance” form with the min_disk properties

看圖就明白,這其實是對上面的BP一個完善

Snap17

 

Provide an interface for managing host aggregates and availability zones

把以前需要命令配置的在Dashboard裏實現,這些都是管理員設置的。

Snap15

 

Support Cinder v2 in Horizon

Dashboard是根據keystone的endpoint來決定使用api的版本的。Horizon支持Cinder的最先版本的API。

Support different kinds of pie charts

支持不同的餅圖,

Write selenium tests for Horizon running in a Devstack

這個就和測試,devstack有關。

Allow user to view daily usage report

以前只能管理員看到全部的使用情況,用戶可以看到自己每天的使用情況,就是也有一個Overview的頁面

Heat Stack Update Action

就是創建完的heat 的stack,現在可以update。

Integration of the testing library Jasmine

這個和測試有關,AngularJS相關的測試,比較有學問,沒搞懂。

‘Update’ options for Neutron VPNaaS Horizon Support

VPN服務相關。可以對創建的vpn進行修改。

Add disk config option support

虛擬機創建的過程中,默認會根據你選擇的Flavor,把虛擬機的硬盤的根分區調整到最大。不過有些用戶並不希望這樣,他們希望自己手工區分區。

假設一個鏡像他的磁盤是20G,那麼他選擇一個40G的flavor,選擇手動分區,那麼你創建完的虛擬機,磁盤是20G,你需要手工的方式把剩下的磁盤20G,進行分區,添加到系統裏。

Snap16

 

Create metadata only object without a file

這個和swift有關

Flavor Extra Specs key templates

經常有人問:如何限制虛擬機的磁盤IO和網絡帶寬,方法很多,不過最簡單的就是通過Flavor。

Snap18

 

Modify object object

swift有關,可以update 對象的信息。

Test coverage improvement and refactoring

代碼清理工作

Enhance layout of headers (page title) in all views

前端的,就是讓左邊的導航,可以收縮起來,更加方便。

 

Django 1.6 support

現在最新的Django,應該是1.7,J版本,就會升級。Horizon項目更新還是很及時的。基本保證所有的組件都是最新的。

Decrypt and display VM generated password

這其實是windows鏡像的功能,把虛擬機創建隨機生成的密碼,可以進行加密。這個做法和AWS是一樣的。

Add an environment file to Stack creation/update

Snap19

Heat Fix Status Column

感覺着更多是一個bug fix。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章