示例#1
0
    def start(self, conf):

        self.config = conf

        try:
            self.node_name = os.uname()[1]
            self.node_fqdn = socket.getfqdn(socket.gethostname())
            if conf.daemon.listen == '0.0.0.0':
                self.node_address = socket.gethostbyname(self.node_fqdn)
            else:
                self.node_address = conf.daemon.listen

        except:
            self.logger.exception("Failed getting node information")
            return 1

        dispatcher.addListener('monitor.local.update',
                               self.update_local_node_status)

        self.discoverer = Discoverer(conf.discoverer)
        self.negotiator = Negotiator(conf.daemon)
        self.local_monitor = Monitor(conf.monitor, self.node_fqdn,
                                     conf.discoverer)

        self.negotiator.start()
        self.discoverer.start()
        self.local_monitor.start()

        #while not self.discoverer.is_ready():
        #    time.sleep(0.5)
        return 0
示例#2
0
    def start(self, conf):

        self.config = conf

        try:
            self.node_name = os.uname()[1]
            self.node_fqdn = socket.getfqdn(socket.gethostname())
            if conf.daemon.listen == '0.0.0.0':
                self.node_address = socket.gethostbyname(self.node_fqdn)
            else:
                self.node_address = conf.daemon.listen

        except:
            self.logger.exception("Failed getting node information")
            return 1

        dispatcher.addListener('monitor.local.update', self.update_local_node_status)

        self.discoverer = Discoverer(conf.discoverer)
        self.negotiator = Negotiator(conf.daemon)
        self.local_monitor = Monitor(conf.monitor, self.node_fqdn, conf.discoverer)

        self.negotiator.start()
        self.discoverer.start()
        self.local_monitor.start()

        #while not self.discoverer.is_ready():
        #    time.sleep(0.5)
        return 0
示例#3
0
    def run(self):

        self.logger.info("Starting Negotiator thread")

        dispatcher.addListener('negotiator.message.receive', self.handle_message)

        SocketServer.ThreadingTCPServer.allow_reuse_address = True
        self._server = SocketServer.ThreadingTCPServer((self._config.listen, self._config.port), TcpRequestHandler)
        self._server.timeout = 3
        self.logger.info("Negotiator thread listen on {}:{}".format(self._config.listen, self._config.port))

        self._server.serve_forever()
示例#4
0
    def run(self):

        self.logger.info("Starting Negotiator thread")

        dispatcher.addListener('negotiator.message.receive',
                               self.handle_message)

        SocketServer.ThreadingTCPServer.allow_reuse_address = True
        self._server = SocketServer.ThreadingTCPServer(
            (self._config.listen, self._config.port), TcpRequestHandler)
        self._server.timeout = 3
        self.logger.info("Negotiator thread listen on {}:{}".format(
            self._config.listen, self._config.port))

        self._server.serve_forever()
示例#5
0
    def run(self):

        self.logger.info("Starting Discoverer thread")
        from pgherd.daemon import daemon

        dispatcher.addListener('discoverer.message.receive.node.up', self.broadcast_receive)
        dispatcher.addListener('discoverer.message.receive.master.lookup', self.master_lookup)
        dispatcher.addListener('discoverer.message.receive.cluster.status', self.cluster_status)
        dispatcher.addListener('discoverer.message.receive.ssh_key.broadcast', self.ssh_key_broadcast)

        self._server = DiscovererServer(self._config.listen, self._config.port)
        self._server.start()
        self._server.wait_for_startup()

        msg = DiscovererMessage('node.up')
        msg.add('node', daemon.node_fqdn)
        msg.add('address', daemon.config.daemon.listen)
        msg.add('port', daemon.config.daemon.port)

        self.logger.debug("Sending node lookup message: {}".format(str(msg)))

        self._server.send(msg)
示例#6
0
 def add_listener(self, event):
     dispatcher.addListener(event, self.handle_response)
     dispatcher.addListener('command.end_of_data', self.end_of_data)
示例#7
0
 def add_listener(self, event):
     dispatcher.addListener(event, self.handle_response)
     dispatcher.addListener('command.end_of_data', self.end_of_data)