def get(self, host_name): start_time = request.args.get('starttime', '') end_time = request.args.get('endtime', '') try: start_time = timestamp_format(start_time) if start_time else timestamp_format(time.time() - 3600) end_time = timestamp_format(end_time) if end_time else timestamp_format(time.time()) resp, status = get_cluster_nodeperform_detail_logic(host_name, start_time=start_time, end_time=end_time) return resp, status except ValueError, error: access_logger.error('access ClusterNodePerformDetailAPI get exception %s' % error) status = 400 message = 'Invalid Parameter' return {'status': status, "message": message}, status
def take_tasklog_notes(taskid, excute_description, message): current_time = time.time() manager_log = SfoManagerTaskLogMethod.create_manager_task_log( taskid, message, excute_description, timestamp_format(current_time)) sfo_task = SfoTasksListMethod.query_tasks_by_guid(taskid) if sfo_task: ending_flag = int(sfo_task.service_task_ending_flag ) if sfo_task.service_task_ending_flag else 0 ending_flag += 1 sfo_task.service_task_ending_flag = str(ending_flag) sfo_task.task_end_time = timestamp_format(current_time) db.session.add(sfo_task) db.session.add(manager_log) db.session.commit()
def get(self, cluster_name): start_time = request.args.get('starttime', '') end_time = request.args.get('endtime', '') try: start_time = timestamp_format(start_time, '%Y-%m-%d %H:%M:00') if start_time else timestamp_format( time.time() - 1800, '%Y-%m-%d %H:%M:00') end_time = timestamp_format(end_time, '%Y-%m-%d %H:%M:00') if end_time else timestamp_format(time.time(), '%Y-%m-%d %H:%M:00') resp, status = get_cluster_disk_io_logic(cluster_name, start_time, end_time) return resp, status except Exception, error: access_logger.error('GET ClusterDiskIOAPI get exception %s' % error) status = 500 message = "Internal Server Error %s" % str(error) return {'status': status, "message": message}, status
def delete_node_from_cluster(guid): status = '' message = '' resp = {"status": status, "message": message} try: if guid: mynode = SfoClusterNodes.query.filter( SfoClusterNodes.guid == guid).first() if mynode: mynode.node_stat = '1' mynode.cluster_name = '' mynode.node_inet_ip = '' mynode.node_replicate_ip = '' mynode.node_role = '' mynode.add_time = timestamp_format(time.time()) db.session.commit() status = 200 message = 'SUCCESS' else: status = 501 message = 'NULL VALUE %s' % guid except Exception as ex: status = 502 message = str(ex) finally: resp.update({"status": status, "message": message}) return resp, status
def create_config(config_json): status = '' message = '' data = [] resp = {"status": status, "message": message, "data": data} config_group = config_json.get('config_group', '') config_key = config_json.get('config_key', '') if SfoCofigureMethod.query_filter_by_group_key(config_group,config_key): status = 301 message = '%s exists in %s'%(config_key, config_group) resp.update({"status": status, "message": message, "data": data}) return resp, status if config_group and config_key: sfo_config = SfoCofigure() for config, value in config_json.items(): if hasattr(sfo_config, config): setattr(sfo_config, config, value) sfo_config.guid = str(uuid.uuid4()) sfo_config.add_time = timestamp_format(time.time()) db.session.add(sfo_config) db.session.commit() status = 201 message = 'Create Success' else: status = 400 message = 'config group or key parameters is required' resp.update({"status": status, "message": message, "data": data}) return resp, status
def add_role_logic(role_json): """ :param role_json: :return: """ status = '' message = '' resp = {"status": status, "message": message} new_role = SfoServerRole() try: if role_json: for key, value in role_json.items(): if hasattr(new_role, key): if key == 'permissions': value = SfoServerPermission.query_permissions(value) setattr(new_role, key, value) new_role.guid = str(uuid.uuid4()) new_role.add_time = new_role.last_modify_time = timestamp_format( time.time()) db.session.add(new_role) db.session.commit() status = 200 message = 'SUCCCESS' else: status = 501 message = 'Null Value %s' % role_json except Exception, ex: status = 502 message = str(ex)
def add_resource_logic(resource_json): """ 添加需要控制的资源,默认添加三种资源控制权限 :param resource_json: :return: """ status = '' message = '' resp = {"status": status, "message": message} new_resource = SfoServerResource() try: if resource_json: resource_name = resource_json['resource_name'] for key, value in resource_json.items(): if hasattr(new_resource, key): setattr(new_resource, key, value) defalut_permission_list = SfoServerPermission.create_default_permission(resource_name) new_resource.guid = str(uuid.uuid4()) new_resource.add_time = timestamp_format(time.time()) new_resource.permissions = defalut_permission_list db.session.add(new_resource) db.session.commit() status = 200 message = 'SUCCCESS' else: status = 501 message = 'Null Value %s' % resource_json except Exception, ex: status = 502 message = str(ex)
def get(self, cluster_name): try: _time = strft_2_timestamp( datetime.datetime.now().date().strftime('%Y-%m-%d %H:%M:%S')) start_time = timestamp_format(_time - 86400) end_time = timestamp_format(_time) resp, status = get_cluster_detail_logic(cluster_name, start_time, end_time) return resp, status except ValueError, error: access_logger.error('GET ClusterDetailAPI get exception %s' % error) import sys, traceback print traceback.print_exc() status = 400 message = "Invalid Parameters %s" % str(error) return {'status': status, "message": message}, status
def get(self, host_name): start_time = request.args.get('starttime', '') end_time = request.args.get('endtime', '') try: start_time = timestamp_format( start_time) if start_time else timestamp_format(time.time() - 1800) end_time = timestamp_format( end_time) if end_time else timestamp_format(time.time()) resp, status = get_cluster_disk_logic(host_name, start_time, end_time) return resp, status except ValueError, error: access_logger.error('GET ClusterDiskAPI get exception %s' % error) status = 400 message = "Invaild Parameter %s" % str(error) return {'status': status, "message": message}, status
def get(self, cluster_name): start_time = request.args.get('starttime', '') end_time = request.args.get('endtime', '') try: start_time = timestamp_format( start_time) if start_time else timestamp_format(time.time() - 3600) end_time = timestamp_format( end_time) if end_time else timestamp_format(time.time()) resp, status = get_requests_count_logic(cluster_name, start_time, end_time) return resp, status except ValueError, error: access_logger.error('GET ClusterRequestCountApi get exception %s' % error) status = 400 message = "Invalid Parameters %s" % str(error) return {'status': status, "message": message}, status
def get(self, cluster_name): start_time = request.args.get('starttime', '') end_time = request.args.get('endtime', '') try: start_time = timestamp_format( start_time) if start_time else timestamp_format(time.time() - 3600) end_time = timestamp_format( end_time) if end_time else timestamp_format(time.time()) resp, status = get_cluster_async_pending_logic( cluster_name, start_time, end_time) return resp, status except Exception, error: access_logger.error('Get ClusterAysncPendingAPI get exception %s' % error) status = 500 message = "Internal Server Error" return {'status': status, "message": message}, status
def create_or_update_userinfo(username, display_name, is_clusteradmin=False, sfo_server_user=None): if sfo_server_user is None: sfo_server_user = SfoServerUser.create_default_user( username, display_name, is_clusteradmin) else: sfo_server_user.last_login_time = timestamp_format(time.time()) db.session.add(sfo_server_user) db.session.commit()
def get(self, guid=None): try: start_time = request.args.get('starttime', '') end_time = request.args.get('endtime', '') page = request.args.get('page', 1) limit = request.args.get('limit', 10) if start_time: start_time = timestamp_format(start_time, '%Y-%m-%d %H:%M:%S') if end_time: end_time = timestamp_format(end_time, '%Y-%m-%d %H:%M:%S') else: end_time = timestamp_format(time.time(), '%Y-%m-%d %H:%M:%S') resp, status = get_alarm_historys_logic(start_time, end_time, page, limit) return resp, status except Exception, error: access_logger.error('Get ClusterAlarmLogAPI get exception %s' % error) status = 500 message = "Internal Server Error %s" % (str(error)) return {'status': status, "message": message}, status
def get(self): start_time = request.args.get('starttime', None) end_time = request.args.get('endtime', None) taskid = request.args.get('taskid', None) page = request.args.get('page', 1) limit = request.args.get('limit', 10) try: if start_time: start_time = timestamp_format(start_time, '%Y-%m-%d %H:%M:%S') if end_time: end_time = timestamp_format(end_time, '%Y-%m-%d %H:%M:%S') if page and isinstance(page, (str, unicode)) and page.isdigit(): page = int(page) if limit and isinstance(limit, (str, unicode)) and limit.isdigit(): limit = int(limit) resp, status = get_service_task_detail(taskid, start_time, end_time, page, limit) return resp, status except ValueError, error: status = 400 message = str(error) return {"status": status, "message": message}, status
def wrapper(*args, **kwargs): access_user = request.headers.get('X-Real-IP ', request.remote_addr) access_method = request.method access_path = request.path access_time = timestamp_format(time.time()) resp = func(*args, **kwargs) access_result = resp[0].get('status') access_message = resp[0].get( 'message', 'Internal Server Error') if resp else 'Internal Server Error' SfoServerAccessLog.add_access_log(access_user, access_method, access_path, access_time, access_result, access_message) return resp
def update_role(role_json, role_name): status = '' message = '' resp = {"status": status, "message": message} sfo_server_role = SfoServerRole.query_role_by_name(role_name) try: if role_json and sfo_server_role: for key, value in role_json.items(): if hasattr(sfo_server_role, key): if key == 'permissions': value = SfoServerPermission.query_permissions(value) setattr(sfo_server_role, key, value) sfo_server_role.last_modify_time = timestamp_format(time.time()) db.session.add(sfo_server_role) db.session.commit() status = 201 message = 'Update SUCCESS' else: status = 501 message = 'NULL VALUE %s' % role_json except Exception, ex: status = 502 message = str(ex)