Newton Series Release Notes

7.0.0

Prelude

Previously ‘parameters’ and ‘parameter_defaults’ specified in an environment file used to overwrite their existing values.

Previously the event list REST API call only returned events for the specified stack even when that stack contained nested stack resources. This meant that fetching all nested events required an inefficient recursive client-side implementation.

Support external resource reference in template.

New Features

  • Add template_dir to config. Normally heat has template directory /etc/heat/templates. This change makes it more official. In the future, it is possible to implement features like access templates directly from global template environment.

  • Adds optional section conditions for hot template ( heat_template_version.2016-10-14) and Conditions for cfn template (AWSTemplateFormatVersion.2010-09-09).

  • Adds some condition functions, like equals, not, and and or, these condition functions can be used in conditions section to define one or more conditions which are evaluated based on input parameter values provided when a user creates or updates a stack.

  • Adds optional section condition for resource and output definitions. Condition name defined in conditions and condition functions can be referenced in this section, in order to conditionally create resources or conditionally give outputs of a stack.

  • Adds function if to return corresponding value based on condition evaluation. This function can be used to conditionally set the value of resource properties and outputs.

  • OS::Cinder::QoSSpecs resource plugin added to support cinder QoS Specs, which is provided by cinder qos-specs API extension.

  • cinder.qos_specs constraint added to support to validate QoS Specs attribute.

  • New resource OS::Cinder::Quota is added to manage cinder quotas. Cinder quotas are operational limits to projects on cinder block storage resources. These include gigabytes, snapshots, and volumes.

  • Adds new ‘max_server_name_length’ configuration option which defaults to the prior upper bound (53) and can be lowered by users (if they need to, for example due to ldap or other internal name limit restrictions).

  • Supports internal DNS resolution and integration with external DNS services for neutron resources. Template authors can use the dns_name and dns_domain properties of neutron resource plugins for this functionality.

  • A new ‘parameter_merge_strategies’ section can be added to the environment file, where ‘default’ and/or parameter specific merge strategies can be specified.

  • Parameters and parameter defaults specified in the environment file would be merged as per their specified strategies.

  • The event list GET REST API call now has a different behaviour when the ‘nested_depth’ parameter is set to an integer greater than zero. The response will contain all events down to the requested nested depth.

  • When ‘nested_depth’ is set the response also includes an extra entry in the ‘links’ list with ‘rel’ set to ‘root_stack’. This can be used by client side implementations to detect whether it is necessary to fall back to client-side recurisive event fetching.

  • Add external_id attribute for resource to reference on an exists external resource. The resource (with external_id attribute) will not able to be updated. This will keep management rights stay externally.

  • This feature only supports templates with version over 2016-10-14.

  • OS::Glance::Image resource plug-in is updated to support tagging when image is created or updated as part of stack.

  • Add map_replace function, that takes 2 arguments an input map and a map containing a keys and/or values map. key/value substitutions on the input map are performed based on the mappings passed in keys and values.

  • Add optional ‘period’ property for Monasca Notification resource. The new added property will now allow the user to tell Monasca the interval in seconds to periodically invoke a webhook until the ALARM state transitions back to an OK state or vice versa. This is useful when the user wants to create a stack which will automatically scale up or scale down more than once if the alarm state continues to be in the same state. To conform to the existing Heat autoscaling behaviour, we manually create the monasca notification resource in Heat with a default interval value of 60.

  • OS::Monasca::AlarmDefinition and OS::Monasca::Notification resource plug-ins are now supported by heat community as monasca became offcial OpenStack project.

  • Add yaql function, that takes 2 arguments expression of type string and data of type map and evaluates expression on a given data.

Upgrade Notes

  • New config section volumes with new config option [volumes]backups_enabled (defaults to True). Operators that do not have Cinder backup service deployed in their cloud are encouraged to set this option to False.

Bug Fixes

  • Allow to configure Heat service to forbid creation of stacks containing Volume resources with deletion_policy set to Snapshot when there is no Cinder backup service available.