git://git.onelab.eu
/
plcapi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ca809de
)
- support adding slice attributes to nodegroups
author
Tony Mack
<tmack@cs.princeton.edu>
Mon, 30 Apr 2007 18:58:43 +0000
(18:58 +0000)
committer
Tony Mack
<tmack@cs.princeton.edu>
Mon, 30 Apr 2007 18:58:43 +0000
(18:58 +0000)
PLC/Methods/AddSliceAttribute.py
patch
|
blob
|
history
diff --git
a/PLC/Methods/AddSliceAttribute.py
b/PLC/Methods/AddSliceAttribute.py
index
bab09e4
..
aec3047
100644
(file)
--- a/
PLC/Methods/AddSliceAttribute.py
+++ b/
PLC/Methods/AddSliceAttribute.py
@@
-5,6
+5,7
@@
from PLC.SliceAttributeTypes import SliceAttributeType, SliceAttributeTypes
from PLC.Slices import Slice, Slices
from PLC.Nodes import Node, Nodes
from PLC.SliceAttributes import SliceAttribute, SliceAttributes
from PLC.Slices import Slice, Slices
from PLC.Nodes import Node, Nodes
from PLC.SliceAttributes import SliceAttribute, SliceAttributes
+from PLC.NodeGroups import NodeGroup, NodeGroups
from PLC.InitScripts import InitScript, InitScripts
from PLC.Auth import Auth
from PLC.InitScripts import InitScript, InitScripts
from PLC.Auth import Auth
@@
-34,12
+35,15
@@
class AddSliceAttribute(Method):
Mixed(SliceAttribute.fields['value'],
InitScript.fields['initscript_id']),
Mixed(Node.fields['node_id'],
Mixed(SliceAttribute.fields['value'],
InitScript.fields['initscript_id']),
Mixed(Node.fields['node_id'],
- Node.fields['hostname'])
+ Node.fields['hostname'],
+ None),
+ Mixed(NodeGroup.fields['nodegroup_id'],
+ NodeGroup.fields['name'])
]
returns = Parameter(int, 'New slice_attribute_id (> 0) if successful')
]
returns = Parameter(int, 'New slice_attribute_id (> 0) if successful')
- def call(self, auth, slice_id_or_name, attribute_type_id_or_name, value, node_id_or_hostname = None):
+ def call(self, auth, slice_id_or_name, attribute_type_id_or_name, value, node_id_or_hostname = None
, nodegroup_id_or_name = None
):
slices = Slices(self.api, [slice_id_or_name])
if not slices:
raise PLCInvalidArgument, "No such slice"
slices = Slices(self.api, [slice_id_or_name])
if not slices:
raise PLCInvalidArgument, "No such slice"
@@
-85,6
+89,15
@@
class AddSliceAttribute(Method):
slice_attribute['node_id'] = node['node_id']
slice_attribute['node_id'] = node['node_id']
+ # Sliver attribute shared accross nodes if nodegroup is sepcified
+ if nodegroup_id_or_name is not None:
+ nodegroups = NodeGroups(self.api, [nodegroup_id_or_name])
+ if not nodegroups:
+ raise PLCInvalidArgument, "No such nodegroup"
+ nodegroup = nodegroups[0]
+
+ slice_attribute['nodegroup_id'] = nodegroup['nodegroup_id']
+
slice_attribute.sync()
self.event_objects = {'SliceAttribute': [slice_attribute['slice_attribute_id']]}
slice_attribute.sync()
self.event_objects = {'SliceAttribute': [slice_attribute['slice_attribute_id']]}