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
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):
"""
accepts = [
Auth(),
SliceTag.fields['slice_tag_id'],
- SliceTag.fields['value'],
+ Mixed(SliceTag.fields['value'],
+ InitScript.fields['name'])
]
returns = Parameter(int, '1 if successful')