예제 #1
0
 def register_player(self):
     '''
     register player to conductor
     '''
     rtn = False
     if self.node_id:
         reply_to_conductor.register_player(self.node_id, self.connection,
                                            self.exchange, self.routing_key)
         rtn = True
         logger.debug(
             "Register as node_id ({node_id})".format(node_id=self.node_id))
         admin_logger.debug(
             "{name} at {hostname} with node id {node_id} registered to conductor."
             .format(name=self.__class__.__name__,
                     hostname=self.hostname,
                     node_id=self.node_id))
     else:
         # log errors
         logger.error(
             "{hostname} has no node_id".format(hostname=self.hostname))
         admin_logger.error(
             "{name} at {hostname} with node id {node_id} failed to register to conductor. Please check {hostname}"
             .format(name=self.__class__.__name__,
                     hostname=self.hostname,
                     node_id=self.node_id))
     return rtn
예제 #2
0
 def test_ACK_COMMAND_DISCONNECT_PGPOOL(self):
     reply_to_conductor.register_player(112, self.__connection, conductor.exchange, Constants.CONDUCTOR_ROUTING_KEY)
     reply_to_conductor.register_player(115, self.__connection, conductor.exchange, Constants.CONDUCTOR_ROUTING_KEY)
     reply_to_conductor.acknowledgement_pgpool_disconnected(112, self.__connection, conductor.exchange, Constants.CONDUCTOR_ROUTING_KEY)
     time.sleep(2)
     player_tracker = PlayerTracker()
     self.assertTrue(player_tracker.is_pgpool_disconnected(112))
     self.assertFalse(player_tracker.is_pgpool_disconnected(115))
예제 #3
0
 def test_ACK_COMMAND_FIND_PLAYER(self):
     reply_to_conductor.register_player(112, self.__connection, conductor.exchange, Constants.CONDUCTOR_ROUTING_KEY)
     reply_to_conductor.register_player(115, self.__connection, conductor.exchange, Constants.CONDUCTOR_ROUTING_KEY)
     time.sleep(2)
     player_tracker = PlayerTracker()
     ids = player_tracker.get_player_ids(timeout=5)
     self.assertEqual(2, len(ids))
     self.assertIn(112, ids)
     self.assertIn(115, ids)
 def test_ACK_COMMAND_FIND_PLAYER(self):
     reply_to_conductor.register_player(112, self.__connection,
                                        conductor.exchange,
                                        Constants.CONDUCTOR_ROUTING_KEY)
     reply_to_conductor.register_player(115, self.__connection,
                                        conductor.exchange,
                                        Constants.CONDUCTOR_ROUTING_KEY)
     time.sleep(2)
     player_tracker = PlayerTracker()
     ids = player_tracker.get_player_ids(timeout=5)
     self.assertEqual(2, len(ids))
     self.assertIn(112, ids)
     self.assertIn(115, ids)
 def test_ACK_COMMAND_DISCONNECT_PGPOOL(self):
     reply_to_conductor.register_player(112, self.__connection,
                                        conductor.exchange,
                                        Constants.CONDUCTOR_ROUTING_KEY)
     reply_to_conductor.register_player(115, self.__connection,
                                        conductor.exchange,
                                        Constants.CONDUCTOR_ROUTING_KEY)
     reply_to_conductor.acknowledgement_pgpool_disconnected(
         112, self.__connection, conductor.exchange,
         Constants.CONDUCTOR_ROUTING_KEY)
     time.sleep(2)
     player_tracker = PlayerTracker()
     self.assertTrue(player_tracker.is_pgpool_disconnected(112))
     self.assertFalse(player_tracker.is_pgpool_disconnected(115))
