Example #1
0
def forward_to_service(request):
    results = {}
    try:
        method = request.method
        hu = HttpUtils(request)
        if method == "GET":
            req_get = request.GET
            serivceName = req_get.get("serivceName", None)
            restName = req_get.get("restName", None)
            req_data = req_get.get("req_data", None)
            if serivceName and restName:
                results = hu.get(serivceName=serivceName,
                                 restName=restName,
                                 datas=req_data)
            else:
                results['status'] = 500
        else:
            req_post = request.POST
            serivceName = req_post.get("serivceName", None)
            restName = req_post.get("restName", None)
            req_data = req_post.get("req_data", None)
            if serivceName and restName:
                p_result = hu.post(serivceName=serivceName,
                                   restName=restName,
                                   datas=req_data)
                results = json.dumps(p_result.json())
            else:
                results['status'] = 500
    except Exception as e:
        logger.error(e, exc_info=1)
        results['status'] = 500
    return HttpResponse(json.dumps(results), content_type='application/json')
    def post_ajax(self, request, *args, **kwargs):
        result = {'status': 0}
        try:
            hu = HttpUtils(self.request)
            reqData = hu.getRequestParam()
            script_lang_dict = {'shell': 'sh', 'python': 'py', 'yaml': 'yaml'}
            if reqData:
                logger.info("DevopsToolsCreateView.post_ajax reqData:%s" %
                            (reqData))
                #tool_set_prime_type = reqData.get("tool_set_prime_type",None)
                tool_type = reqData.get("tool_type", None)
                if tool_type:
                    fileName = ""
                    #if tool_type == '5':
                    t = time.time()
                    toolScriptPath = settings.TOOL_SCRIPT_PATH  #'/opt/devops/tool_script/'
                    command = reqData.get("command", None)
                    script_lang = reqData.get("script_lang", "shell")
                    try:
                        if not os.path.exists(toolScriptPath):
                            os.makedirs(toolScriptPath)
                        fileName = "%s%s%s.%s" % (
                            toolScriptPath, int(round(t * 1000)),
                            randomCharStr(), script_lang_dict[script_lang])
                        f = open(fileName, 'w')
                        f.write(command)
                        os.chmod(fileName,
                                 stat.S_IRWXO | stat.S_IRWXG | stat.S_IRWXU)
                        reqData['command'] = fileName
                        reqData['script_md5'] = md5(command)
                    except Exception as e:
                        logger.error(e, exc_info=1)
                    finally:
                        f.close()

                    addResult = hu.post(
                        serivceName="p_job",
                        restName="/rest/tool/add/",
                        datas=reqData)  #/rest/job/add_tool_set/
                    addResultJson = addResult.json()
                    if addResultJson['status'] == 200:
                        result['status'] = 0
                        result['msg'] = '保存成功'
                    else:
                        remove_file(fileName)
                        result['status'] = 1
                        result['msg'] = addResultJson['msg']
                else:
                    result['status'] = 1
                    result['msg'] = '未检测到类别和类型信息,保存失败'
            else:
                result['status'] = 1
                result['msg'] = '保存值为空'

        except Exception as e:
            result['status'] = 1
            result['msg'] = '保存异常'
            logger.error(e, exc_info=1)
        return HttpResponse(json.dumps(result),
                            content_type='application/json')
