示例#1
0
        def fsinit(self):
            self.logger = Logger(self.options.logdir, "%s.%s.log" % \
                (self.options.serveraddress, self.options.serverport), False, self.options.logverbosity, self.options.logquiet)
            self.logger.debug("> Kernel.fsinit")

            try:
                self.state = State(
                    self.logger, self.options,
                    (self.options.serveraddress, self.options.serverport))

                self.logger.debug("> Kernel.fsinit state created")
                # instance type is handled within state

                self.storage = storage_impl(self.options)
                self.network = network_impl

                self.storage.start()
                self.network.start(self, self.options)

                self.logger.debug(
                    "> Kernel.fsinit storage and network modules up")

                self.maintenance = _system(self)
                self.maintenance.start()  # start the periodic heartbeat
                self.logger.debug("> Kernel.fsinit maintenance thread up")

                # pick the initial dispatcher
                self.dispatcher = self._pick_dispatcher()
            except Exception as v:
                self.logger.error(
                    "Crash in fsinit - filesystem will hang now %s" % v)
            self.logger.debug("< Leaving Kernel.fsinit")
示例#2
0
def connect_to_peer(peer, ident):
    """Open connection to GRSfs peer"""
    from core.specialized.logger import Logger
    logger = Logger()
    try:
        val = None
        logger.info("%s connecting to %s (%s)" %
                    (__name__, peer, peer.connection))
        (address, port) = peer.connection
        try:
            proxy_link = GRSServerProxy((address, port), allow_none=True)
            logger.debug("%s link established. Node_register(%s)" % \
                          (__name__, ident))
            if peer.recontact:
                val = proxy_link.node_register(ident)
            logger.debug("%s connected - %s returned  '%s'" %
                         (__name__, peer, val))
            return (proxy_link, val)
        except Exception as serr:
            import traceback
            logger.error("%s unable to connect to %s (%s %s)" %
                         (__name__, peer, serr, traceback.format_exc()))
            return None
    finally:
        pass
示例#3
0
def stop():
    """GRSRPCServer stopper"""
    #global t_server
    t_server.stop_serving()
    from core.specialized.logger import Logger
    logger = Logger()
    logger.debug("network.rpc.stop() called")
    t_server.shutdown()
    t_server.join()
示例#4
0
def start(kernel, options):
    """GRSRPCServer starter"""
    global t_server
    from core.specialized.logger import Logger
    logger = Logger()
    logger.debug("network.rpc.start() called")
    socket.setdefaulttimeout(options.network_timeout)  # sets it globally.
    # See http://stackoverflow.com/questions/372365/
    # set-timeout-for-xmlrpclib-serverproxy for alternative
    t_server = GRSRPCServer(kernel, options)
    t_server.start()

    logger.debug("network.rpcServer started")