def clearSession(db=None): if (not db): db = dbmysql.mysqldb() cond = "WHERE S_ExpireTime < %ld" % get_current_time() db.delete(TB_SESSION, cond=cond)
def callWebServiceEX(*args): function = args[-4] session = args[-3] arg = args[-2] apiProto = args[-1] if (apiProto): arg["apiName"] = apiProto["name"] env = web_get_env(session) db = dbmysql.mysqldb() try: funret = function(db, env, arg) except Exception as e: errorLog = "Error in %s: [%s],\n Import module failed. [%s]" % (function, e, traceback.format_exc(limit=100)) errorLog = errorLog.replace("\n", "") errorLog = errorLog.replace("\"", "\\\"") ERROR(errorLog) retObj = buildResult(OCT_SYSTEM_ERR, errorLog=errorLog) if (arg.get("async") != True): retObj = writeApiWithResult(db, env, arg, retObj, apiProto, False) retObj["session"] = session del db, env return retObj retObj = makeFunctionResult(funret) if (arg.get("async") != True): retObj = writeApiWithResult(db, env, arg, retObj, apiProto, False) retObj["session"] = session del db, env return retObj
def post(self): # Step 1, Login with default account argObj = getArgObj(self.request) paras = { "account": self.get_argument("username"), "password": self.get_argument("password"), "role": 7, } argObj["api"] = "octlink.tundra.v1.account.APILoginByAccount" argObj["paras"] = paras self.db = dbmysql.mysqldb() session = getSessionObj(self.db, sessionId="00000000000000000000000000000000") del self.db argObj["session"] = session retObj = doDispatching(argObj, session, API_PROTOS) if retObj["RetCode"] != OCT_SUCCESS: ERROR("login error %s" % str(retObj)) self.redirect("/login/?error=true") else: sessionObj = retObj["RetObj"]["session"] self.set_cookie("rvmusercookie", sessionObj["id"]) self.set_cookie("username", retObj["RetObj"]["name"]) self.set_cookie("userid", retObj["RetObj"]["id"]) self.redirect("/")
def handleTshService(s_name, env, arg): calllist = s_name.split('.') modulepath = calllist[:-1] funname = calllist[-1] db = dbmysql.mysqldb() DEBUG("Function name %s" % funname) try: service = __import__('modules'+'.'+'.'.join(modulepath), fromlist=['from modules import',]) except Exception as e: ERROR('Import module failed. [%s]' % s_name) ERROR('Import module failed. [%s]' % e) ERROR('Import module failed. [%s]' % traceback.format_exc()) del db, env return buildResult(SYSTEM_ERR) if hasattr(service, funname): funobj = getattr(service, funname) else: ERROR('There is no %s in %s' % (funname, modulepath)) del db, env, service return buildResult(SYSTEM_ERR) del service try: funret = funobj(db, env, arg) DEBUG(funret) except Exception as arg: ERROR('Error in %s: [%s]' % (s_name, arg)) ERROR('Import module failed. [%s]' % traceback.format_exc()) del funobj, db, env return buildResult(SYSTEM_ERR) del funobj, db, env RetCode = funret.get('RetCode') if type(RetCode) != int: ERROR('Wrong formatstr in function return data %s: [%s],ret[%s]' % (s_name, arg, funret)) return buildResult(SYSTEM_ERR) retObj = buildResult(RetCode, funret.get('RetObj')) retObj["RetMsg"] = err_desc_en.get(RetCode, '') return retObj
def get(self): cookie = self.get_cookie("usercookie", "") username = self.get_cookie("username", "") userid = self.get_cookie("userid", "") if not cookie: self.redirect("/login/") return self.db = dbmysql.mysqldb() session = getSession(self.db, sessionId=cookie) del self.db if not session: self.redirect("/login/") return self.render("index.html")
def post(self): self.db = dbmysql.mysqldb() if isSystemWindows(): filePath = "var/tmp/" + getUuid() else: filePath = "/tmp/" + getUuid() # get the request file to cache path try: file_metas = self.request.files['file'] except: file_metas = self.request.files['filename'] for meta in file_metas: with open(filePath, 'wb') as up: up.write(meta['body']) argObj = appendBaseArg({}, self.request) argObj["paras"]["role"] = 7 argObj["paras"]["accountId"] = DEFAULT_ACCOUNT_ID api_key = self.get_argument("api", None) if (not api_key): self.write( buildFailureReply(UNACCP_PARAS, errorMsg="api key error")) self.finish() return argObj["paras"]["filePath"] = filePath argObj["api"] = UPLOAD_API_MAP.get(api_key) if (not argObj["api"]): self.write(buildFailureReply(UNACCP_PARAS, errorMsg=api_key)) self.finish() return session = getSession(self.db, sessionId="00000000000000000000000000000000") argObj["session"] = session retObj = doDispatching(argObj, session, API_PROTOS) self.write(buildReply(retObj)) self.finish()
def get(self): cookie = self.get_cookie("rvmusercookie", "") username = self.get_cookie("username", "") userid = self.get_cookie("userid", "") accountname = self.get_cookie("accountname", "admin") if not cookie: self.redirect("/login/") return self.db = dbmysql.mysqldb() session = getSessionObj(self.db, sessionId=cookie) del self.db if not session: self.redirect("/login/") return self.render("userportal/userportal.html", USER_NAME=username, USER_ID=userid, ACCOUNT_NAME=accountname, SESSION_ID=session["id"])
def get_vminfo_fromdb(dbname): BANK_ADDR = "/OCT/OCTFrame/core/membank/%s" membody = memcache.get_mem(dbname, BANK_ADDR) global tablelist tablelist = membody.get('tablelist', {}) db = dbmysql.mysqldb() info = {} numberinfo = get_vmnumber_fromdb(db, dbname) info["totalVm"] = numberinfo[0] info["runningVm"] = numberinfo[1] cpuinfo = get_cpuinfo_fromdb(db, dbname) info["vcpuTotal"] = cpuinfo[0] info["vcpuUsed"] = cpuinfo[1] info["vcpuAlloc"] = cpuinfo[2] meminfo = get_meminfo_fromdb(db, dbname) info["totalMem"] = meminfo[0] info["vmTotalMem"] = meminfo[1] info["vmUsedMem"] = meminfo[2] return info
def __init__(self, application, request, **kwargs): super(ApiHandler, self).__init__(application, request, **kwargs) self.db = dbmysql.mysqldb()
sys.exit(1) with open("/OCT/etc/internal_version", "r") as fd: content = fd.readline() if "center" in content or "RVMCenter" in content: PLATFORM = "center" elif "allinone" in content: PLATFORM = "allinone" else: PLATFORM = "server" if PLATFORM == "server": WARNING("rvm server no need get log info") sys.exit(1) if VERSION == '3': DB_NAME = 'octlog' else: DB_NAME = 'dbcenter' BANK_ADDR = "/OCT/OCTFrame/core/membank/%s" membody = memcache.get_mem(DB_NAME, BANK_ADDR) tablelist = membody.get('tablelist', {}) db = dbmysql.mysqldb() loginfo = get_log(db, DB_NAME) print(loginfo) del db