From 918fbd1e95d3cbcf24a560e86ce9310a364f3000 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Thu, 26 Jul 2007 16:46:17 +0000 Subject: [PATCH] merge changes from HEAD --- PLC/Methods/AddSliceToNodes.py | 5 +++++ PLC/Methods/DeleteSliceFromNodes.py | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/PLC/Methods/AddSliceToNodes.py b/PLC/Methods/AddSliceToNodes.py index e5a60f9..3cfd327 100644 --- a/PLC/Methods/AddSliceToNodes.py +++ b/PLC/Methods/AddSliceToNodes.py @@ -49,6 +49,11 @@ class AddSliceToNodes(Method): # 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) diff --git a/PLC/Methods/DeleteSliceFromNodes.py b/PLC/Methods/DeleteSliceFromNodes.py index b2705d5..2390be5 100644 --- a/PLC/Methods/DeleteSliceFromNodes.py +++ b/PLC/Methods/DeleteSliceFromNodes.py @@ -17,7 +17,7 @@ class DeleteSliceFromNodes(Method): accepts = [ Auth(), - Mixed(Slice.fields['slice_id'], + Mixed(Slice.fields['slice_id'], Slice.fields['name']), [Mixed(Node.fields['node_id'], Node.fields['hostname'])] @@ -32,9 +32,6 @@ class DeleteSliceFromNodes(Method): raise PLCInvalidArgument, "No such slice" slice = slices[0] - if slice['peer_id'] is not None: - raise PLCInvalidArgument, "Not a local slice" - if 'admin' not in self.caller['roles']: if self.caller['person_id'] in slice['person_ids']: pass @@ -48,6 +45,8 @@ class DeleteSliceFromNodes(Method): # Get specified nodes nodes = Nodes(self.api, node_id_or_hostname_list) for node in nodes: + if slice['peer_id'] is not None and node['peer_id'] is not None: + raise PLCPermissionDenied, "Not allowed to remove peer slice from peer node" if slice['slice_id'] in node['slice_ids']: slice.remove_node(node, commit = False) -- 2.43.0