diff options
author | shangxdy <shang.xiaodong@zte.com.cn> | 2016-08-19 02:02:46 +0800 |
---|---|---|
committer | shangxdy <shang.xiaodong@zte.com.cn> | 2016-08-19 02:02:46 +0800 |
commit | 13a0184de4e6c0c8f0935bfbd7627b72f142c6e9 (patch) | |
tree | c7fc83935400e61f1966714f598062dde33f24bf | |
parent | 278a8fcc9ac9d18d8192d22aca50b39371894db5 (diff) |
Judge volume node is error when translate compute node
Currently, when translate a compute node in heat-translator, code is
below:
for requires in requirements:
for value in requires.values():
if isinstance(value, dict):
for node_name in value.values():
for n in self.nodetemplates:
if n.name == node_name:
volume_name = node_name
break
else: # unreachable code !
for n in self.nodetemplates:
if n.name == node_name:
volume_name = node_name
break
It's error in nfv tosca because there are more than one
requirements, So the unreachable code will reach.
Notes: the fix will submit to Openstack community.
JIRA:PARSER-92
Change-Id: Ife9c0d28ebe236c04d9d2c02f0025cf774bf6208
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
-rw-r--r-- | tosca2heat/heat-translator/translator/hot/translate_node_templates.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tosca2heat/heat-translator/translator/hot/translate_node_templates.py b/tosca2heat/heat-translator/translator/hot/translate_node_templates.py index d8e7e48..f32d42b 100644 --- a/tosca2heat/heat-translator/translator/hot/translate_node_templates.py +++ b/tosca2heat/heat-translator/translator/hot/translate_node_templates.py @@ -195,12 +195,16 @@ class TranslateNodeTemplates(object): if isinstance(value, dict): for node_name in value.values(): for n in self.nodetemplates: - if n.name == node_name: + if n.name == node_name and \ + n.is_derived_from( + "tosca.nodes.BlockStorage"): volume_name = node_name break else: # unreachable code ! for n in self.nodetemplates: - if n.name == node_name: + if n.name == value and \ + n.is_derived_from( + "tosca.nodes.BlockStorage"): volume_name = node_name break |