From 018bbd6a3c091237acf0af6425fa0940a0b0f3e8 Mon Sep 17 00:00:00 2001 From: huangtianhua Date: Wed, 23 Mar 2016 16:52:09 +0800 Subject: [PATCH] Add a new HOT template version for Newton 1. Add a HOT template version 'heat_template_version.2016-10-14' 2. Add Newton version '7.0.0' in doc Change-Id: I8194adbe9a27f982a6b123dda78849d6e5b33eeb --- doc/source/ext/resources.py | 3 +- heat/engine/hot/template.py | 33 +++++++++++++++++++ heat/tests/test_template.py | 3 +- .../functional/test_templates.py | 2 +- setup.cfg | 1 + 5 files changed, 39 insertions(+), 3 deletions(-) diff --git a/doc/source/ext/resources.py b/doc/source/ext/resources.py index ded7326be3..ca4b0e3605 100644 --- a/doc/source/ext/resources.py +++ b/doc/source/ext/resources.py @@ -32,7 +32,8 @@ _CODE_NAMES = {'2013.1': 'Grizzly', '2014.2': 'Juno', '2015.1': 'Kilo', '5.0.0': 'Liberty', - '6.0.0': 'Mitaka'} + '6.0.0': 'Mitaka', + '7.0.0': 'Newton'} all_resources = {} diff --git a/heat/engine/hot/template.py b/heat/engine/hot/template.py index 44e68bf48f..7843822940 100644 --- a/heat/engine/hot/template.py +++ b/heat/engine/hot/template.py @@ -397,3 +397,36 @@ class HOTemplate20160408(HOTemplate20151015): 'Fn::ResourceFacade': hot_funcs.Removed, 'Ref': hot_funcs.Removed, } + + +class HOTemplate20161014(HOTemplate20160408): + functions = { + 'digest': hot_funcs.Digest, + 'get_attr': hot_funcs.GetAttAllAttributes, + 'get_file': hot_funcs.GetFile, + 'get_param': hot_funcs.GetParam, + 'get_resource': cfn_funcs.ResourceRef, + 'list_join': hot_funcs.JoinMultiple, + 'repeat': hot_funcs.Repeat, + 'resource_facade': hot_funcs.ResourceFacade, + 'str_replace': hot_funcs.ReplaceJson, + + # functions added since 20151015 + 'map_merge': hot_funcs.MapMerge, + + # functions added since 20150430 + 'str_split': hot_funcs.StrSplit, + + # functions removed from 20150430 + 'Fn::Select': hot_funcs.Removed, + + # functions removed from 20130523 + 'Fn::GetAZs': hot_funcs.Removed, + 'Fn::Join': hot_funcs.Removed, + 'Fn::Split': hot_funcs.Removed, + 'Fn::Replace': hot_funcs.Removed, + 'Fn::Base64': hot_funcs.Removed, + 'Fn::MemberListToMap': hot_funcs.Removed, + 'Fn::ResourceFacade': hot_funcs.Removed, + 'Ref': hot_funcs.Removed, + } diff --git a/heat/tests/test_template.py b/heat/tests/test_template.py index 4a815fae99..8eb6bb3873 100644 --- a/heat/tests/test_template.py +++ b/heat/tests/test_template.py @@ -451,7 +451,8 @@ class TemplateTest(common.HeatTestCase): init_ex = self.assertRaises(exception.InvalidTemplateVersion, template.Template, invalid_hot_version_tmp) valid_versions = ['2013-05-23', '2014-10-16', - '2015-04-30', '2015-10-15', '2016-04-08'] + '2015-04-30', '2015-10-15', '2016-04-08', + '2016-10-14'] ex_error_msg = ('The template version is invalid: ' '"heat_template_version: 2012-12-12". ' '"heat_template_version" should be one of: %s' diff --git a/heat_integrationtests/functional/test_templates.py b/heat_integrationtests/functional/test_templates.py index dfc9c4f021..82a1af4f72 100644 --- a/heat_integrationtests/functional/test_templates.py +++ b/heat_integrationtests/functional/test_templates.py @@ -54,7 +54,7 @@ class TemplateAPITest(functional_base.FunctionalTestsBase): supported_template_versions = ["2013-05-23", "2014-10-16", "2015-04-30", "2015-10-15", "2012-12-12", "2010-09-09", - "2016-04-08"] + "2016-04-08", "2016-10-14"] for template in template_versions: self.assertIn(template.version.split(".")[1], supported_template_versions) diff --git a/setup.cfg b/setup.cfg index e12302accc..67c442c9d9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -143,6 +143,7 @@ heat.templates = heat_template_version.2015-04-30 = heat.engine.hot.template:HOTemplate20150430 heat_template_version.2015-10-15 = heat.engine.hot.template:HOTemplate20151015 heat_template_version.2016-04-08 = heat.engine.hot.template:HOTemplate20160408 + heat_template_version.2016-10-14 = heat.engine.hot.template:HOTemplate20161014 HeatTemplateFormatVersion.2012-12-12 = heat.engine.cfn.template:HeatTemplate AWSTemplateFormatVersion.2010-09-09 = heat.engine.cfn.template:CfnTemplate