From: Marc Fiuczynski Date: Thu, 16 Jul 2009 19:45:44 +0000 (+0000) Subject: Add/Update SliceTag of a system slice X-Git-Tag: PLCAPI-4.3-23~41 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=1c23161836805f7e54fc2182fbd33bdb55701c5b;p=plcapi.git Add/Update SliceTag of a system slice --- diff --git a/PLC/Methods/AddSliceTag.py b/PLC/Methods/AddSliceTag.py index 474798e..ba4d0ea 100644 --- a/PLC/Methods/AddSliceTag.py +++ b/PLC/Methods/AddSliceTag.py @@ -101,8 +101,10 @@ class AddSliceTag(Method): else: node_id = node['node_id'] - if node_id not in slice['node_ids']: - raise PLCInvalidArgument, "Node not in the specified slice" + 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) slice_tag['node_id'] = node['node_id'] # Sliver attribute shared accross nodes if nodegroup is sepcified diff --git a/PLC/Methods/UpdateSliceTag.py b/PLC/Methods/UpdateSliceTag.py index 8fc74de..6e0a943 100644 --- a/PLC/Methods/UpdateSliceTag.py +++ b/PLC/Methods/UpdateSliceTag.py @@ -3,10 +3,10 @@ from PLC.Faults import * from PLC.Method import Method from PLC.Parameter import Parameter, Mixed from PLC.SliceTags import SliceTag, SliceTags +from PLC.Nodes import Node from PLC.Slices import Slice, Slices from PLC.InitScripts import InitScript, InitScripts from PLC.Auth import Auth -from PLC.Nodes import Node class UpdateSliceTag(Method): """ @@ -25,7 +25,8 @@ class UpdateSliceTag(Method): accepts = [ Auth(), SliceTag.fields['slice_tag_id'], - SliceTag.fields['value'], + Mixed(SliceTag.fields['value'], + InitScript.fields['name']) ] returns = Parameter(int, '1 if successful')