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一定会向更多元化的方向发展。
原文地址:http://blog.csdn.net/xiaoquqi/article/details/45822739