Ejemplo n.º 1
0
def get_sql_msg(src_ip,state):
    text = '${device/db_ip} ${device/db_port} ${device/db_user} ${device/db_passwd}'
    rpc_handle = HttpHandler()
    rpc_handle.login()
    result = rpc_handle.getResponseData("device_router","DeviceRouter","compile_text",[{"dev_ip":src_ip,"text":text}])
    if result:
        dbcfg = result.split()
        conn = None
        import MySQLdb
        try:
            conn = MySQLdb.connect(host=dbcfg[0], user=dbcfg[2],port=int(dbcfg[1]), passwd=dbcfg[3],db="ssoc",init_command="SET NAMES utf8")
            conn.autocommit(1)
            curs = conn.cursor()
            sql1 = "select b.mem_address,b.mem_port,a.control_address,a.control_port from cloud_virtual_server a " \
                   "LEFT JOIN cloud_virtual_member b on a.v_id = b.pool_id where b.mem_address='%s'"%src_ip
            curs.execute(sql1)
            conn.commit()
            result = curs.fetchall()
            #修改每个主机对应的端口状态
            for i in result:
                mem_address,mem_port,control_host,control_port = i
                set_member(mem_address,mem_port,str(state),control_host,control_port)
        except:
            logger.warning("连接数据库失败")
    else:
        logger.warning("获取数据库连接参数失败!%s可能不存在"%src_ip)
Ejemplo n.º 2
0
 def __init__(self,dev_ip):
     self.conn = None
     self.dev_ip = dev_ip
     self.rpc_handle = HttpHandler()
     self.rpc_handle.login()
     self.getDabaseConnect()