-# $Id: UnBindObjectFromPeer.py 14587 2009-07-19 13:18:50Z thierry $
-# $URL: svn+ssh://svn.planet-lab.org/svn/PLCAPI/trunk/PLC/Methods/BindObjectToPeer.py $
-
from PLC.Method import Method
from PLC.Parameter import Parameter, Mixed
from PLC.Filter import Filter
from PLC.Keys import Keys
from PLC.Peers import Peers
from PLC.Faults import *
-
+
class UnBindObjectFromPeer(Method):
"""
This method is a hopefully temporary hack to let the sfa correctly
detach the objects it creates from a remote peer object. This is
needed so that the sfa federation link can work in parallel with
RefreshPeer, as RefreshPeer depends on remote objects being
- correctly marked.
+ correctly marked.
UnBindObjectFromPeer is allowed to admins only.
"""
# invoke e.g. Nodes ({'node_id':node_id})
objs=class_obj(self.api,{id_name:object_id})
if len(objs) != 1:
- raise PLCInvalidArgument,"Cannot locate object, type=%s id=%d"%\
- (type,object_id)
+ raise PLCInvalidArgument("Cannot locate object, type=%s id=%d"%\
+ (type,object_id))
return objs[0]
object_type = object_type.lower()
if object_type not in self.known_types:
- raise PLCInvalidArgument, 'Unrecognized object type %s'%object_type
+ raise PLCInvalidArgument('Unrecognized object type %s'%object_type)
peers=Peers(self.api,{'shortname':shortname.upper()})
if len(peers) !=1:
- raise PLCInvalidArgument, 'No such peer with shortname %s'%shortname
+ raise PLCInvalidArgument('No such peer with shortname %s'%shortname)
peer=peers[0]
object = self.locate_object (object_type, object_id)