HOT version 2015-10-15, remove Fn::Select
Bump the HOT version for the Liberty release, currently planned for 2015-10-15 [1] This is the same as 2015-04-30 other than the removal of the last remaining CFN compatible function, Fn::Select, which should now be replaced by path based attributes/parameters, e.g: {get_attr: [aResource, anAttribute, <list index>]} {get_param: [aListParam, <list index>]} [1] https://wiki.openstack.org/wiki/Liberty_Release_Schedule Change-Id: I10e5b12b84a6de01dd3f8a37a2d6cb644f319049
This commit is contained in:
parent
ff30fed06b
commit
0d99ede046
|
@ -155,6 +155,24 @@ For example, Heat currently supports the following values for the
|
|||
str_replace
|
||||
Fn::Select
|
||||
|
||||
2015-10-15
|
||||
The key with value *2015-10-15* indicates that the YAML document is a HOT
|
||||
template and it may contain features added and/or removed up until the
|
||||
Liberty release. This version removes the *Fn::Select* function, path based
|
||||
get_attr/get_param references should be used instead.
|
||||
|
||||
::
|
||||
get_attr
|
||||
get_file
|
||||
get_param
|
||||
get_resource
|
||||
list_join
|
||||
repeat
|
||||
digest
|
||||
resource_facade
|
||||
str_replace
|
||||
|
||||
|
||||
|
||||
.. _hot_spec_parameter_groups:
|
||||
|
||||
|
@ -1028,8 +1046,3 @@ In the example above, one can imagine that MySQL is being configured on a
|
|||
compute instance and the root password is going to be set based on a user
|
||||
provided parameter. The script for doing this is provided as userdata to the
|
||||
compute instance, leveraging the ``str_replace`` function.
|
||||
|
||||
Fn::Select
|
||||
----------
|
||||
``Fn::Select`` is a function borrowed from CFN template. Please check the CFN
|
||||
template guide for a description.
|
||||
|
|
|
@ -325,3 +325,30 @@ class HOTemplate20150430(HOTemplate20141016):
|
|||
'Fn::ResourceFacade': hot_funcs.Removed,
|
||||
'Ref': hot_funcs.Removed,
|
||||
}
|
||||
|
||||
|
||||
class HOTemplate20151015(HOTemplate20150430):
|
||||
functions = {
|
||||
'digest': hot_funcs.Digest,
|
||||
'get_attr': hot_funcs.GetAtt,
|
||||
'get_file': hot_funcs.GetFile,
|
||||
'get_param': hot_funcs.GetParam,
|
||||
'get_resource': cfn_funcs.ResourceRef,
|
||||
'list_join': hot_funcs.Join,
|
||||
'repeat': hot_funcs.Repeat,
|
||||
'resource_facade': hot_funcs.ResourceFacade,
|
||||
'str_replace': hot_funcs.Replace,
|
||||
|
||||
# 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,
|
||||
}
|
||||
|
|
|
@ -408,7 +408,8 @@ class TemplateTest(common.HeatTestCase):
|
|||
}''')
|
||||
init_ex = self.assertRaises(exception.InvalidTemplateVersion,
|
||||
template.Template, invalid_hot_version_tmp)
|
||||
valid_versions = ['2014-10-16', '2013-05-23', '2015-04-30']
|
||||
valid_versions = ['2015-10-15', '2013-05-23', '2014-10-16',
|
||||
'2015-04-30']
|
||||
ex_error_msg = ('The template version is invalid: '
|
||||
'"heat_template_version: 2012-12-12". '
|
||||
'"heat_template_version" should be one of: %s'
|
||||
|
|
|
@ -96,6 +96,7 @@ heat.templates =
|
|||
heat_template_version.2013-05-23 = heat.engine.hot.template:HOTemplate20130523
|
||||
heat_template_version.2014-10-16 = heat.engine.hot.template:HOTemplate20141016
|
||||
heat_template_version.2015-04-30 = heat.engine.hot.template:HOTemplate20150430
|
||||
heat_template_version.2015-10-15 = heat.engine.hot.template:HOTemplate20151015
|
||||
HeatTemplateFormatVersion.2012-12-12 = heat.engine.cfn.template:HeatTemplate
|
||||
AWSTemplateFormatVersion.2010-09-09 = heat.engine.cfn.template:CfnTemplate
|
||||
|
||||
|
|
Loading…
Reference in New Issue