Sneak Peek into Heat New Features in OpenStack Kilo Release

It still feels like the last OpenStack Summit in Paris has just ended, the amazing views of Paris are sill fresh in memory and the magnificent scents of the delicious meals are still lingering, but[back to reality] we are already far into the Kilo schedule, at the second iteration of the Kilo Cycle.

A lot has been discussed during Kilo design sessions, and at this point in the cycle a lot has been already implemented. Some of the new features that are completed in Kilo-1 iteration are ones that didn’t make it to the Juno release and are now completed, and some of the new features that are implemented are result of Kilo design sessions.

Here’s a sneak peek at the new upcoming features in Kilo release:

Decouple nested stacks from their parent

Creating a tree of many nested stacks resulted in the entire stack tree getting processed.  Every stack operation was processed by a single-engine process, when access to every nested stack was serialized by the same global lock.

This blueprint includes decoupling of nested stacks from their parent by processing them via separate RPC requests, which allows more effective distribution of the workload involved with managing large hierarchies of stacks by enabling each to be potentially processed by a different heat-engine process.

Improve the usability of template resources

One of Kilo’s design sessions was dedicated to improve usability of heat and HOT (Templates) and number of the suggestions that were raised during the session were already implemented:

Add "parameter_defaults" to the environment
This give the user a way to set defaults recursively down nested stacks without having to create the parameter in every template (it's ignored if the template does not have the parameter).
Add support for pass through references
To make template resources more transparent we now support the user adding an output "OS::stack_id" to a nested stack. This is then used by get_resource in the outer stack.Note: it is expected to use this as follows:
    value: {get_resource: my_server}
Support better access to nested attributes
This makes it easier to get access to attributes  with in a nested stack.

Multi Region Support for Heat

Heat now can manage Stacks in different regions using one template file. This adds new resource type called OS::Heat::Stack which allows creating new stacks in specified region.

Enable Stack snapshot/rollback

Heat allows to create snapshots of the entire stack, ie save the resolved template at a point in time, along with all resource metadata, and volume point-in-time snapshots, then on-failure allows rolling back to a previous stack snapshot.

Support Cinder API version 2

Add support for the second version of the Cinder API, which brings useful features such as scheduler hints, more consistent responses, caching, filtering, etc. Available volume services (such as ‘volume’ and ‘volumev2’) are discovered at run time when creating the Cinder client. Consequently,
there is not need for deployers to make a choice between API version 1 or 2, because the newest service is automatically chosen.

Did you find this post valuable? Interested in something else? Let me know in the comments below.

Share If You Care

2 Comments on Sneak Peek into Heat New Features in OpenStack Kilo Release

  1. ultimate coin // January 14, 2015 at 3:11 pm // Reply

    Everything is very open with a clear description of the challenges. It was really informative. Your site is useful. Thanks for sharing!

  2. Hello. magnificent job. I did not anticipate this. This is a fantastic story. Thanks!

2 Trackbacks & Pingbacks

  1. OpenStack Community Weekly Newsletter (Week 1, 2015) | The OpenStack Blog
  2. Live at OpenStack Summit 2015 – What is coming in OpenStack (Liberty) | The VBOX

What do you think about this?