The OpenStack kilo version was released on April 30, 2015, the 11th version of OpenStack, which has been in the past 5 years since the OpenStack project was launched. At this stage, OpenStack has been enhanced, and the OpenStack community has become the second largest open source community after Linux, with a large number of participants and numerous vendors, as well as the success of OpenStack today. While OpenStack has gone through some startups this year, we believe that OpenStack will be better tomorrow as users of traditional industries in the country increasingly value OpenStack.
Full translated version of the OpenStack Kilo version is visible: Https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans
The kilo version of OpenStack was translated by me and my colleague Pei (Wendy), who completed the translation proofreading work by Pei. If there is any problem in translation, please advise me.
Community Contribution Analysis
Let's take a look at OpenStack's contribution to each of the last 4 stable releases:
It is clear to us that the proportion of OpenStack's first major core modules (Nova, Cinder, Glance, Keystone, Horizon, Swift) contributed significantly to the downward trend, and here the emphasis is on proportion rather than quantity, In terms of quantity, the difference between versions is not significant, with Nova as an example, from the Havana version of 24% down to today's 10%. This reflects the growing stability of OpenStack's core modules, with more focus on higher levels or functional optimizations.
Neutron module has been in a steady state of Ascension, from the Havana version of 7% to 10%, indicating that neutron is still in need of further improvement of the state.
For Ceilometer,heat,sahara,ironic, trove and other new core modules, are in a steady growth stage. The proportion of contributions remains essentially flat in four versions. In the Kilo version, Sahara and Heat entered the top 10.
From the kilo version of the scale, the ratio of others to more than half, others mainly include OpenStack testing related projects, such as rally, development of related projects, such as Devstack, and some new modules, such as: Manila, Magnum and many other projects to enter the incubator, including all the client and spec. It can be predicted that OpenStack's development focus gradually from the bottom of the core modules, gradually to a higher level, to provide richer functions in the direction of development.
Analysis of domestic Community contribution
From the corporate contribution rankings, several big companies firmly occupy the top of the contribution list, OpenStack's most successful companies-mirantis ranked closely after Redhat became the second largest contributor. The top companies include IBM, Rackspace, Cisco, Suse, VMware, Intel and more.
Domestically, Huawei continued to stabilize in 13th place, but the number of review from the Juno version of 1353 to 2,548, contributing to projects covering almost all projects, mainly contributed from Heat,ceilometer, Horizon,neutron, Nova and other projects.
Ranked 2nd in the domestic contribution of the enterprise is the Kyushu cloud, ranking reached 21, it seems that the arrival of Sheng for the Kyushu Cloud added unlimited vitality. Kyushu Cloud's contribution is mainly from the horizon and neutron two projects, Sheng is worthy of neutron core, the contribution of the network, the Kyushu cloud is indeed very strong.
Ranked 3rd of the enterprise is the Sea Yun Jiexun, ranked 44, is a relatively early group of OpenStack Venture Enterprise, contribute to Sahara,neutron,nova, Oslo.messaging and Cinder-based, from the previous understanding of the situation, there are many projects, there may be submitted modifications are related to the problems encountered in the actual project.
After the ranking enterprise also has Kylin cloud,unitedstack,easystack and so on. Because it is manual statistics, in the statistical process, if there are omissions, I hope you will correct me.
New Horizon Features
Horizon in the K version in addition to enhanced support for new modules, from the UE point of view also brought us a lot of new features
- The wizard-enabled creation of the virtual machine is now in beta, and if you want to activate in horizon, you can configure it by setting local_setting.py:
LAUNCH_INSTANCE_NG_ENABLED = True
- Support simple themes, mainly by modifying _variables.scss and _style.scss to complete the theme color and simple style changes, but the landscape can not change, modify local_settings.py
‘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%)); FilterNone; Border1PX Solid Darken ($color,Ten%);}//Buttons ====================================================================.Btn-default,.Btn-default: hover {@include BTN-shadow($btn-default-BG);}.Btn-primary,.Btn-primary: hover {@include BTN-shadow($btn-primary-BG);}
Nova new features Nova Scheduler
- Standardized interface between Conductor,compute and scheduler to prepare for subsequent interface separation
- Some optimizations have been made to scheduler, for example: Scheduler for each request will be filters/weighers, in order to optimize this problem, Filter/weighter initialization from handler to scheduler, This can be reused every time the request is made.
- In the next version, Scheduler will be separated to Gantt, so there is some preparation for the separation in this release.
Libvirt NFV Related Features
- NUMA (Non Uniform memory Architecture), under which each processor accesses a "local" pool of memory, resulting in a smaller latency and greater bandwidth between the CPU and the storage.
- Implementations for this feature in the kilo release include the implementation of NUMA-based scheduling, the ability to bind Vcpus to a physical CPU, and the support for oversized pages. The three points mentioned above are defined by flavor's extra spces.
EC2 API
- The EC2 API was kicked out of Nova.
- Instead, the EC2 API conversion service in Stackforge
API microversioning
First of all, explain why you need a micro-version of the API: The main reason is that this way of API extension, the API implementation of the code to increase or reduce the management is very inconvenient, easy to cause inconsistencies. The main purpose of introducing a micro-version is to allow developers to modify the API code to be forward compatible, rather than to add a new API extension, the user can specify the version of the API, the request is also able to determine the specific action to use.
Contains the return of the version:
GET /{ "versions": [ { "id""v2.1", "links": [ { "href""http://localhost:8774/v2/", "rel""self" } ], "status""CURRENT", "version""5.2" "min_version""2.1" }, ]}
Header information for the client:
X-OpenStack-Nova-API-Version2.114
A known issue: evacuate
This problem is mainly due to the evacuate cleanup mechanism, host name changes will cause the Nova-compute restart process mistakenly delete all virtual machines, so a workaround is to set
destroy_after_evacuate=False
This issue will be fixed in liberty, the related Spec:https://review.openstack.org/#/c/161444/3/specs/liberty/approved/robustify_evacuate.rst
Glance new features
- Automatic conversion of image format, for example, Ceph is using RAW format, if we upload QCOW2, create a virtual machine, we will experience a upload download process, the speed is unusually slow. And the raw format is usually the original size, upload time is very slow, completely can be uploaded by the small image automatically converted to the specified format.
- Glance support for multi-field sorting
/images?sort_key=status&sort_dir=asc&sort_key=name&sort_dir=asc&sort_key=created_at&sort_dir=desc
- Temporarily set the image to inactive state, if there is a virus in a mirror, the administrator will set the image to inactive, after the cleanup, re-publish the image, in the process, all non-administrator users can not use or download this image
- No restart dynamic load profile, configuration file changes after the restart service, you can now send the Glance service Sighup trigger, so that the upgrade can be zero time.
- Reduce request bottlenecks in large-scale deployments with multiple Swift container storage mirrors
Cinder new features
- Decoupling the service logic code from the database structure, enabling rolling updates
- A consistency group refers to a volume that has a common operation and is logically set. Features in the K release for enhanced consistency groups: You can add, delete volumes, create new groups from existing snapshots, and refer to the detailed actions for consistency groups: http://docs.openstack.org/admin-guide-cloud/content/ Consistency-groups.html
cinder consisgroup-update [ -- name Name [ Span class= "Hljs-subst" >-- description description [ -- add-volumes uuid1,uuid2, ... [ Span class= "Hljs-subst" >-- remove-volumes uuid3,uuid4, ... ... CG
cinder consisgroup-create-from-src[--cgsnapshot CGSNAPSHOT][--name NAME][--description DESCRIPTION]
- The enhancements to volume types include two: Create a private volume type for a project and add descriptive information for the volume type
type-create <name> --is-publictype-create <name> <description>
Neutron new features
- DVR Support OvS in the VLANs
- The new V2 version of the Lbaas API
- New plugin updates, see the update log for details
- Separation of some advanced services, such as: L3, ML2, Vpnaas, LBaaS
Network aspect I am not authority, hope to have a tall man can come out to talk about kilo in the neutron new function.
Keystone new features
- Project nesting, when you create a new project, you can specify the parent's project
POST /projects{ "project": { "description""Project space for Test Group", "domain_id""1789d1", "enabled"true, "name""Test Group", "parent_id""7fa612" }}
- Keystone and Keystone Alliance, with this feature two or more cloud service providers can share resources, this feature was introduced in the J version, in the K version is mainly for the further enhancement of the function, the specific use of the method can refer to this blog:/http blog.rodrigods.com/playing-with-keystone-to-keystone-federation/
- Some enhancements to new licensing
- Some of the configurations in the Keystone have changed, For example: Keystone.token.backends.memcache is replaced by Keystone.token.persistence.backends.memcache, please refer to the update log for more detailed information
New features for Swift
- Erasure code to join should be the biggest highlight of this version, but the erasure code as a beta release, is not recommended for production environment, the detailed introduction of erasure code can be consulted: http://docs.openstack.org/developer/swift/ Overview_erasure_code.html
- A composite token, in short, requires the user to add a service token to manipulate the contents of the Swfit, as shown in:
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
Specific design documents: http://docs.openstack.org/developer/swift/overview_backing_store.html
- Global cluster replication optimization to increase efficiency and avoid data spread over WAN
Ceilometer new Features
- Supports Ceph object storage monitoring when the object is stored as Ceph instead of Swfit, using the polling mechanism to obtain data using Ceph's Rados Gateway API interface, the specific design document: https://github.com/ Openstack/ceilometer-specs/blob/master/specs/kilo/ceilometer_ceph_integration.rst
- Ceilometer API RBAC-finer granularity of permissions control: Https://github.com/openstack/ceilometer-specs/blob/master/specs/kilo/ceilometer-rbac.rst
{ "context_is_admin"[["role:admin"]]}
Finer-grained control
{ "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"]]}
- Interface in the fuzzy query, added a new query symbol =~
- Support for more measurements, including HYPER-V,IPMI-related
Ironic new features
- Optimization of the ILO
- Replacing the metadata Service with config drive
- Full-image support, you can skip raddisk and kernel, so you can deploy Windows mirroring
- Use local disk boot, instead of PXE mode, can be implemented by setting flavor Capabilities:boot_option
Oslo
Solved a lot of legacy technical debt, there are some naming conventions. Olso.messaging realizes the heartbeat, Olso.log is used in all projects and optimizes the OSLO.DB code.
OpenStack Documentation
The docs.openstack.org page is optimized, and you can select the appropriate language from it. A dedicated team is responsible for installation, networking and high-reliability documentation.
Other modules
For Sahara, Heat, trove and other modules of the update not here highlight out, you can refer to the contents of the update log, or see the specific description in specs.
Summarize
Some of the updates from Kilo can be seen, the Kilo version on the basis of constantly optimizing the code structure, adding some new features, but also repay some technical debt, overall is a steady rise in the situation, but the overall feeling is not too much surprise and unexpected. It is believed that as more incubation projects enter the official version, OpenStack is bound to evolve in a more diversified direction.
New features of the OpenStack kilo release