Example #3
0
    def post_ajax(self, request, *args, **kwargs):
        result = {'status': 0}
        try:
            user = request.user
            files = request.FILES
            command_set = request.POST.get("command_set",None)

            hu = HttpUtils()
            resultJson = hu.post(serivceName="job", restName="/rest/job/add/", datas=command_set)
            resultJson  = eval(resultJson.text)
            if(resultJson["status"] == "FAILURE"):
                result['status'] = 1
            else:
                data = resultJson["data"]
                for k in data:
                    step_ids = data[k]
                    for file in files:
                        t = file.split(',')
                        step = step_ids[int(t[0])]
                        f = files[file]
                        path = UPLOAD_SCRIPT_PATH + k + "/"
                        for k2 in step:
                            line = step[k2]
                            path += str(k2) + "/"+str(line[int(t[1])])+"/"
                            os.makedirs(path)
                            destination = open(os.path.join(path, f.name), 'wb+')
                            for chunk in f.chunks():
                                destination.write(chunk)
                            destination.close()
        except Exception as e:
            logger.error(e)
        return HttpResponse(json.dumps(result),content_type='application/json')
 def post_ajax(self, request, *args, **kwargs):
     result = {'status': 0}
     try:
         hu = HttpUtils(self.request)
         reqData = hu.getRequestParam()
         app_id = reqData.get("id", None)
         if app_id:
             del reqData['offset']
             del reqData['limit']
             del reqData['csrfmiddlewaretoken']
             addAppResults = hu.post(serivceName="p_job",
                                     restName="/rest/appmanage/updateById/",
                                     datas=reqData)  #/rest/app/update_app/
             addAppResults = addAppResults.json()
             if addAppResults['status'] == 200:
                 result['status'] = 200
                 result['msg'] = '更新应用信息成功'
             else:
                 result['status'] = 500
                 result['msg'] = '更新应用信息失败'
         else:
             result['status'] = 500
             result['msg'] = '更新应用信息失败'
     except Exception as e:
         result['status'] = 500
         result['msg'] = '更新异常'
         logger.error(e, exc_info=1)
     return HttpResponse(json.dumps(result),
                         content_type='application/json')
 def get_context_data(self, **kwargs):
     context = {}
     try:
         hu = HttpUtils(self.request)
         tool_result = hu.get(serivceName="p_job",
                              restName="/rest/tool/getinfo/",
                              datas={"id": kwargs.get('pk', 0)
                                     })  #/rest/job/list_tool_set/
         tool = tool_result.get("results", [])
         if tool:
             tool['param'] = json.loads(tool['param'])
             tool_set_type = tool["tool_type"]
             if tool_set_type == 5:
                 command = tool["command"]
                 file_object = open(command, 'rU')
                 tool['filename'] = command
                 try:
                     content = ""
                     for line in file_object:
                         content += r"" + line
                     tool["command"] = content.replace(
                         '\\', '\\\\').replace('"', '\\"').replace(
                             '\r', '\\r').replace('\n', '\\n')
                 finally:
                     file_object.close()
             else:
                 tool['filename'] = ""
             #tool["command"] = tool["command"].replace('"', '\\"').replace('\r', '\\r').replace('\n', '\\n')
         context["result_dict"] = tool
     except Exception as e:
         logger.error(e, exc_info=1)
     return context
Example #6
0
 def post_ajax(self, request, *args, **kwargs):
     result = {}
     try:
         req = self.request
         hu = HttpUtils(req)
         reqData = hu.getRequestParam()
         id = reqData.get("id",None)
         appids = reqData.get("app_ids",None)
         idc = reqData.get("idc",None)
         env = reqData.get("env",None)
         version = reqData.get("version",None)
         #is_all = reqData.get("is_all",0)
         if id and appids:
             appids = json.loads(appids)
             setRunResult = hu.post(serivceName="job", restName="/rest/deploy/set_run_version/",datas={"id": id, "app_ids": appids, "idc": idc, "env": env,"version":version})
             # setRunResult = hu.post(serivceName="job", restName="/rest/deploy/set_run/", datas={"id":id,"app_ids":appids,"idc":idc,"env":env})
             setRunResult = setRunResult.json()
             if setRunResult['status'] == "SUCCESS":
                 result['status'] = 0
                 result['msg'] = "发布成功,后端正在执行中"
             else:
                 result['status'] = 1
                 result['msg'] = setRunResult['msg']
         else:
             result['status'] = 1
             result['msg'] = "发布失败"
     except Exception as e:
         result['status'] = 1
         result['msg'] = "发布异常"
         logger.error(e)
     return HttpResponse(json.dumps(result),content_type='application/json')
