Esempio n. 1
0
 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
Esempio n. 2
0
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()
Esempio n. 3
0
 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
Esempio n. 4
0
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
Esempio n. 5
0
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
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 8
0
 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
Esempio n. 9
0
 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
Esempio n. 10
0
 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
Esempio n. 11
0
 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
Esempio n. 12
0
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()
Esempio n. 13
0
 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
Esempio n. 14
0
 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
Esempio n. 15
0
 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
Esempio n. 16
0
File: role.py Progetto: zwunix/SFO
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)