From 1c23161836805f7e54fc2182fbd33bdb55701c5b Mon Sep 17 00:00:00 2001 From: Marc Fiuczynski Date: Thu, 16 Jul 2009 19:45:44 +0000 Subject: [PATCH] Add/Update SliceTag of a system slice --- PLC/Methods/AddSliceTag.py | 6 ++++-- PLC/Methods/UpdateSliceTag.py | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/PLC/Methods/AddSliceTag.py b/PLC/Methods/AddSliceTag.py index 474798e0..ba4d0eaa 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 8fc74de7..6e0a9430 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') -- 2.47.0