A Guide to OpenStack Kilo Developer Contributions

OpenStack is having its twice a year event in Vancouver, B.C. this week. At the event, a design summit focuses on OpenStack’s technology direction. From these discussions, the developers start making the blueprints to get new features integrated into future releases. They also discuss bugs and fixes that are needed. Liberty is the next release, scheduled to be released October 15, 2015.
Atul has several years experience working on OpenStack. He is one of the earliest documentation core contributors. He started working on OpenStack following Cactus, the third release, which came out in April 2011, just after Bexar. He serves as one of the community leads in India. In this analysis, he looks at some of the more interesting features that were added by the community, and those which provide the most overall benefit to the project’s health, along with comparisons to the previous release, OpenStack’s Juno.
Nova
- Nova is the compute part of OpenStack.
- Its blueprint suggests that 45 new features have been added to the project.
- In the previous release, Juno, Nova had 50 features added.
New features of interest:
- Additions to enable EC2 API standalone service.
- Microversions support for the Nova REST API.
- It honors the anti-affinity policy on migration and evacuation.
See a full blueprints list here.
Glance
- Glance is the image repository of the OpenStack project.
- According to the Glance blueprint, 21 new features have been implemented.
- In previous release, Juno, Glance had only 5 features added.
New features of interest:
- Glance sorting enhancements.
- Catalog index service for API improvement.
- Added capabilities to the storage driver.
See a full blueprints list here.
Swift
- Swift is the object storage component of OpenStack.
- It was one of the core projects in the initial launch of OpenStack.
- It should be noted that Swift follows its own release cycle.
- As per Swift’s blueprint, only 3 new features have been implemented.
- In the previous release, Juno, Swift had 15 features added, the priority of most of these feature sets are undefined.
New features of interest:
- Swift ring overload concept.
- Change the ratelimit black/white listing to use sysmeta.
- Fix large out-of-sync, out-of-date containers.
See the full blueprints list here.
Horizon
- Horizon is the OpenStack dashboard which is used to manage and configure the entire lifecycle management.
- It is written in a Python/Django framework.
- According to the Horizon blueprint, 39 new features have been implemented.
- In the previous release, Juno, Horizon had 53 features added.
New features of interest:
- Federated identity via WebSSO.
- Support domain admin login.
- Enable associating routers in a tenant, with firewall resource.
See the full blueprints list here.
Keystone
- Keystone is the authentication component of OpenStack.
- According to the Keystone blueprints, 25 new features have been implemented.
- In the previous release, Juno, Keystone had 23 features added.
New features of interest:
- Implement filtering for lists in the LDAP backend.
- An extension to enable storing of domain specific configs in SQL.
- Hierarchical multi-tenancy.
See the full blueprints list here.
Neutron
- Neutron drives the networking component of OpenStack.
- According to the Neutron blueprint, 44 new features have been implemented.
- In the previous release, Juno, Neutron had 53 features added.
New features of interest:
- Allow specific floating IP address.
- Add port security support to the ML2 OVS mechanism driver.
- DHCP service load balancing scheduler.
See the full blueprints list here.
Cinder
- The Cinder project aims to provide persistent storage to instances.
- As per Cinder’s blueprint, 75 new features have been implemented.
- In the previous release, Juno, Cinder had 30 features added.
New features of interest:
- Backup support for encrypted volumes.
- Introduction of Cinder objects.
- Attach a single volume to multiple hosts.
See the full blueprints list here.
Telemetry
- The Telemetry project aims to provide metering service to various OpenStack components.
- As per the Telemetry blueprint, 24 new features have been implemented.
- In the previous release, Juno, Telemetry had 26 features added.
Features of interest:
- Addition of disk meters: capacity, usage and allocation.
- Addition of new notifications types for volumes/snapshots.
- Ability to set a severity level on the alarm in Ceilometer.
See the full blueprints list here.
Heat
- Heat aims to provide a template-based orchestration for OpenStack components and overall lifecycle management of the components.
- As per the Heat blueprint, 42 new features have been implemented.
- In the previous release, Juno, Heat had 30 features added.
New features of interest:
- Swift multi-region support for Heat.
- Retry of failed API calls.
- Supports Cinder API version 2.
See the full blueprints list here.
Trove
- The Trove project aims to provide cloud-database-as-a-service provisioning functionality for both relational and non-relational database engines.
- As per the Trove blueprint, 11 new features have been implemented.
- In the previous release, Juno, Trove had 14 features added.
New features of interest:
- Migration from Oslo RPC to oslo.messaging.
- Replication of V2 features: manual failover, slave count and incremental snapshots.
- Adds an instance name as a parameter to various CLI commands.
See the full blueprints list here.
Sahara
- The Sahara project provides a simple means to provision a data-intensive application cluster (Hadoop or Spark) on top of OpenStack.
- As per the Sahara blueprint, 52 new features have been implemented.
- In the previous release, Juno, Sahara had 32 features added.
New features of interest:
- Supports auth policy like other OpenStack projects.
- Sahara HTTPS support.
- Add timeouts for infinite polling of smth.
See the full blueprints list here.
Ironic
- Ironic aims to provision bare metal machines instead of virtual machines, forked from the Nova baremetal driver.
- It is added as an integrated project in the Kilo release of OpenStack.
- We have compared the feature set with the Juno release while it was an incubated project.
- As per the Sahara blueprint, 26 new features have been implemented.
- In the previous release (while it was an incubated project), Kilo, Ironic had 23 features added.
New features of interest:
- Discover node properties with node-set-provision-state.
- Ironic drivers to support local boot with partition images.
- Allows drivers to have their own periodic tasks.
See the full blueprints list here.
Final Conclusion
Cinder has the maximum number of features added in the Kilo release of OpenStack, while Swift shows a minimum addition of features.
Feature image via Flickr Creative Commons.