예제 #6
0
 def test_ACK_COMMAND_CONNECT_MASTER(self):
     reply_to_conductor.register_player(112, self.__connection, conductor.exchange, Constants.CONDUCTOR_ROUTING_KEY)
     reply_to_conductor.register_player(115, self.__connection, conductor.exchange, Constants.CONDUCTOR_ROUTING_KEY)
     time.sleep(2)
     player_tracker = PlayerTracker()
     self.assertFalse(player_tracker.is_replication_started(112))
     self.assertFalse(player_tracker.is_replication_started(115))
     reply_to_conductor.acknowledgement_master_disconnected(112, self.__connection, conductor.exchange, Constants.CONDUCTOR_ROUTING_KEY)
     time.sleep(2)
     self.assertTrue(player_tracker.is_replication_stopped(112))
     self.assertFalse(player_tracker.is_replication_started(115))
     reply_to_conductor.acknowledgement_master_connected(112, self.__connection, conductor.exchange, Constants.CONDUCTOR_ROUTING_KEY)
     time.sleep(2)
     self.assertTrue(player_tracker.is_replication_started(112))
     self.assertFalse(player_tracker.is_replication_started(115))
 def test_register_player(self):
     message, exchange, routing_key = register_player(111, self.__conn, self.__exchange, self.__routing_key)
     body = json.loads(message['body'])
     self.assertEqual(Constants.ACK_COMMAND_FIND_PLAYER, body[Constants.MESSAGE_ACK_COMMAND])
     self.assertEqual(111, body[Constants.MESSAGE_NODE_ID])
     self.assertEqual(self.__exchange.name, exchange)
     self.assertEqual(self.__routing_key, routing_key)
예제 #8
0
 def test_register_player(self):
     message, exchange, routing_key = register_player(
         111, self.__conn, self.__exchange, self.__routing_key)
     body = json.loads(message['body'])
     self.assertEqual(Constants.ACK_COMMAND_FIND_PLAYER,
                      body[Constants.MESSAGE_ACK_COMMAND])
     self.assertEqual(111, body[Constants.MESSAGE_NODE_ID])
     self.assertEqual(self.__exchange.name, exchange)
     self.assertEqual(self.__routing_key, routing_key)
예제 #9
0
 def register_player(self):
     '''
     register player to conductor
     '''
     rtn = False
     if self.node_id:
         reply_to_conductor.register_player(self.node_id, self.connection, self.exchange, self.routing_key)
         rtn = True
         logger.debug("Register as node_id ({node_id})".format(node_id=self.node_id))
         admin_logger.debug("{name} at {hostname} with node id {node_id} registered to conductor.".
                            format(name=self.__class__.__name__, hostname=self.hostname,
                                   node_id=self.node_id))
     else:
         # log errors
         logger.error("{hostname} has no node_id".format(hostname=self.hostname))
         admin_logger.error("{name} at {hostname} with node id {node_id} failed to register to conductor. Please check {hostname}".
                            format(name=self.__class__.__name__, hostname=self.hostname, node_id=self.node_id))
     return rtn
예제 #10
0
 def test_ACK_COMMAND_CONNECT_MASTER(self):
     reply_to_conductor.register_player(112, self.__connection,
                                        conductor.exchange,
                                        Constants.CONDUCTOR_ROUTING_KEY)
     reply_to_conductor.register_player(115, self.__connection,
                                        conductor.exchange,
                                        Constants.CONDUCTOR_ROUTING_KEY)
     time.sleep(2)
     player_tracker = PlayerTracker()
     self.assertFalse(player_tracker.is_replication_started(112))
     self.assertFalse(player_tracker.is_replication_started(115))
     reply_to_conductor.acknowledgement_master_disconnected(
         112, self.__connection, conductor.exchange,
         Constants.CONDUCTOR_ROUTING_KEY)
     time.sleep(2)
     self.assertTrue(player_tracker.is_replication_stopped(112))
     self.assertFalse(player_tracker.is_replication_started(115))
     reply_to_conductor.acknowledgement_master_connected(
         112, self.__connection, conductor.exchange,
         Constants.CONDUCTOR_ROUTING_KEY)
     time.sleep(2)
     self.assertTrue(player_tracker.is_replication_started(112))
     self.assertFalse(player_tracker.is_replication_started(115))
 def register_player(self):
     reply_to_conductor.register_player(self.node_id, self.connection, self.exchange, self.routing_key)
예제 #12
0
 def register_player(self):
     reply_to_conductor.register_player(self.node_id, self.connection,
                                        self.exchange, self.routing_key)