From 43dacd32398a75ba51c3f825b3fe999ecba42c64 Mon Sep 17 00:00:00 2001 From: shangxdy Date: Sun, 28 Aug 2016 17:25:28 +0800 Subject: Fix BlockStorageAttachment bug when translate compute node Currently, when translate compute node with local_storage and high_availability, there is not BlockStorageAttache resource created about block storage, and only BlockStorage created. If only local_storage requirement in compute node, the result is correct. The reason is the function logic of _get_attachment_node is error. and the patch will fixit. JIRA:PARSER-100 Change-Id: I36456089ae65102d4b17797d266c850d8c16b29d Signed-off-by: shangxdy (cherry picked from commit aef34ad9a966ca64aa365ee6aaada702b986f68b) --- .../translator/hot/translate_node_templates.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'tosca2heat/heat-translator/translator/hot/translate_node_templates.py') diff --git a/tosca2heat/heat-translator/translator/hot/translate_node_templates.py b/tosca2heat/heat-translator/translator/hot/translate_node_templates.py index f32d42b..4dd9556 100644 --- a/tosca2heat/heat-translator/translator/hot/translate_node_templates.py +++ b/tosca2heat/heat-translator/translator/hot/translate_node_templates.py @@ -533,14 +533,20 @@ class TranslateNodeTemplates(object): def _get_attachment_node(self, node, suffix, volume_name): attach = False ntpl = self.nodetemplates - for key, value in node.relationships.items(): - if key.is_derived_from('tosca.relationships.AttachesTo'): - if value.is_derived_from('tosca.nodes.BlockStorage'): + for key_r, value_n in node.relationships.items(): + if key_r.is_derived_from('tosca.relationships.AttachesTo'): + if value_n.is_derived_from('tosca.nodes.BlockStorage'): attach = True if attach: relationship_tpl = None for req in node.requirements: for key, val in req.items(): + if isinstance(val, dict): + if value_n.name != val.get('node'): + continue + else: + if value_n.name != val: + continue attach = val relship = val.get('relationship') for rkey, rval in val.items(): -- cgit 1.2.3-korg