Example #7
0
 def get_event(self,time_from = None,time_till = None,count=50):
     global zabbix_auth
     if time_from is None:
         time_from = int(time.time()-60*10)
         time_till = int(time.time())
     try:
         data = {
             "jsonrpc": "2.0",
             "method": "event.get",
             "params": {
                 "output": "extend",
                 "time_from": time_from,
                 "time_till": time_till,
                 "sortfield": ["clock", "eventid"],
                 "sortorder": "DESC"
             },
             "auth": zabbix_auth,
             "id": 1
         }
         event_result = HttpUtils(None).post2(ZABBIX_URL,data)
         event_list = event_result.json().get("result", [])
         event_list = event_list[0:count]
     except Exception as e:
         logger.error(e,exc_info=1)
     return event_list
 def get_ajax(self, request, *args, **kwargs):
     result = {'status': 0}
     try:
         hu = HttpUtils(request)
         id = request.GET.get('id', None)
         if id:
             addAppResults = hu.post(
                 serivceName="p_job",
                 restName="/rest/flowcontrol/deleteById/",
                 datas={'id': id})
             addAppResults = addAppResults.json()
             if addAppResults['status'] == 200:
                 result['status'] = 0
                 result['msg'] = '删除成功'
             else:
                 result['status'] = 1
                 result['msg'] = '删除失败'
         else:
             result['status'] = 1
             result['msg'] = '删除失败'
     except Exception as e:
         result['status'] = 1
         result['msg'] = '删除异常'
         logger.error(e, exc_info=1)
     return HttpResponse(json.dumps(result),
                         content_type='application/json')
Example #9
0
    def get_context_data(self, **kwargs):
        context = super(PreSrbUpdateView, self).get_context_data(**kwargs)
        context["is_add"] = 1
        id = kwargs.get('pk', 0)
        type = self.request.GET.get("type",0)
        context['type'] = int(type)
        readonly = ""
        display = "block"
        if int(type) > 0:
            readonly = "readonly"
            display = "none"
        context['readonly'] = readonly
        context['display'] = display
        is_auditor = 1
        # if self.request.devopsgroup == DEVOPSGROUP:
        #     is_auditor = 1
        context['is_auditor'] = is_auditor
        context['pre_srb_additional'] = PRE_SRB_ADDITIONAL
        context['pre_srb_additional_percent'] = PRE_SRB_ADDITIONAL_PERCENT
        if id:
            hu = HttpUtils(self.request)
            auditor_list = hu.get(serivceName="presrb", restName="/rest/presrb/auditor_list/",datas={})
            context['auditor_list'] = auditor_list

            categoryItem_list = hu.get(serivceName="presrb", restName="/rest/presrb/categoryItem_list/", datas={})
            context['categoryItem_list'] = categoryItem_list

            resultJson = hu.get(serivceName="presrb", restName="/rest/presrb/project_byid/", datas={"id": id})
            data = {}
            if resultJson['status'] == 200:
                data = resultJson['data']
            context['result'] = data

        return context
 def post(self, request):
     result = {}
     hu = HttpUtils(self.request)
     input_dict = hu.getRequestParam()
     print(input_dict)
     print(request.POST.get('from', '{}'))
     _f = request.POST.get('from', '{}')
     print(request.POST.get('to', '{}'))
     _t = request.POST.get('to', '{}')
     _from = json.loads(_f)
     _to = json.loads(_t)
     m1 = None
     m2 = None
     print(_from, _to)
     if _from and _from['id']:
         m1 = Menu.objects.get(id=_from['id'])
     if _to and _to['id']:
         m2 = Menu.objects.get(id=_to['id'])
     print(m1.order_index, m1)
     print(m2.order_index, m2)
     tempOrderIdx = None
     if m1 and m2:
         tempOrderIdx = m1.order_index
         m1.order_index = m2.order_index
         m1.save()
         m2.order_index = tempOrderIdx
         m2.save()
     return HttpResponse(json.dumps(result),
                         content_type='application/json')
