OpenStack Kilo版本已經於2015年4月30日正式Release,這是OpenStack第11個版本,距離OpenStack項目推出已經整整過去了5年多的時間。在這個階段OpenStack得到不斷的增強,同時OpenStack社區也成為即Linux之后的第二大開源社區,參與的人數、廠商眾多,也成就了OpenStack今天盛世的局面。雖然OpenStack在今年經歷了Nebula的倒閉,但是隨着國內的傳統行業用戶對OpenStack越來越重視,我們堅信OpenStack明天會更好。
OpenStack Kilo版本的完整翻譯版本可見:https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans
OpenStack Kilo版本的翻譯工作由我和我的同事裴瑩瑩(Wendy)共同完成,翻譯校對工作由裴瑩瑩完成。如果翻譯有任何問題,請各位多多指正。
我們先來看一下OpenStack在最近的4個穩定版本發布中,每一個項目的貢獻情況:
我們能夠很明顯的發現,OpenStack最早的幾大核心模塊(Nova, Cinder, Glance, Keystone, Horizon, Swift)的代碼貢獻所占比例呈明顯下降趨勢,這里強調一下,是比例而不是數量,從數量上來看,版本之間相差並不大,以Nova為例,從Havana版本的24%下降到如今的10%。這從一個側面反映了OpenStack的核心模塊日趨穩定,更多的關注集中到更高層次或者功能優化上。
Neutron模塊則一直處於穩中有升的狀態,從Havana版本的7%上升到10%,說明Neutron仍然處於需要進一步完善的狀態。
對於Ceilometer,Heat,Sahara,Ironic, Trove等新晉的核心模塊,都處於穩步增長的階段。貢獻的比例在四個版本中基本保持持平的態勢。在Kilo版本中,Sahara和Heat進入了前十名。
從Kilo版本的比例來看,Others的比例過半,Others主要包括了OpenStack測試相關項目,例如Rally;開發相關項目,例如Devstack;以及一些新的模塊,例如:Manila,Magnum等眾多進入孵化器的項目;還包括所有的Client以及Spec等。可以預見,OpenStack的開發重心逐步從底層的核心模塊,逐步向更高層次、提供更豐富功能的方向發展。
從企業貢獻排名來看,幾大巨頭企業牢牢占據貢獻榜的前幾名,OpenStack最成功的公司-Mirantis排名緊追Redhat成為第二貢獻大戶。排名前幾位的公司還包括:IBM, Rackspace, Cisco, Suse, VMware, Intel等。
國內方面,華為繼續穩定在第13名,但Review的數量從Juno版本的1353提升到2548個,貢獻的項目幾乎涵蓋所有的項目,主要貢獻來自Heat,Ceilometer, Horizon,Neutron, Nova等項目。
國內排名第2的貢獻企業是九州雲,排名達到了21位,看來龔永生的到來為九州雲添加了無限活力。九州雲的貢獻主要來自Horizon和Neutron兩個項目,龔永生不愧為Neutron的Core,在網絡方面的貢獻,九州雲的確很給力。
排名第3的企業是海雲捷迅,排名為44位,海雲是國內比較早的一批OpenStack創業企業,貢獻方面以Sahara,Neutron,Nova,oslo.messaging以及Cinder為主,從之前了解的情況來看,海雲的項目不少,可能提交的修改是與在實際項目中遇到的問題有關。
排名之后的企業還有Kylin Cloud,UnitedStack,EasyStack等。由於是手工統計,在統計過程中如有遺漏,希望大家多多指正。
Horizon在K版本除了增強了對新增模塊的支持,從UE的角度也為我們帶來了很多新功能
LAUNCH_INSTANCE_NG_ENABLED = True
CUSTOM_THEME_PATH = 'static/themes/blue'
$gray: #2751DB !default;
$gray-darker: #94A5F2 !default;
$gray-dark: #0C0CED !default;
$gray-light: #C7CFF2 !default;
$gray-lighter: #DCE1F5 !default;
$brand-primary: #375A7F !default;
$brand-success: #00bc8c !default;
$brand-info: #34DB98 !default;
$brand-warning: #F39C12 !default;
$brand-danger: #E74C3C !default;
// Blue
// ----
@mixin btn-shadow($color) {
@include gradient-vertical-three-colors(lighten($color, 3%), $color, 6%, darken($color, 3%));
filter: none;
border: 1px solid darken($color, 10%);
}
// Buttons ====================================================================
.btn-default,
.btn-default:hover {
@include btn-shadow($btn-default-bg);
}
.btn-primary,
.btn-primary:hover {
@include btn-shadow($btn-primary-bg);
}
先來解釋一下為什么需要API的微版本:主要原因在於現在這種API擴展方式,對於API實現的代碼的增加或減少管理非常不方便,容易導致不一致性。引入微版本主要目的就是讓開發人員在修改API代碼時能夠向前兼容,而不是加入一個新的API擴展;用戶通過指定API的版本,在請求時也能決定是使用的具體的動作。
包含版本的返回:
GET /
{
"versions": [
{
"id": "v2.1",
"links": [
{
"href": "http://localhost:8774/v2/",
"rel": "self"
}
],
"status": "CURRENT",
"version": "5.2"
"min_version": "2.1"
},
]
}
客戶端的Header信息:
X-OpenStack-Nova-API-Version: 2.114
這個問題的產生主要是因為Evacuate的清理機制,主機名的變化會導致nova-compute重啟過程中誤刪所有虛擬機,所以一個變通的方法是設置
destroy_after_evacuate=False
這個問題會在Liberty中得到修復,相關的Spec:https://review.openstack.org/#/c/161444/3/specs/liberty/approved/robustify_evacuate.rst
/images?sort_key=status&sort_dir=asc&sort_key=name&sort_dir=asc&sort_key=created_at&sort_dir=desc
cinder consisgroup-update
[--name NAME]
[--description DESCRIPTION]
[--add-volumes UUID1,UUID2,......]
[--remove-volumes UUID3,UUID4,......]
CG
cinder consisgroup-create-from-src
[--cgsnapshot CGSNAPSHOT]
[--name NAME]
[--description DESCRIPTION]
cinder type-create <name> --is-public
cinder type-create <name> <description>
網絡方面我不是權威,希望有高人能出來講講Kilo中的Neutron新功能。
POST /projects
{
"project": {
"description": "Project space for Test Group",
"domain_id": "1789d1",
"enabled": true,
"name": "Test Group",
"parent_id": "7fa612"
}
}
client
\
\ <request>: <path-specific-to-the-service>
\ x-auth-token: <user-token>
\
SERVICE
\
\ PUT: /v1/SERVICE_1234/<container>/<object>
\ x-auth-token: <user-token>
\ x-service-token: <service-token>
\
Swift
具體的設計文檔:http://docs.openstack.org/developer/swift/overview_backing_store.html
{
"context_is_admin": [["role:admin"]]
}
更細粒度的控制
{
"context_is_admin": [["role:admin"]],
"admin_or_cloud_admin": [["rule:context_is_admin"],
["rule:admin_and_matching_project_domain_id"]],
"telemetry:alarm_delete": [["rule:admin_or_cloud_admin"]]
}
解決了很多之前遺留的技術債,還有一些命名規范的問題。olso.messaging實現了心跳,olso.log在所有項目中使用,優化了oslo.db的代碼。
優化了docs.openstack.org頁面,也可以從中選擇相應的語言。有專門的團隊負責安裝、網絡和高可靠的文檔。
對於Sahara, Heat, Trove等模塊的更新沒有在這里Highlight出來,大家可以參考更新日志里的內容,或者查看specs中的具體描述。
通過Kilo的一些更新可以看到,Kilo版本在不斷優化代碼結構的基礎上,增加了一些新功能,也償還了一些技術債,總體來說是一種穩中有升的態勢,但是總體感覺並沒有太多的驚喜和出人意料。相信隨着更多的孵化項目進入正式版本中,OpenStack一定會向更多元化的方向發展。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。