From 8b76b9d95d71e13b1f82297a829a8b8cdb1b1cb6 Mon Sep 17 00:00:00 2001 From: Marc Fiuczynski Date: Mon, 22 Feb 2010 18:53:46 +0000 Subject: [PATCH] merge changes from trunk in --- PLC/Methods/AddSliceTag.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/PLC/Methods/AddSliceTag.py b/PLC/Methods/AddSliceTag.py index bca219d..b9f51bd 100644 --- a/PLC/Methods/AddSliceTag.py +++ b/PLC/Methods/AddSliceTag.py @@ -105,7 +105,7 @@ class AddSliceTag(Method): system_slice_tags = SliceTags(self.api, {'tagname': 'system', 'value': '1'}).dict('slice_id') system_slice_ids = system_slice_tags.keys() if slice['slice_id'] not in system_slice_ids and node_id not in slice['node_ids']: - raise PLCInvalidArgument, "Node not in the specified slice %s not in %s"%(slice['slice_id'],system_slice_ids) + raise PLCInvalidArgument, "AddSliceTag: slice %s not on specified node %s nor is it a system slice (%r)"%(slice['name'],node['hostname'],system_slice_ids) slice_tag['node_id'] = node['node_id'] # Sliver attribute shared accross nodes if nodegroup is sepcified @@ -125,6 +125,12 @@ class AddSliceTag(Method): 'tagname': tag_type['tagname'], 'value': value}) for slice_tag_check in slice_tags_check: + # do not compare between slice tag and sliver tag + if 'node_id' not in slice_tag and slice_tag_check['node_id'] is not None: + continue + # do not compare between sliver tag and slice tag + if 'node_id' in slice_tag and slice_tag['node_id'] is not None and slice_tag_check['node_id'] is None: + continue if 'node_id' in slice_tag and slice_tag['node_id'] == slice_tag_check['node_id']: raise PLCInvalidArgument, "Sliver attribute already exists" if 'nodegroup_id' in slice_tag and slice_tag['nodegroup_id'] == slice_tag_check['nodegroup_id']: -- 2.43.0