Example #11
0
 def post_ajax(self, request, *args, **kwargs):
     result = {'status': 0}
     try:
         hu = HttpUtils(self.request)
         reqData = hu.getRequestParam()
         app_id = reqData.get("id", None)
         if app_id:
             del reqData['offset']
             del reqData['limit']
             del reqData['csrfmiddlewaretoken']
             deploy_tool_update_result = hu.post(serivceName="p_job", restName="/rest/deploytool/updateById/", datas=reqData) #/rest/deploytool/update/
             deploy_tool_update = deploy_tool_update_result.json()
             if deploy_tool_update['status'] == 200:
                 result['status'] = 0
                 result['msg'] = deploy_tool_update['msg']
             else:
                 result['status'] = 1
                 result['msg'] = '更新发版信息失败'
         else:
             result['status'] = 1
             result['msg'] = '更新发版信息失败'
     except Exception as e:
         result['status'] = 1
         result['msg'] = '更新异常'
         logger.error(e)
     return HttpResponse(json.dumps(result), content_type='application/json')
 def get(self, request):
     result = {}
     try:
         hu = HttpUtils(self.request)
         reqData = hu.getRequestParam()
         # type = (request.GET.get('type', "user"))
         request.user
         cursor = connection.cursor()
         result['status'] = 0
         condition = "1"
         if "isParent" in reqData:
             condition = "has_sub_menu =1 "
         else:
             condition = 1
         sql = "SELECT id, name, menu, parent_id, has_sub_menu, order_index  FROM  devops_menu_menuitem where {0} and is_enabled = 1 order by order_index desc".format(
             condition)
         data = DBUtils.query(sql)
         result['info'] = (data)
     except Exception as e:
         logger.error(e)
         result['status'] = 1
         result['info'] = []
         result['msg'] = "不存在"
         return HttpResponseBadRequest(result['msg'])
     return HttpResponse(json.dumps(result),
                         content_type='application/json')
 def get_ajax(self, request, *args, **kwargs):
     req = self.request
     hu = HttpUtils(req)
     result = hu.get(serivceName="job",
                     restName="/rest/file/delete/",
                     datas={"id": req.GET.get("id", 0)})
     return self.render_json_response(result)
    def post_ajax(self, request, *args, **kwargs):
        files = request.FILES
        path = request.POST.get("path", None)
        resultJson = {}
        if path:
            saveJson = request.POST.get("saveJson", None)
            hu = HttpUtils(request)
            result = hu.post(serivceName="job",
                             restName="/rest/file/add/",
                             datas=saveJson)
            resultJson = result.json()
            if resultJson['status'] == "SUCCESS":
                try:
                    file = files['files']
                    filePath = UPLOAD_SCRIPT_PATH + path
                    filePath = filePath.replace('//', '/')
                    destination = open(os.path.join(filePath, file.name),
                                       'wb+')
                    for chunk in file.chunks():
                        destination.write(chunk)
                    destination.close()

                    (status,
                     output) = subprocess.getstatusoutput("sed -i 's/\r$//' " +
                                                          UPLOAD_SCRIPT_PATH +
                                                          path + file.name)
                    if status != 0:
                        logger.error(output)
                except Exception as e:
                    logger.error(e)
        else:
            resultJson['status'] = 'fail'
            resultJson['msg'] = '文件夹路径为空'
        return self.render_json_response(resultJson)
