def __init__(self,app): self.app = app self.client = ApimanagerClient() app.add_url_rule("/v1/firmware/registerFirmwareDepandency", 'registerfirmwaredepandency', view_func=EndpointAction(self.registerfirmwaredepandency), methods=['POST']) app.add_url_rule("/v1/firmware/uploadFirmwareFile", 'firmwarefileupload', view_func=EndpointAction(self.firmwarefileupload), methods=['POST']) app.add_url_rule("/v1/firmware/registerFirmware", 'registerfirmware', view_func=EndpointAction(self.registerfirmware), methods=['POST']) app.add_url_rule("/v1/firmware/updateFirmware", 'updatefirmware', view_func=EndpointAction(self.updatefirmware), methods=['POST']) app.add_url_rule("/v1/firmware/getAvailFirmwareList", 'getavailfirmwarelist', view_func=EndpointAction(self.getavailfirmwarelist), methods=['POST']) # availiable registed firmware file list app.add_url_rule("/v1/firmware/getFirmwareList", 'getfirmwarelist', view_func=EndpointAction(self.getfirmwarelist), methods=['POST']) # registed firmware file list app.add_url_rule("/v1/firmware/deleteFirmwareFile", 'deletefirmwarefile', view_func=EndpointAction(self.deletefirmwarefile), methods=['POST']) app.add_url_rule("/v1/firmware/deleteFirmware", 'deletefirmware', view_func=EndpointAction(self.deletefirmware), methods=['POST']) app.add_url_rule("/v1/firmware/deleteFirmwareDepandency", 'deletefirmwaredepandency', view_func=EndpointAction(self.deletefirmwaredepandency), methods=['POST']) app.add_url_rule("/v1/firmware/history/getFirmwareHistory", 'getfirmwarehistory', view_func=EndpointAction(self.getfirmwarehistory), methods=['POST']) app.add_url_rule("/v1/firmware/history/deleteFirmwareHistory", 'deletefirmwarehistory', view_func=EndpointAction(self.deletefirmwarehistory), methods=['POST'])
def __init__(self,app): self.app = app self.client = ApimanagerClient() app.add_url_rule("/v1/pxeboot/registerPXEBootImage", 'registerImage', view_func=EndpointAction(self.registerImage), methods=['POST']) app.add_url_rule("/v1/pxeboot/uploadPXEBootImageFile", 'uploadImageFile', view_func=EndpointAction(self.uploadImageFile), methods=['POST']) app.add_url_rule("/v1/pxeboot/deletePXEBootImageFile", 'deletePXEBootImageFile', view_func=EndpointAction(self.deletePXEBootImageFile), methods=['POST']) app.add_url_rule("/v1/pxeboot/getPXEBootImage", 'getPXEBootImage', view_func=EndpointAction(self.getPXEBootImage), methods=['POST']) app.add_url_rule("/v1/pxeboot/updatePXEBootImage", 'updatePXEBootImage', view_func=EndpointAction(self.updatePXEBootImage), methods=['POST']) app.add_url_rule("/v1/pxeboot/deletePXEBootImage", 'deletePXEBootImage', view_func=EndpointAction(self.deletePXEBootImage), methods=['POST']) app.add_url_rule("/v1/pxeboot/registerPXEBootConfig", 'registerPXEBootConfig', view_func=EndpointAction(self.registerPXEBootConfig), methods=['POST']) app.add_url_rule("/v1/pxeboot/getPXEBootConfig", 'getPXEBootConfig', view_func=EndpointAction(self.getPXEBootConfig), methods=['POST']) app.add_url_rule("/v1/pxeboot/updatePXEBootConfig", 'updatePXEBootConfig', view_func=EndpointAction(self.updatePXEBootConfig), methods=['POST']) app.add_url_rule("/v1/pxeboot/deletePXEBootConfig", 'deletePXEBootConfig', view_func=EndpointAction(self.deletePXEBootConfig), methods=['POST']) app.add_url_rule("/v1/pxeboot/history/getPXEBootHistory", 'getPXEBootHistory', view_func=EndpointAction(self.getPXEBootHistory), methods=['POST']) app.add_url_rule("/v1/pxeboot/history/deletePXEBootHistory", 'deletePXEBootHistory', view_func=EndpointAction(self.deletePXEBootHistory), methods=['POST'])
def mutate(root, info, **kwargs): apimanager_client = ApimanagerClient() msg = {} print("Mutation RegisterNode : root = (), info = {}, kwargs = {}".format(root, info, **kwargs)) for k,v in kwargs.items(): if convert_map.get(k): key_value = convert_map.get(k) else: key_value = k msg[key_value] = v print("kwargs {} = {}".format(k,v)) # response = {} response = apimanager_client.send(method='registerNode', msg=msg) print(response) if response.get('errorcode') is None: success_data = NodeResponse() success_data.nodeuuid = response.get('node_uuid') ret_data = ResponseMessageField(result="0000", resultMessage="Success", resultData=success_data) else: error_data = NodeResponse() error_data.nodeuuid = "" errorcode= response.get('errorcode') errorstr = response.get('errorstr') ret_data = ResponseMessageField(result=errorcode, resultMessage=errorstr, resultData=error_data) return RegisterNodeMutation(ret_data)
def __init__(self, app): self.app = app self.client = ApimanagerClient() app.add_url_rule("/v1/node/registerNode", 'RegisterNode', view_func=EndpointAction(self.RegisterNode), methods=['POST']) app.add_url_rule("/v1/node/getAllList", 'getNodeList', view_func=EndpointAction(self.getNodeList), methods=['POST']) app.add_url_rule("/v1/node/getParentList", 'getParentNodeList', view_func=EndpointAction(self.getParentNodeList), methods=['POST']) app.add_url_rule("/v1/node/getChildList", 'getChildNodeList', view_func=EndpointAction(self.getChildNodeList), methods=['POST']) app.add_url_rule("/v1/node/getNodeInfo", 'getNodeInfo', view_func=EndpointAction(self.getNodeInfo), methods=['POST']) app.add_url_rule("/v1/node/updateNode", 'updateNode', view_func=EndpointAction(self.updateNode), methods=['POST']) app.add_url_rule("/v1/node/deleteNode", 'deleteNode', view_func=EndpointAction(self.deleteNode), methods=['POST'])
def __init__(self, app): self.app = app self.client = ApimanagerClient() self.client.setapp(app) # DEBUG # self.gqlclient = GqlClient("http://192.168.221.1:38080/graphql", self.app) app.add_url_rule("/v1/synccheck", 'synccheck', view_func=EndpointAction(self.synccheck), methods=['POST'])
def __init__(self,app): self.app = app self.client = ApimanagerClient() app.add_url_rule("/v1/ipmi/registerNode", 'registerIPMIConn', view_func=EndpointAction(self.registerIPMIConn), methods=['POST']) app.add_url_rule("/v1/ipmi/getNode", 'getIPMIConn', view_func=EndpointAction(self.registerIPMIConn), methods=['POST']) app.add_url_rule("/v1/ipmi/updateNode", 'updateIPMIConn', view_func=EndpointAction(self.updateIPMIConn), methods=['POST']) app.add_url_rule("/v1/ipmi/deleteNode", 'deleteIPMIConn', view_func=EndpointAction(self.deleteIPMIConn), methods=['POST'])
class IpmiNode: parser = DataParser() def __init__(self,app): self.app = app self.client = ApimanagerClient() app.add_url_rule("/v1/ipmi/registerNode", 'registerIPMIConn', view_func=EndpointAction(self.registerIPMIConn), methods=['POST']) app.add_url_rule("/v1/ipmi/getNode", 'getIPMIConn', view_func=EndpointAction(self.registerIPMIConn), methods=['POST']) app.add_url_rule("/v1/ipmi/updateNode", 'updateIPMIConn', view_func=EndpointAction(self.updateIPMIConn), methods=['POST']) app.add_url_rule("/v1/ipmi/deleteNode", 'deleteIPMIConn', view_func=EndpointAction(self.deleteIPMIConn), methods=['POST']) # Register Node @parser.response_data def registerIPMIConn(self): self.app.logger.info("registerIPMIConn") dic_data = self.parser.GetJson(IpmiConn(strict=True), request) res = self.client.send(method='registerIPMIConn',msg = dic_data) return json.dumps(res) # show ipmi connection information @parser.response_data def getIPMIConn(self, nodeuuid): self.app.logger.info("registerIPMIConn") dic_data = self.parser.GetJson(IpmiConn(strict=True), request) dic_data['conn_id'] = nodeuuid res = self.client.send(method='updateIPMIConn', msg=dic_data) return json.dumps(res) # change ipmi connection value @parser.response_data def updateIPMIConn(self, nodeuuid): self.app.logger.info("registerIPMIConn") dic_data = self.parser.GetJson(IpmiConn(strict=True), request) dic_data['conn_id'] = nodeuuid res = self.client.send(method='updateIPMIConn', msg=dic_data) return json.dumps(res) # delete ipmi connection Information @parser.response_data def deleteIPMIConn(self, nodeuuid): self.app.logger.info("registerIPMIConn") dic_data = {'conn_id':nodeuuid} res = self.client.send(method='deleteIPMIConn', msg=dic_data) return json.dumps(res)
def __init__(self, app): self.app = app self.client = ApimanagerClient() self.client.setapp(app) self.gqlclient = GqlClient(QL_URL, app) app.add_url_rule("/v1/login", 'login', view_func=EndpointAction(self.login), methods=['POST']) app.add_url_rule("/v1/locallogin", 'locallogin', view_func=EndpointAction(self.locallogin), methods=['POST']) app.add_url_rule("/v1/checktoken", 'checktoken', view_func=EndpointAction(self.checktoken), methods=['POST']) app.add_url_rule("/v1/mastersync", 'mastersync', view_func=EndpointAction(self.mastersync), methods=['POST'])
def __init__(self,app): self.app = app self.client = ApimanagerClient() self.client.setapp(app) app.add_url_rule("/v1/bios/init", 'templateinit', view_func=EndpointAction(self.templateinit), methods=['POST']) app.add_url_rule("/v1/bios/gettemplate", 'gettemplatelist', view_func=EndpointAction(self.gettemplatelist), methods=['POST']) app.add_url_rule("/v1/bios/biosconfiglist", 'biosconfiglist', view_func=EndpointAction(self.biosconfiglist), methods=['POST']) app.add_url_rule("/v1/bios/settemplate", 'settemplate', view_func=EndpointAction(self.settemplate), methods=['POST']) app.add_url_rule("/v1/bios/dumpbiosconfig", 'dumpbiosconfig', view_func=EndpointAction(self.dumpbiosconfig), methods=['POST']) app.add_url_rule("/v1/bios/curtemplate", 'curtemplate', view_func=EndpointAction(self.curtemplate), methods=['POST']) app.add_url_rule("/v1/bios/getsyscfgdumplist", 'getsyscfgdumplist', view_func=EndpointAction(self.getsyscfgdumplist), methods=['POST']) app.add_url_rule("/v1/bios/getsyscfgdumpdata", 'getsyscfgdumpdata', view_func=EndpointAction(self.getsyscfgdumpdata), methods=['POST']) app.add_url_rule("/v1/bios/getbioshist", 'getbioshist', view_func=EndpointAction(self.bioshist), methods=['POST'])
from timpani_gateway.schema.fields import NodeField from timpani_gateway.nameko.api import ApimanagerClient apimanager_client = ApimanagerClient() def resolve_getnode(root, info, **kwargs): node_uuid = kwargs.get('uuid', None) print("query resolve_getnode : root = (), info = {}, kwargs = {}".format(root, info, node_uuid)) msg = {'node_uuid':node_uuid} apimanager_client.test(msg) node = None # node = NodeField( # id='1', # capability = 'Leader', # capabilitycode = 'NL', # nodealias = 'Test Leader Node', # nodeuuid = 'uuid-01-02' # ) return msg def resolve_updatenode(root, info, **kwargs): uuid = kwargs.get('uuid') type = kwargs.get('nodeType') ipmiIp = kwargs.get('ipmiIp') ipmiPw = kwargs.get('ipmiPw') ipmiUser = kwargs.get('ipmiUser') msg={'node_uuid':uuid, 'node_type':type, 'ipmi_ipv4':ipmiIp, 'ipmi_user':ipmiUser, 'ipmi_passwd':ipmiPw} return msg
class BiosAPI: parser = DataParser() def __init__(self,app): self.app = app self.client = ApimanagerClient() self.client.setapp(app) app.add_url_rule("/v1/bios/init", 'templateinit', view_func=EndpointAction(self.templateinit), methods=['POST']) app.add_url_rule("/v1/bios/gettemplate", 'gettemplatelist', view_func=EndpointAction(self.gettemplatelist), methods=['POST']) app.add_url_rule("/v1/bios/biosconfiglist", 'biosconfiglist', view_func=EndpointAction(self.biosconfiglist), methods=['POST']) app.add_url_rule("/v1/bios/settemplate", 'settemplate', view_func=EndpointAction(self.settemplate), methods=['POST']) app.add_url_rule("/v1/bios/dumpbiosconfig", 'dumpbiosconfig', view_func=EndpointAction(self.dumpbiosconfig), methods=['POST']) app.add_url_rule("/v1/bios/curtemplate", 'curtemplate', view_func=EndpointAction(self.curtemplate), methods=['POST']) app.add_url_rule("/v1/bios/getsyscfgdumplist", 'getsyscfgdumplist', view_func=EndpointAction(self.getsyscfgdumplist), methods=['POST']) app.add_url_rule("/v1/bios/getsyscfgdumpdata", 'getsyscfgdumpdata', view_func=EndpointAction(self.getsyscfgdumpdata), methods=['POST']) app.add_url_rule("/v1/bios/getbioshist", 'getbioshist', view_func=EndpointAction(self.bioshist), methods=['POST']) @parser.response_data def templateinit(self): self.app.logger.info("templateinit") # dic_data = self.parser.GetJson(TemplateInit(strict=True), request) # self.app.logger.info("templateinit ====> {}".format(dic_data)) res = self.client.send(method='setbiostemplatedata', msg=None) return res @parser.response_data def gettemplatelist(self): self.app.logger.info("gettemplatelist") dic_data = self.parser.GetJson(TemplateList(strict=True), request) res = self.client.send(method='gettemplatelist', msg=dic_data) return res @parser.response_data def biosconfiglist(self): self.app.logger.info('biosconfig') dic_data = self.parser.GetJson(CheckToken(strict=True), request) res = self.client.biosconfiglist(dic_data) return res @parser.response_data def curtemplate(self): self.app.logger.info('curtemplate') dic_data = self.parser.GetJson(CheckToken(strict=True), request) res = self.client.curtemplate(dic_data) return res @parser.response_data def settemplate(self): self.app.logger.info("settemplate") dic_data = self.parser.GetJson(SetTemplate(strict=True), request) self.app.logger.info("settemplate ====> {}".format(dic_data)) dic_data['runkind'] = 'set' res = self.client.setbiosconfig(dic_data) return res @parser.response_data def dumpbiosconfig(self): # dump run command self.app.logger.info("dumpbiosconfig") dic_data = self.parser.GetJson(DumpBiosConfig(strict=True), request) self.app.logger.info("dumpbiosconfig ====> {}".format(dic_data)) dic_data['runkind'] = 'dump' res = self.client.dumpbiosconfig(dic_data) return res @parser.response_data def getsyscfgdumplist(self): # bios backup list self.app.logger.info("getsyscfgdumplist") dic_data = self.parser.GetJson(CheckToken(strict=True), request) self.app.logger.info("getsyscfgdumplist ====> {}".format(dic_data)) # dic_data['getkind'] = 'dump' res = self.client.getsyscfgdumplist(dic_data) return res @parser.response_data def getsyscfgdumpdata(self): self.app.logger.info("getsyscfgdumpdata") dic_data = self.parser.GetJson(GetSyscfgDumpData(strict=True), request) self.app.logger.info("getsyscfgdumpdata ====> {}".format(dic_data)) res = self.client.send(method='getsyscfgdumpdata_api',msg=dic_data) return res @parser.response_data def bioshist(self): self.app.logger.info("bioshist") dic_data = self.parser.GetJson(CheckToken(strict=True), request) dic_data['kind'] = "bios" res = self.client.GetProcessHist(dic_data) return res
class SyncAPI: parser = DataParser() app = None def __init__(self, app): self.app = app self.client = ApimanagerClient() self.client.setapp(app) # DEBUG # self.gqlclient = GqlClient("http://192.168.221.1:38080/graphql", self.app) app.add_url_rule("/v1/synccheck", 'synccheck', view_func=EndpointAction(self.synccheck), methods=['POST']) @parser.response_data def synccheck(self): self.app.logger.info("SyncCheck") dic_data = self.parser.GetJson(SyncCheck(strict=True), request) self.app.logger.info("Request Data : {}".format(dic_data)) sync_proc_list = SYNC_PROC sync_name = dic_data['sync_name'] res = self.client.synccheck(sync_name) # check_result = True # is_error = False # start_at = datetime.datetime.now(tz=timezone('Asia/Seoul')) # # start_at = datetime.datetime.now(tz=timezone('UTC')) # # try: # for sync_proc in SYNC_PROC: # check_data = {SYNC_PROC_PARAM_NAME: sync_proc, 'sync_name': sync_name} # if sync_proc.__eq__(SYNC_PROC_PRE): # self.app.logger.info("sync_proc:{}".format(SYNC_PROC_PRE)) # elif sync_proc.__eq__(SYNC_PROC_UPDATE): # self.app.logger.info("sync_proc:{}".format(SYNC_PROC_UPDATE)) # nodelist, volumelist, token = self.NodeSyncRequest() # # self.app.logger.info("token : {}".format(token)) # # self.app.logger.info("nodelist : {}".format(nodelist)) # # self.app.logger.info("volumelist : {}".format(volumelist)) # check_data['data'] = {'nodelist': nodelist, 'volumelist': volumelist} # elif sync_proc.__eq__(SYNC_PROC_AFTER): # self.app.logger.info("sync_proc:{}".format(SYNC_PROC_AFTER)) # check_data['sync_result'] = '1' # check_data['sync_start_at'] = start_at # # iscontinue, iserr, res = self.InternalSend(check_data, sync_proc) # if iserr: # break # # if not iscontinue: # self.app.logger.info('[{}] iscontinue False'.format(sync_proc)) # break # self.app.logger.info('[{}] iscontinue True'.format(sync_proc)) # # except Exception as e: # self.app.logger.info("EXCEPTION : {}".format(e)) # check_result = False # self.app.logger.info("Respose Data : {}".format(check_result)) return res def InternalSend(self, data, sync_proc): self.app.logger.info("data : {} \nsync_proc:{}".format( data, sync_proc)) is_err = False res = None try: res = self.client.send(method='synccheck', msg=data) except Exception as e: is_err = True self.app.logger.info( "sync_proc:{} [INTERNAL ERROR]".format(SYNC_PROC_AFTER)) self.app.logger.info("SyncCheck Response Data : {}".format(res)) if 'result' in res: if not res.get('result').__eq__('0000'): is_err = True else: self.app.logger.info('[{}] SUCCESS'.format(sync_proc)) else: self.app.logger.info('ERROR') is_err = True iscontinue = res.get('continue') return iscontinue, is_err, res # Sync Node Data Request def NodeSyncRequest(self): # Get Token username = "******" password = "******" token = None nodelistresp = None volumelistresp = None nodelist = None volumelist = None token = self.client.GetToken(username, password) # Get Data if token is not None: # self.app.logger.info("GET NODE LIST") # self.app.logger.info("GET VOLUME LIST") nodelist = self.client.GetNodeList(token) volumelist = self.client.GetVolumeList(token) return nodelist, volumelist, token def SyncHist(self, sync_name, errcode, msg, result, start_at): end_at = datetime.datetime.now(tz=True) sync_hist_data = { 'sync_proc': SYNC_PROC_HIST, 'sync_name': sync_name, 'sync_err_code': errcode, 'sync_result': result, 'sync_err_msg': msg, 'sync_start_at': start_at, 'sync_end_at': end_at } try: res = self.client.send(method='synccheck', msg=sync_hist_data) except Exception as e: is_error = True self.app.logger.info( "sync_proc:{} [INTERNAL ERROR]".format(SYNC_PROC_AFTER)) pass
def __init__(self, app): self.app = app self.client = ApimanagerClient() self.client.setapp(app) app.add_url_rule("/v1/filesystem/getBackupSrcList", 'getbackupsrclist', view_func=EndpointAction(self.getbackupsrclist), methods=['POST']) app.add_url_rule("/v1/filesystem/getbackuptargetlist", 'getbackuptargetlist', view_func=EndpointAction(self.getbackupsrclist_inno), methods=['POST']) app.add_url_rule("/v1/filesystem/getRecoverList", 'getrecoverlist', view_func=EndpointAction(self.getrecoverlist), methods=['POST']) app.add_url_rule("/v1/filesystem/getrecovertargetlist", 'getrecovertargetlist', view_func=EndpointAction(self.getrestoresrclist_inno), methods=['POST']) app.add_url_rule("/v1/filesystem/backup", 'bakup', view_func=EndpointAction(self.backup), methods=['POST']) app.add_url_rule("/v1/filesystem/restore", 'restore', view_func=EndpointAction(self.restore), methods=['POST']) app.add_url_rule("/v1/filesystem/delsnap", 'delsnap', view_func=EndpointAction(self.delsnap), methods=['POST']) app.add_url_rule("/v1/filesystem/getrealhist", 'getrealhist', view_func=EndpointAction(self.getrealhist), methods=['POST']) app.add_url_rule("/v1/filesystem/backuphist", 'backuphist', view_func=EndpointAction(self.backuphist), methods=['POST']) app.add_url_rule("/v1/filesystem/restorehist", 'restorehist', view_func=EndpointAction(self.restorehist), methods=['POST']) app.add_url_rule("/v1/filesystem/history/getSystemHistory", 'getsystemhistory', view_func=EndpointAction(self.getsystemhistorybackup), methods=['POST']) app.add_url_rule("/v1/filesystem/history/getHistoryBackup", 'getsystemhistorybakup', view_func=EndpointAction(self.getsystemhistorybackup), methods=['POST']) app.add_url_rule("/v1/filesystem/history/getHistoryRecover", 'getsystemhistoryrecover', view_func=EndpointAction( self.getsystemhistoryrecover), methods=['POST']) app.add_url_rule("/v1/filesystem/history/getHistoryError", 'getsystemhistoryerror', view_func=EndpointAction(self.getsystemhistoryerror), methods=['POST']) app.add_url_rule("/v1/filesystem/history/deleteHistory", 'deletesystemhistory', view_func=EndpointAction(self.deletesystemhistory), methods=['POST']) app.add_url_rule("/v1/filesystem/history/setHistory", 'setsystemhistory', view_func=EndpointAction(self.setsystemhistory), methods=['POST'])
class FirmwareAPI: parser = DataParser() def __init__(self,app): self.app = app self.client = ApimanagerClient() app.add_url_rule("/v1/firmware/registerFirmwareDepandency", 'registerfirmwaredepandency', view_func=EndpointAction(self.registerfirmwaredepandency), methods=['POST']) app.add_url_rule("/v1/firmware/uploadFirmwareFile", 'firmwarefileupload', view_func=EndpointAction(self.firmwarefileupload), methods=['POST']) app.add_url_rule("/v1/firmware/registerFirmware", 'registerfirmware', view_func=EndpointAction(self.registerfirmware), methods=['POST']) app.add_url_rule("/v1/firmware/updateFirmware", 'updatefirmware', view_func=EndpointAction(self.updatefirmware), methods=['POST']) app.add_url_rule("/v1/firmware/getAvailFirmwareList", 'getavailfirmwarelist', view_func=EndpointAction(self.getavailfirmwarelist), methods=['POST']) # availiable registed firmware file list app.add_url_rule("/v1/firmware/getFirmwareList", 'getfirmwarelist', view_func=EndpointAction(self.getfirmwarelist), methods=['POST']) # registed firmware file list app.add_url_rule("/v1/firmware/deleteFirmwareFile", 'deletefirmwarefile', view_func=EndpointAction(self.deletefirmwarefile), methods=['POST']) app.add_url_rule("/v1/firmware/deleteFirmware", 'deletefirmware', view_func=EndpointAction(self.deletefirmware), methods=['POST']) app.add_url_rule("/v1/firmware/deleteFirmwareDepandency", 'deletefirmwaredepandency', view_func=EndpointAction(self.deletefirmwaredepandency), methods=['POST']) app.add_url_rule("/v1/firmware/history/getFirmwareHistory", 'getfirmwarehistory', view_func=EndpointAction(self.getfirmwarehistory), methods=['POST']) app.add_url_rule("/v1/firmware/history/deleteFirmwareHistory", 'deletefirmwarehistory', view_func=EndpointAction(self.deletefirmwarehistory), methods=['POST']) # Register Node @parser.response_data def registerfirmwaredepandency(self): self.app.logger.info("registerfirmwaredepandency") dic_data = self.parser.GetJson(IpmiConn(strict=True), request) res = self.client.send(method='registerfirmwaredepandency',msg = dic_data) return json.dumps(res) @parser.response_data def firmwarefileupload(self): self.app.logger.info("firmwarefileupload") dic_data = self.parser.GetJson(IpmiConn(strict=True), request) dic_data = None res = self.client.send(method='firmwarefileupload', msg=dic_data) return json.dumps(res) @parser.response_data def registerfirmware(self): self.app.logger.info("registerfirmware") dic_data = self.parser.GetJson(IpmiConn(strict=True), request) dic_data = None res = self.client.send(method='registerfirmware', msg=dic_data) return json.dumps(res) @parser.response_data def updatefirmware(self, nodeuuid): self.app.logger.info("updatefirmware") dic_data = self.parser.GetJson(IpmiConn(strict=True), request) dic_data = {'node_uuid': nodeuuid} res = self.client.send(method='updatefirmware', msg=dic_data) return json.dumps(res) @parser.response_data def getavailfirmwarelist(self, nodeuuid): self.app.logger.info("getavailfirmwarelist") dic_data = {'node_uuid': nodeuuid} res = self.client.send(method='getavailfirmwarelist', msg=dic_data) return json.dumps(res) @parser.response_data def getfirmwarelist(self): self.app.logger.info("getfirmwarelist") dic_data = None res = self.client.send(method='getfirmwarelist', msg=dic_data) return json.dumps(res) @parser.response_data def deletefirmware(self, firmwareid): self.app.logger.info("deletefirmware") dic_data = {'id': firmwareid} res = self.client.send(method='deletefirmware', msg=dic_data) return json.dumps(res) @parser.response_data def deletefirmwarefile(self, firmwareid): self.app.logger.info("deletefirmwarefile") dic_data = {'id': firmwareid} res = self.client.send(method='deletefirmwarefile', msg=dic_data) return json.dumps(res) @parser.response_data def deletefirmwaredepandency(self, depandencyid): self.app.logger.info("deletefirmwaredepandency") dic_data = {'id': depandencyid} res = self.client.send(method='deletefirmwaredepandency', msg=dic_data) return json.dumps(res) @parser.response_data def getfirmwarehistory(self): self.app.logger.info("getfirmwarehistory") dic_data = None res = self.client.send(method='getfirmwarehistory', msg=dic_data) return json.dumps(res) @parser.response_data def registerfirmware(self, histid): self.app.logger.info("deletefirmwarehistory") dic_data = {'id': histid} res = self.client.send(method='deletefirmwarehistory', msg=dic_data) return json.dumps(res)
class RestNode: parser = DataParser() def __init__(self, app): self.app = app self.client = ApimanagerClient() app.add_url_rule("/v1/node/registerNode", 'RegisterNode', view_func=EndpointAction(self.RegisterNode), methods=['POST']) app.add_url_rule("/v1/node/getAllList", 'getNodeList', view_func=EndpointAction(self.getNodeList), methods=['POST']) app.add_url_rule("/v1/node/getParentList", 'getParentNodeList', view_func=EndpointAction(self.getParentNodeList), methods=['POST']) app.add_url_rule("/v1/node/getChildList", 'getChildNodeList', view_func=EndpointAction(self.getChildNodeList), methods=['POST']) app.add_url_rule("/v1/node/getNodeInfo", 'getNodeInfo', view_func=EndpointAction(self.getNodeInfo), methods=['POST']) app.add_url_rule("/v1/node/updateNode", 'updateNode', view_func=EndpointAction(self.updateNode), methods=['POST']) app.add_url_rule("/v1/node/deleteNode", 'deleteNode', view_func=EndpointAction(self.deleteNode), methods=['POST']) # Register Node @parser.response_data def RegisterNode(self): self.app.logger.info("RegisterNode") dic_data = self.parser.GetJson(RegisterNode_V1(strict=True), request) self.app.logger.info("Request Data : {}".format(dic_data)) res = self.client.send(method='registerNode', msg=dic_data) self.app.logger.info("Respose Data : {}".format(res)) return res # All Node List @parser.response_data def getNodeList(self): self.app.logger.info("getNodeList") dic_data = {'nodeuuid': None, 'search_kind': 0} res = self.client.send(method='getNodeList', msg=dic_data) return res # Leader Node List @parser.response_data def getParentNodeList(self): self.app.logger.info("getParentNodeList") dic_data = {'nodeuuid': None, 'search_kind': 1} res = self.client.send(method='getNodeList', msg=dic_data) return res # Compute Node List @parser.response_data def getChildNodeList(self): self.app.logger.info("getChildNodeList") dic_data = self.parser.GetJson(ChildNode(strict=True), request) dic_data['search_kind'] = 2 res = self.client.send(method='getNodeList', msg=dic_data) return res # Get Node Info @parser.response_data def getNodeInfo(self): self.app.logger.info("getNodeInfo") dic_data = {'nodeuuid': None, 'search_kind': 3} res = self.client.send(method='getNodeInfo', msg=dic_data) return res # Updete Node @parser.response_data def updateNode(self): self.app.logger.info("updateNode") dic_data = self.parser.GetJson(UpdateNode(strict=True), request) res = self.client.send(method='updateNode', msg=dic_data) return res # Delete Node Info @parser.response_data def deleteNode(self): self.app.logger.info("deleteNode") dic_data = self.parser.GetJson(UpdateNode(strict=True), request) res = self.client.send(method='deleteNode', msg=dic_data) return res
class AuthAPI: parser = DataParser() JWT_SECRET = 'secret' JWT_ALGORITHM = 'HS256' JWT_EXP_DELTA_SECONDS = 60 def __init__(self, app): self.app = app self.client = ApimanagerClient() self.client.setapp(app) self.gqlclient = GqlClient(QL_URL, app) app.add_url_rule("/v1/login", 'login', view_func=EndpointAction(self.login), methods=['POST']) app.add_url_rule("/v1/locallogin", 'locallogin', view_func=EndpointAction(self.locallogin), methods=['POST']) app.add_url_rule("/v1/checktoken", 'checktoken', view_func=EndpointAction(self.checktoken), methods=['POST']) app.add_url_rule("/v1/mastersync", 'mastersync', view_func=EndpointAction(self.mastersync), methods=['POST']) @parser.response_data def login(self): # argment : user_id, password (SHA-256 -> bCrypto) self.app.logger.info("Login") dic_data = self.parser.GetJson(Login(), request) self.app.logger.info("login dic_data : {}".format(dic_data)) res = self.client.login(dic_data.get('user'), dic_data.get('password')) self.app.logger.info("login res_data : {}".format(res)) return res @parser.response_data def locallogin(self): self.app.logger.info("LocalLogin") jwt = jwtutil() dic_data = self.parser.GetJson(Login(), request) try: res = self.client.PasswordCheck(dic_data.get('user'), dic_data.get('password')) except Exception as e: res = False self.app.logger.info("LocalLogin passwordcheck : {}".format(res)) if res: token = jwt.createToken().decode('utf-8') else: token = None self.app.logger.info("LocalLogin token : {}".format(token)) return {'token': token} @parser.response_data def checktoken(self): self.app.logger.info("checktoken") dic_data = self.parser.GetJson(CheckToken(), request) self.app.logger.info(dic_data.get('internal')) isvalid, userid, groupid, authentication, isinternal = self.client.CheckToken( dic_data.get('token')) res = { 'isvalid': isvalid, 'user_id': userid, 'group_id': groupid, 'authentication': authentication } return res @parser.response_data def mastersync(self): dic_data = self.parser.GetJson(MasterSync(), request) res = self.client.mastersync(dic_data.get('username'), dic_data.get('password')) self.app.logger.info("res : {}".format(res)) return res
class PxebootAPI: parser = DataParser() def __init__(self,app): self.app = app self.client = ApimanagerClient() app.add_url_rule("/v1/pxeboot/registerPXEBootImage", 'registerImage', view_func=EndpointAction(self.registerImage), methods=['POST']) app.add_url_rule("/v1/pxeboot/uploadPXEBootImageFile", 'uploadImageFile', view_func=EndpointAction(self.uploadImageFile), methods=['POST']) app.add_url_rule("/v1/pxeboot/deletePXEBootImageFile", 'deletePXEBootImageFile', view_func=EndpointAction(self.deletePXEBootImageFile), methods=['POST']) app.add_url_rule("/v1/pxeboot/getPXEBootImage", 'getPXEBootImage', view_func=EndpointAction(self.getPXEBootImage), methods=['POST']) app.add_url_rule("/v1/pxeboot/updatePXEBootImage", 'updatePXEBootImage', view_func=EndpointAction(self.updatePXEBootImage), methods=['POST']) app.add_url_rule("/v1/pxeboot/deletePXEBootImage", 'deletePXEBootImage', view_func=EndpointAction(self.deletePXEBootImage), methods=['POST']) app.add_url_rule("/v1/pxeboot/registerPXEBootConfig", 'registerPXEBootConfig', view_func=EndpointAction(self.registerPXEBootConfig), methods=['POST']) app.add_url_rule("/v1/pxeboot/getPXEBootConfig", 'getPXEBootConfig', view_func=EndpointAction(self.getPXEBootConfig), methods=['POST']) app.add_url_rule("/v1/pxeboot/updatePXEBootConfig", 'updatePXEBootConfig', view_func=EndpointAction(self.updatePXEBootConfig), methods=['POST']) app.add_url_rule("/v1/pxeboot/deletePXEBootConfig", 'deletePXEBootConfig', view_func=EndpointAction(self.deletePXEBootConfig), methods=['POST']) app.add_url_rule("/v1/pxeboot/history/getPXEBootHistory", 'getPXEBootHistory', view_func=EndpointAction(self.getPXEBootHistory), methods=['POST']) app.add_url_rule("/v1/pxeboot/history/deletePXEBootHistory", 'deletePXEBootHistory', view_func=EndpointAction(self.deletePXEBootHistory), methods=['POST']) # Register Node @parser.response_data def registerImage(self): self.app.logger.info("registerImage") dic_data = self.parser.GetJson(IpmiConn(strict=True), request) res = self.client.send(method='registerIPMIConn',msg = dic_data) return json.dumps(res) @parser.response_data def uploadImageFile(self, nodeuuid): self.app.logger.info("registerIPMIConn") dic_data = self.parser.GetJson(IpmiConn(strict=True), request) dic_data['conn_id'] = nodeuuid res = self.client.send(method='updateIPMIConn', msg=dic_data) return json.dumps(res) @parser.response_data def deleteImageFile(self, nodeuuid): self.app.logger.info("registerIPMIConn") dic_data = {'conn_id':nodeuuid} res = self.client.send(method='deleteIPMIConn', msg=dic_data) return json.dumps(res)
class SystemAPI: parser = DataParser() def __init__(self, app): self.app = app self.client = ApimanagerClient() self.client.setapp(app) app.add_url_rule("/v1/filesystem/getBackupSrcList", 'getbackupsrclist', view_func=EndpointAction(self.getbackupsrclist), methods=['POST']) app.add_url_rule("/v1/filesystem/getbackuptargetlist", 'getbackuptargetlist', view_func=EndpointAction(self.getbackupsrclist_inno), methods=['POST']) app.add_url_rule("/v1/filesystem/getRecoverList", 'getrecoverlist', view_func=EndpointAction(self.getrecoverlist), methods=['POST']) app.add_url_rule("/v1/filesystem/getrecovertargetlist", 'getrecovertargetlist', view_func=EndpointAction(self.getrestoresrclist_inno), methods=['POST']) app.add_url_rule("/v1/filesystem/backup", 'bakup', view_func=EndpointAction(self.backup), methods=['POST']) app.add_url_rule("/v1/filesystem/restore", 'restore', view_func=EndpointAction(self.restore), methods=['POST']) app.add_url_rule("/v1/filesystem/delsnap", 'delsnap', view_func=EndpointAction(self.delsnap), methods=['POST']) app.add_url_rule("/v1/filesystem/getrealhist", 'getrealhist', view_func=EndpointAction(self.getrealhist), methods=['POST']) app.add_url_rule("/v1/filesystem/backuphist", 'backuphist', view_func=EndpointAction(self.backuphist), methods=['POST']) app.add_url_rule("/v1/filesystem/restorehist", 'restorehist', view_func=EndpointAction(self.restorehist), methods=['POST']) app.add_url_rule("/v1/filesystem/history/getSystemHistory", 'getsystemhistory', view_func=EndpointAction(self.getsystemhistorybackup), methods=['POST']) app.add_url_rule("/v1/filesystem/history/getHistoryBackup", 'getsystemhistorybakup', view_func=EndpointAction(self.getsystemhistorybackup), methods=['POST']) app.add_url_rule("/v1/filesystem/history/getHistoryRecover", 'getsystemhistoryrecover', view_func=EndpointAction( self.getsystemhistoryrecover), methods=['POST']) app.add_url_rule("/v1/filesystem/history/getHistoryError", 'getsystemhistoryerror', view_func=EndpointAction(self.getsystemhistoryerror), methods=['POST']) app.add_url_rule("/v1/filesystem/history/deleteHistory", 'deletesystemhistory', view_func=EndpointAction(self.deletesystemhistory), methods=['POST']) app.add_url_rule("/v1/filesystem/history/setHistory", 'setsystemhistory', view_func=EndpointAction(self.setsystemhistory), methods=['POST']) # Backup Target Source List @parser.response_data def getbackupsrclist(self): self.app.logger.info("getbackupsrclist") dic_data = self.parser.GetJson(GetBackupSrcList(strict=True), request) self.app.logger.info("getbackupsrclist : send before") res = self.client.send(method='getbackupsrclist', msg=dic_data) return res @parser.response_data def getbackupsrclist_inno(self): self.app.logger.info("getbackupsrclist_inno") dic_data = self.parser.GetJson(GetBackupSrcList_Inno(strict=True), request) self.app.logger.info("dic_data : {}".format(dic_data)) token = dic_data.get('token') usetype = dic_data.get('usetype') self.app.logger.info("dic_data : {}".format(token)) targets = self.client.backuptargetlist(dic_data) self.app.logger.info("getbackupsrclist : send before") # res = self.client.send(method='getbackupsrclist', msg=dic_data) return targets @parser.response_data def getrestoresrclist_inno(self): self.app.logger.info("getrecoverlist") dic_data = self.parser.GetJson(GetBackupSrcList_Inno(strict=True), request) self.app.logger.info("getrecoverlist : send before") res = self.client.GetRestoreList(dic_data) return res @parser.response_data def getrecoverlist(self): self.app.logger.info("getrecoverlist") dic_data = self.parser.GetJson(GetRecoverList(strict=True), request) self.app.logger.info("getrecoverlist : send before") res = self.client.send(method='getrecoverlist', msg=dic_data) return res @parser.response_data def systembackup(self): self.app.logger.info("systembackup") dic_data = self.parser.GetJson(SystemBackup(strict=True), request) dic_data['backup_kind'] = 'increment' res = self.client.send(method='systembackup', msg=dic_data) return res @parser.response_data def backup(self): self.app.logger.info("backup command") dic_data = self.parser.GetJson(Backup(strict=True), request) res = self.client.send(method='backupcmd', msg=dic_data) return res @parser.response_data def restore(self): self.app.logger.info("restore command") dic_data = self.parser.GetJson(Restore(strict=True), request) res = self.client.send(method='restorecmd', msg=dic_data) return res @parser.response_data def delsnap(self): self.app.logger.info("snapshot delete command") dic_data = self.parser.GetJson(SnapDel(strict=True), request) res = self.client.send(method='deletecmd', msg=dic_data) return res @parser.response_data def getrealhist(self): self.app.logger.info("getrealhist") dic_data = self.parser.GetJson(RealHist(strict=True), request) self.app.logger.info("getrealhist : send before {}".format(dic_data)) dic_data['run_uuid'] = dic_data.get('runprocuuid') res = self.client.send(method='getrealhist', msg=dic_data) return res @parser.response_data def restorehist(self): self.app.logger.info("restorehist") dic_data = self.parser.GetJson(CheckToken(strict=True), request) dic_data['kind'] = "restore" res = self.client.GetProcessHist(dic_data) return res @parser.response_data def backuphist(self): self.app.logger.info("backuphist") dic_data = self.parser.GetJson(CheckToken(strict=True), request) dic_data['kind'] = "backup" res = self.client.GetProcessHist(dic_data) return res @parser.response_data def getsystemhistory(self): self.app.logger.info("getsystemhistory") dic_data = self.parser.GetJson(SystemHistory(strict=True), request) res = None if 'target_type_list' in dic_data: res = self.client.send(method='getsystemhistory', msg=dic_data) else: dic_data['target_type_list'] = ['backup', 'recover', 'error'] res = self.client.send(method='getsystemhistory', msg=dic_data) return res @parser.response_data def getsystemprocesshistory(self): self.app.logger.info("getsystemprocesshistory") dic_data = self.parser.GetJson(SystemHistory(strict=True), request) res = None if 'target_type_list' in dic_data: res = self.client.send(method='getsystemprocesshistory', msg=dic_data) else: dic_data['target_type_list'] = ['backup', 'recover', 'error'] res = self.client.send(method='getsystemprocesshistory', msg=dic_data) return res @parser.response_data def getsystemhistorybackup(self): self.app.logger.info("getsystemhistorybackup") dic_data = self.parser.GetJson(SystemHistory(strict=True), request) dic_data['target_type_list'] = ['backup'] res = self.client.send(method='getsystemprocesshistory', msg=dic_data) return res @parser.response_data def getsystemhistoryrecover(self): self.app.logger.info("getsystemhistoryrecover") dic_data = self.parser.GetJson(SystemHistory(strict=True), request) dic_data['target_type_list'] = ['recover'] # dic_data['node_uuid'] = nodeuuid res = self.client.send(method='getsystemprocesshistory', msg=dic_data) return res @parser.response_data def getsystemhistoryerror(self): self.app.logger.info("getsystemhistoryerror") dic_data = self.parser.GetJson(SystemHistory(strict=True), request) dic_data['target_type_list'] = ['error'] # dic_data['node_uuid'] = nodeuuid res = self.client.send(method='getsystemprocesshistory', msg=dic_data) return res @parser.response_data def deletesystemhistory(self): self.app.logger.info("deletesystemhistory") dic_data = None # dic_data['node_uuid'] = nodeuuid # dic_data['id'] = histid res = self.client.send(method='deletesystemhistory', msg=dic_data) return json.dumps(res) @parser.response_data def setsystemhistory(self): self.app.logger.info("setsystemhistory") dic_data = None dic_data = self.parser.GetJson(SetSystemHistory(strict=True), request) res = self.client.send(method='setsystemhistory', msg=dic_data) return json.dumps(res)