returns = Parameter(int, '1 if successful')
- object_type = 'Node'
-
-
def call(self, auth, slice_id_or_name, node_id_or_hostname_list):
# Get slice information
slices = Slices(self.api, [slice_id_or_name])
# Get specified nodes, add them to the slice
nodes = Nodes(self.api, node_id_or_hostname_list)
for node in nodes:
+ # check the slice whitelist on each node first
+ if node['slice_ids_whitelist'] and \
+ slice['slice_id'] not in node['slice_ids_whitelist']:
+ raise PLCInvalidArgument, "%s is not on %s's whitelist" % \
+ (slice['name'], node['hostname'])
if slice['slice_id'] not in node['slice_ids']:
slice.add_node(node, commit = False)
slice.sync()
- self.object_ids = [node['node_id'] for node in nodes]
+ self.event_objects = {'Node': [node['node_id'] for node in nodes],
+ 'Slice': [slice['slice_id']]}
return 1