Example #15
0
def NginxClusterHostById(request):
    """
    发布 获取nginx 机器
    :param request:
    :return:
    """
    results = {}
    try:
        group_id = request.GET.get("id", None)
        vs = request.GET.get("vs", None)
        if group_id and vs:
            hu = HttpUtils(request)
            result = hu.get(serivceName='p_job', restName='/rest/slb/nginxclusterhostbyid', datas={"id": group_id, "vs": vs})
            if result['status'] == 200:
                results['status'] = 200
                results['data'] = result['data']
            else:
                results['status'] = 500
                results['msg'] = "查询失败"
        else:
            results['status'] = 500
            results['msg'] = "查询参数为空"
    except Exception as e:
        logger.error(e, exc_info=1)
        results['status'] = 500
        results['msg'] = "查询异常"
    return JsonResponse(data=results)
Example #16
0
    def post_ajax(self, request, *args, **kwargs):
        resultJson = {}
        try:
            saveJson = request.POST.get("saveJson", None)
            saveJson = eval(saveJson)
            hu = HttpUtils(request)
            # updateResult = hu.post(serivceName="presrb", restName="/rest/presrb/project_update/", datas={"p_id":saveJson.get("p_id",0),"deploy_envs":saveJson.get("deploy_envs",0),"change":0})
            # updateJson = updateResult.json()
            # if updateJson.get("status") == "SUCCESS":
            #     resultJson1 = hu.post(serivceName="presrb", restName="/rest/presrb/projectItem_add/", datas=saveJson)
            #     resultJson2 = resultJson1.json()
            #     if resultJson2.get("status") == "SUCCESS":
            #         resultJson["status"] = 0
            #     else:
            #         resultJson["status"] = 1
            #         resultJson["msg"] = "保存应用配置失败"

            resultJson1 = hu.post(serivceName="presrb", restName="/rest/presrb/projectItem_add/", datas=saveJson)
            resultJson2 = resultJson1.json()
            if resultJson2.get("status") == "SUCCESS":
                resultJson["status"] = 0
            else:
                resultJson["status"] = 1
                resultJson["msg"] = "保存应用配置失败"

        except Exception as e:
            resultJson["status"] = 1
            resultJson["msg"] = "保存应用配置异常"
            logger.error(e,exc_info=1)
        return HttpResponse(json.dumps(resultJson), content_type='application/json')
Example #17
0
def get_deploytaskslist(request):
    hu = HttpUtils(request)
    result = hu.get(serivceName='p_job',restName='/rest/slb/deploytaskslist/')
    for index, task in enumerate(result['results']):
        task = trans_deploytask(task)
        result['results'][index] = task
    return JsonResponse(data=dict(ret=result))
Example #18
0
    def get_context_data(self, **kwargs):
        context = super(PreSrbListView, self).get_context_data(**kwargs)
        try:
            req = self.request
            hu = HttpUtils(req)
            reqData = hu.getRequestParam()
            reqData['is_auditor'] = 1
            resultJson = hu.get(serivceName="presrb", restName="/rest/presrb/project_list/", datas=reqData)
            list = resultJson.get("results", [])
            paginator = Paginator(list, req.limit)
            count = resultJson.get("count", 0)
            paginator.count = count
            is_auditor = 1
            # if req.devopsgroup == DEVOPSGROUP:
            #     is_auditor = 1
            context['is_auditor'] = is_auditor
            context['result_list'] = list
            context['is_paginated'] = count > 0
            context['page_obj'] = paginator.page(req.offset)
            context['paginator'] = paginator
            file_list = []
            for parent, dirnames, filenames in os.walk(settings.FILES_DIR):
                for filename in filenames:
                    file_list.append(filename)

            context['file_list'] = file_list
        except Exception as e:
            logger.error(e,exc_info=1)
        return context
