git://git.onelab.eu
/
plcapi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
just autopep8'ed refreshpeer
[plcapi.git]
/
PLC
/
Methods
/
BindObjectToPeer.py
diff --git
a/PLC/Methods/BindObjectToPeer.py
b/PLC/Methods/BindObjectToPeer.py
index
c9cf4e4
..
ea16536
100644
(file)
--- a/
PLC/Methods/BindObjectToPeer.py
+++ b/
PLC/Methods/BindObjectToPeer.py
@@
-1,5
+1,3
@@
-# $Id: ResolveSlices.py 12217 2009-02-24 17:28:54Z thierry $
-
from PLC.Method import Method
from PLC.Parameter import Parameter, Mixed
from PLC.Filter import Filter
from PLC.Method import Method
from PLC.Parameter import Parameter, Mixed
from PLC.Filter import Filter
@@
-8,7
+6,9
@@
from PLC.Persons import Persons
from PLC.Sites import Sites
from PLC.Nodes import Nodes
from PLC.Slices import Slices
from PLC.Sites import Sites
from PLC.Nodes import Nodes
from PLC.Slices import Slices
+from PLC.Keys import Keys
from PLC.Peers import Peers
from PLC.Peers import Peers
+from PLC.Faults import *
class BindObjectToPeer(Method):
"""
class BindObjectToPeer(Method):
"""
@@
-16,7
+16,7
@@
class BindObjectToPeer(Method):
attach the objects it creates to 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
attach the objects it creates to 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.
BindRemoteObjectToPeer is allowed to admins only.
"""
BindRemoteObjectToPeer is allowed to admins only.
"""
@@
-60,6
+60,11
@@
class BindObjectToPeer(Method):
peer=peers[0]
object = self.locate_object (object_type, object_id)
peer=peers[0]
object = self.locate_object (object_type, object_id)
+
+ # There is no need to continue if the object is already bound to this peer
+ if object['peer_id'] in [peer['peer_id']]:
+ return 1
+
adder_name = 'add_'+object_type
add_function = getattr(type(peer),adder_name)
add_function(peer,object,remote_object_id)
adder_name = 'add_'+object_type
add_function = getattr(type(peer),adder_name)
add_function(peer,object,remote_object_id)