Commit b69b160f authored by Antoine Millet's avatar Antoine Millet
Browse files

Fixed race condition when registering objects / tags

parent d38b1b82
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ sjRPC handler.
from functools import partial
from datetime import datetime

from sjrpc.utils import ConnectionProxy
from sjrpc.utils import ConnectionProxy, threadless
from sjrpc.core import RpcError

from cloudcontrol.server.handlers import CCHandler, listed
@@ -72,6 +72,7 @@ class RegisteredCCHandler(CCHandler):
    # Tags registration handler functions:
    #

    @threadless
    def tags_register(self, name, ttl=None, value=None):
        """ Register a new tag on the calling node.

@@ -81,6 +82,7 @@ class RegisteredCCHandler(CCHandler):
        """
        self.client.tags_register(name, ttl, value)

    @threadless
    def tags_unregister(self, name):
        """ Unregister a tag on the calling node.

@@ -109,6 +111,7 @@ class RegisteredCCHandler(CCHandler):
    #

    @listed
    @threadless
    def register(self, obj_id, role):
        """ Register an object managed by the calling node.

@@ -123,6 +126,7 @@ class RegisteredCCHandler(CCHandler):
        self.client.register(obj_id, role)

    @listed
    @threadless
    def unregister(self, obj_id):
        """ Unregister an object managed by the calling node.

@@ -136,6 +140,7 @@ class RegisteredCCHandler(CCHandler):
        self.client.unregister(obj_id)

    @listed
    @threadless
    def sub_tags_register(self, obj_id, name, ttl=None, value=None):
        """ Register a new remote tag for a child of the client.

@@ -148,6 +153,7 @@ class RegisteredCCHandler(CCHandler):
        self.client.sub_tags_register(obj_id, name, ttl, value)

    @listed
    @threadless
    def sub_tags_unregister(self, obj_id, name):
        """ Unregister a remote tag for a child of the client.