Example #19
0
 def post_ajax(self, request, *args, **kwargs):
     result = {}
     try:
         req = self.request
         postDict = req.POST
         appName = postDict.get("appName",None)
         hu = HttpUtils(req)
         parent_id = postDict.get("parentId","")
         idc = postDict.get("idc","")
         env = postDict.get("env","")
         if appName:
             appListResult = hu.get(serivceName="job", restName="/rest/deploy/app_list/",datas={"parent_id": parent_id, "idc": idc, "env": env, "name": appName})
             appList = appListResult.get("results", [])
             if len(appList) > 0:
                 applistversionResult = hu.get(serivceName="job", restName="/rest/deploy/app_list_version/",datas={"id": appList[0]['id']})
                 applistversion = applistversionResult.get("data", [])
                 result['list'] = applistversion
         else:
             setListVersionResult = hu.get(serivceName="job", restName="/rest/deploy/set_list_version/",datas={"id": parent_id, "idc": idc, "env": env})
             setListVersion = setListVersionResult.get("data", [])
             result['list'] = setListVersion
     except Exception as e:
         logger.error(e)
         result['status'] = 1
         result['list'] = []
     return HttpResponse(json.dumps(result), content_type='application/json')
Example #20
0
    def get(self, request):
        resultJson = {}
        try:
            req = self.request
            id = int(req.GET.get('id', 0))

            if not os.path.exists(settings.FILES_CACHE_DIR):
                os.makedirs(settings.FILES_CACHE_DIR)

            hu = HttpUtils(req)
            resultJson = hu.get(serivceName="presrb", restName="/rest/presrb/project_report_item/", datas={"id":id})
            ppt_name = generate_ppt_report(resultJson)

            filepath = os.path.join(settings.FILES_CACHE_DIR, ppt_name)
            filename =ppt_name.split('_')[1]

            response = StreamingHttpResponse(readFile(filepath))
            response['Content-Type'] = 'application/octet-stream'
            response['Content-Disposition'] = 'attachment;filename="{0}"'.format(
                filename.encode('utf-8').decode('ISO-8859-1'))
            remove_old_files(settings.FILES_CACHE_DIR)
        except Exception as e:
            logger.error(e, exc_info=1)

        return response
Example #21
0
 def get_alert(self):
     result = []
     global zabbix_auth
     try:
         event_list = self.get_event()
         eventIds = []
         for event in event_list:
             eventIds.append(event['eventid'])
         data = {
             "jsonrpc": "2.0",
             "method": "alert.get",
             "params": {
                 "output": "extend",
                 "eventids": eventIds
             },
             "auth": zabbix_auth,
             "id": 1
         }
         alert_result = HttpUtils(None).post2(ZABBIX_URL,data)
         alert_list = alert_result.json().get("result", [])
         for alert in alert_list:
             result.append({"subject":alert['subject'],
                            "actualValue":alert['retries'],
                            "eventTime":time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(int(alert['clock']))),
                            "eventId":alert['eventid']})
     except Exception as e:
         logger.error(e,exc_info=1)
     return result
