示例#1
0
 def run(self):
     while True:
         hostIp = utility.get_local_publicip()
         ldap_ip = utility.get_ldap_server()
         ret = OpenLdap.p_is_register(ldap_ip,thd_SERVICE_TYPE.CLOUD_WALRUS,hostIp)
         if ret:
             logger.info('g_WalrusThriftServer_main_interface running ...')
             handler = walrusApiHandler()
             processor = walrusApi.Processor(handler)
             
             transport = TSocket.TServerSocket(hostIp,thd_port.THRIFT_WALRUS_PORT)
             tfactory = TTransport.TBufferedTransportFactory()
             pfactory = TBinaryProtocol.TBinaryProtocolFactory()
     
             #server = TServer.TSimpleServer(processor, transport, tfactory, pfactory)
     
             # You could do one of these for a multithreaded server
             #server = TServer.TThreadedServer(processor, transport, tfactory, pfactory)
             server = TServer.TThreadPoolServer(processor, transport, tfactory, pfactory)
     
             logger.info('Starting the server...')
             server.serve()
             logger.error('thrift server done')
             break
         else:
             time.sleep(2)   
示例#2
0
    def run(self):
        while True:
            hostIp = utility.get_local_publicip()
            logger.info( 'g_ClusterThriftServer_main_interface cc register :%s ' %hostIp)
            ldap_ip = utility.get_ldap_server()
            # avoid the ip address cant be read
            if ldap_ip!=None:
                ret = OpenLdap.p_is_register(ldap_ip,thd_SERVICE_TYPE.CLOUD_CC,hostIp)
                if ret:
                    logger.info('g_ClusterThriftServer_main_interface running ...')
                    handler = clusterApiHandler()
                    processor = clusterApi.Processor(handler)
                    transport = TSocket.TServerSocket(hostIp, thd_port.THRIFT_CC_PORT)
                    tfactory = TTransport.TBufferedTransportFactory()
                    pfactory = TBinaryProtocol.TBinaryProtocolFactory()

                    #server = TServer.TSimpleServer(processor, transport, tfactory, pfactory)
                    
                    # You could do one of these for a multithreaded server
                    #server = TServer.TThreadedServer(processor, transport, tfactory, pfactory)
                    server = TServer.TThreadPoolServer(processor, transport, tfactory, pfactory)

                    logger.info('Starting cluster the server...')
                    server.serve()
                    logger.error('thrift cluster server quit!')
                    break
                else:
                    time.sleep(DEFAULT_DELAY)
            else:
                time.sleep(DEFAULT_DELAY)
示例#3
0
 def run(self):
     while True:
         ldap_ip = utility.get_ldap_server()
         ret = OpenLdap.p_is_register(ldap_ip,thd_SERVICE_TYPE.CLOUD_WALRUS,utility.get_local_publicip())
         if ret:
             logger.debug('p_heart_beat_thread start ...')
             p_heart_beat_timer()
             break
         else:
             time.sleep(2)
示例#4
0
 def run(self):
     while True:
         ldap_ip = utility.get_ldap_server()
         ret = OpenLdap.p_is_register(ldap_ip,thd_SERVICE_TYPE.CLOUD_CC,utility.get_local_publicip())
         if ret: 
             p_nc_heart_beat_isAlive()
             p_heart_beat_timer()
             break
         else:
             time.sleep(DEFAULT_DELAY)
示例#5
0
def p_nc_heart_beat(ncIp):
    global g_nc_heart_beat
    ret = True
    if not g_nc_heart_beat.has_key(ncIp):
        ldap_ip = utility.get_ldap_server()
        re = OpenLdap.p_is_register(ldap_ip,thd_SERVICE_TYPE.CLOUD_NC,ncIp)
        if re:
            g_nc_heart_beat[ncIp] = time.time()
        else:
            ret = False
    else:
        g_nc_heart_beat[ncIp] = time.time()
    return ret
示例#6
0
 def run(self):
     while True:
         logger.info('p_get_ip_thread...start')
         global g_clc_ip
         global g_wal_ip
         
         g_wal_ip = utility.get_local_publicip()
         ldap_ip = utility.get_ldap_server()
         ret = OpenLdap.p_is_register(ldap_ip,thd_SERVICE_TYPE.CLOUD_WALRUS,g_wal_ip)
         if ret:  
             g_clc_ip = OpenLdap.get_clc_ip(ldap_ip)
         if (g_clc_ip != None) and (g_wal_ip != None):
             break
         else:
             logger.info('p_get_ip_thread()')
         time.sleep(1)
示例#7
0
 def run(self):
     logger.debug('p_get_nodeInfo_byClusterName_thread start ....')
     global g_nc_heart_beat
     while True:
         ldap_ip = utility.get_ldap_server()
         ret = OpenLdap.p_is_register(ldap_ip,thd_SERVICE_TYPE.CLOUD_CC,utility.get_local_publicip())
         if ret:
             clusterInfo = OpenLdap.p_get_clusterInfo_by_ccIp(ldap_ip,g_cc_ip)
             if clusterInfo != None:
                 nodeList = OpenLdap.p_get_nodeInfo_by_clusterName(ldap_ip,clusterInfo.clusterName)
                 if nodeList != None:
                     for nodeInfo in nodeList:
                         g_nc_heart_beat[nodeInfo.hostIp] = time.time()
                     break
         time.sleep(HEART_BEAT_INTV)
         logger.debug('waiting in p_get_nodeInfo_byClusterName_thread()!!!')
示例#8
0
 def run(self):    
     while True:
         logger.debug('p_get_ip_thread...start')
         global g_clc_ip
         global g_cc_ip
         
         g_cc_ip = utility.get_local_publicip()
         ldap_ip = utility.get_ldap_server()
         # avoid the ip address cant be read
         if ldap_ip!=None:
             ret = OpenLdap.p_is_register(ldap_ip,thd_SERVICE_TYPE.CLOUD_CC,g_cc_ip)
             if ret:
                 ldap_ip =  utility.get_ldap_server()   
                 g_clc_ip = OpenLdap.get_clc_ip(ldap_ip)
             if (g_clc_ip != None)  and (g_cc_ip != None):
                 logger.info('g_cc_ip:%s,g_clc_ip:%s' %(g_cc_ip,g_clc_ip))               
                 break
             else:
                 logger.debug('waiting in p_get_ip_thread()!!!')
         time.sleep(DEFAULT_DELAY)