Example #22
0
 def get_context_data(self, **kwargs):
     context = super(PreSrbCreateView, self).get_context_data(**kwargs)
     try:
         context["is_add"] = 1
         context['readonly'] = ""
         context['display'] = "block"
         context['type'] = 0
         user = self.request.user
         #result = {"applicant":user.username,"applicant_email":user.email}
         result = {"applicant": user.username}
         context['result'] = result
         is_auditor = 1
         # if self.request.devopsgroup == DEVOPSGROUP:
         #     is_auditor = 1
         context['is_auditor'] = is_auditor
         hu = HttpUtils(self.request)
         auditor_list = hu.get(serivceName="presrb", restName="/rest/presrb/auditor_list/", datas={})
         context['auditor_list'] = auditor_list
         # category_list = hu.get(serivceName="presrb", restName="/rest/presrb/category_list/", datas={})
         # context['category_list'] = category_list
         categoryItem_list = hu.get(serivceName="presrb", restName="/rest/presrb/categoryItem_list/", datas={})
         context['categoryItem_list'] = categoryItem_list
         context['pre_srb_additional'] = PRE_SRB_ADDITIONAL
         context['pre_srb_additional_percent'] = PRE_SRB_ADDITIONAL_PERCENT
     except Exception as e:
         logger.error(e,exc_info=1)
     return context
 def get_context_data(self, **kwargs):
     context = {}
     try:
         id = kwargs.get('pk', 0)
         hu = HttpUtils(self.request)
         app_manage_result = hu.get(serivceName="p_job",
                                    restName="/rest/appmanage/getinfo/",
                                    datas={'id': id})
         app_manage = app_manage_result.get("results", [])
         version_list = []
         if app_manage:
             app_manage_version_list_result = hu.get(
                 serivceName="p_job",
                 restName="/rest/appmanage/appversionlist/",
                 datas={'app_manage_id': app_manage['id']})
             app_manage_version_list = app_manage_version_list_result.get(
                 "results", [])
             for app_manage_version in app_manage_version_list:
                 version_list.append(app_manage_version['version'])
         context['version_list'] = version_list
         context['app_info'] = app_manage
         context['is_add'] = 0
     except Exception as e:
         logger.error(e, exc_info=1)
     return context
Example #24
0
    def post_ajax(self, request, *args, **kwargs):
        result = {'status': 0}
        try:
            hu = HttpUtils(self.request)
            reqData = hu.getRequestParam()
            saveJson = reqData.get("saveJson",None);
            if saveJson:
                resultAdd = hu.post(serivceName="presrb", restName="/rest/presrb/project_add/", datas=saveJson)
                resultJson = resultAdd.json()
                if resultJson['status'] == 'SUCCESS':
                    result['status'] = 0
                    result['p_id'] = resultJson.get("p_id","")
                    result['msg'] = '保存成功'
                else:
                    result['status'] = 1
                    result['msg'] = '保存失败'
            else:
                result['status'] = 1
                result['msg'] = '保存值为空'

        except Exception as e:
            result['status'] = 1
            result['msg'] = '保存异常'
            logger.error(e,exc_info=1)
        return HttpResponse(json.dumps(result),content_type='application/json')
 def get(self, request, *args, **kwargs):
     result = {'status': 200}
     try:
         req = self.request
         hu = HttpUtils(req)
         reqData = hu.getRequestParam()
         logger.info("DevopsToolInfoByToolIdAndVersion.get reqData:%s" %
                     (reqData))
         tool_list_result = hu.get(serivceName="p_job",
                                   restName="/rest/tool/list/",
                                   datas={
                                       'tool_id': reqData['tool_id'],
                                       "tool_version":
                                       reqData['tool_version'],
                                       "is_history": "-1"
                                   })  # /rest/job/list_tool_set/
         tool_list = tool_list_result.get("results", [])
         if tool_list:
             result['data'] = tool_list[0]
         else:
             result['data'] = {}
     except Exception as e:
         result['status'] = 500
         result['msg'] = '查询异常'
         logger.error(e, exc_info=1)
     return self.render_json_response(result)
Example #26
0
 def post(self, request, *args, **kwargs):
     result_json = {"status": 1}
     try:
         groupId = request.POST.get("group_id", None)
         host_ids = request.POST.get("host_ids", None)
         if groupId and host_ids:
             hu = HttpUtils(request)
             reqParam = {
                 "group_id": groupId,
                 "host_ids": host_ids.split(',')
             }
             updateResult = hu.post(
                 serivceName="cmdb",
                 restName="/rest/hostgroup/batch_host_unbind_group/",
                 datas=reqParam)  #/rest/hostgroup/static_group_delete/
             result = updateResult.json()
             if result['status'] == 200:
                 result_json = {
                     "status": 0,
                     'failCount': len(result['500']),
                     'successCount': len(result['200'])
                 }
             else:
                 result_json = {
                     "status": 1,
                     'failCount': len(result['500']),
                     'successCount': len(result['200'])
                 }
     except Exception as e:
         logger.error(e, exc_info=1)
     return self.render_json_response(result_json)
Example #27
0
 def get_context_data(self, **kwargs):
     context = super(List3View, self).get_context_data(**kwargs)
     try:
         req = self.request
         hu = HttpUtils(req)
         reqData = hu.getRequestParam()
         host = reqData.get('host', None)
         if host:
             host = json.loads(host)
             host['go_live'] = 3
             reqData['host'] = host
         else:
             reqData['host'] = {'go_live': 3}
         tree = reqData.get('tree', None)
         if tree:
             reqData['tree'] = json.loads(tree)
         resultJson = hu.post(serivceName="cmdb",
                              restName="/rest/host/list/",
                              datas=reqData)
         resultJson = resultJson.json()
         list = resultJson.get("results", [])
         #hostgroupResult = hu.get(serivceName="cmdb", restName="/rest/host/host_group_list/", datas={})
         hostGroup_list = RedisBase.get("host_group_3", 2)
         count = resultJson.get("count", 0)
         paginator = Paginator(list, req.limit)
         paginator.count = count
         context['result_list'] = list
         context['is_paginated'] = count > 0
         context['page_obj'] = paginator.page(req.offset)
         context['paginator'] = paginator
         context['hostGroup_list'] = hostGroup_list
     except Exception as e:
         logger.error(e, exc_info=1)
     return context
Example #28
0
def site_versions(request):
    id = int(request.GET.get('id'))
    hu = HttpUtils(request)
    setListResult = hu.get(serivceName="p_job", restName="/rest/slb/deployversionbysiteid/", datas={'site_id':id})
    #print(setListResult)
    #setListResult = trans_versions(setListResult)
    return JsonResponse(data={'ret':setListResult})
    def post_ajax(self, request, *args, **kwargs):
        result_json = {"status": 1}
        try:
            flag = request.POST.get("flag", None)
            if flag:
                hu = HttpUtils(request)
                go_live = request.POST.get("status")
                reqParam = []
                if flag == '1':
                    ip_list = json.loads(request.POST.get("ip_list"))
                    for ip in ip_list:
                        reqParam.append({'go_live': go_live, 'host_ip': ip})
                else:
                    seach = json.loads(request.POST.get("seach", None))
                    seach['go_live'] = 2
                    resultJson = hu.get(serivceName="cmdb",
                                        restName="/rest/host/",
                                        datas=seach)
                    list = resultJson.get("results", [])
                    for l in list:
                        reqParam.append({
                            'go_live': go_live,
                            'host_ip': l.get("host_ip")
                        })

                updateResult = hu.post(serivceName="cmdb",
                                       restName="/rest/host/update/",
                                       datas=reqParam)
                result = updateResult.json()
                if result['status'] == '0':
                    result_json = {"status": 0}
        except Exception as e:
            logger.error(e)
        return self.render_json_response(result_json)
Example #30
0
def hostTotalCount(request):
    results = {}
    try:
        r_key = "hostTotalCount_%s" % settings.DEVOPSGROUP
        result = RedisBase.get(redisKey=r_key, db=1)
        if result:
            results['status'] = 200
            results['data'] = json.loads(str(result, encoding="utf-8"))
        else:
            if request.devopsuser:
                hu = HttpUtils(request)
                get_results = hu.get(serivceName="cmdb",
                                     restName="/rest/host/host_total_count/",
                                     datas={})
                if get_results['status'] == 200:
                    data = get_results['data']
                    RedisBase.set(redisKey=r_key,
                                  value=json.dumps(data),
                                  time_ms=120,
                                  db=1)
                    results['status'] = 200
                    results['data'] = data
                else:
                    results['status'] = 500
            else:
                results['status'] = 500
    except Exception as e:
        results['status'] = 500
        logger.error(e, exc_info=1)
    return HttpResponse(json.dumps(results), content_type='application/json')