Esempio n. 1
0
 def create_service_alias(self, service_id):
     service_alias = "gr" + service_id[-6:]
     svc = service_repo.get_service_by_service_alias(service_alias)
     if svc is None:
         return service_alias
     service_alias = self.create_service_alias(make_uuid(service_id))
     return service_alias
Esempio n. 2
0
 def __process_invite_service(self, user, data):
     service_alias, identity = data[3], data[4]
     service = service_repo.get_service_by_service_alias(service_alias)
     service_perm = app_perm_service.get_user_service_perm(
         user.user_id, service.ID)
     if not service_perm:
         service_perm_repo.add_service_perm(user.user_id, service.ID,
                                            identity)
Esempio n. 3
0
    def get(self, request, *args, **kwargs):
        """
        获取服务的event的详细日志
        ---
        parameters:
            - name: team_name
              description: 团队名称
              required: true
              type: string
              paramType: query
            - name: service_alias
              description: 服务别名
              required: true
              type: string
              paramType: query
            - name: level
              description: 日志等级
              required: false
              type: string
              paramType: query
            - name: event_id
              description: 事件id
              required: true
              type: string
              paramType: query
        """
        try:
            team_name = request.GET.get("team_name", None)
            service_alias = request.GET.get("service_alias", None)
            level = request.GET.get("level", LogConstants.INFO)
            event_id = request.GET.get("event_id", None)
            if not team_name:
                return Response(generate_result("0400", "team name is null", "团队名称不能为空"))
            if not service_alias:
                return Response(generate_result("0400", "serice alias is null", "服务别名不能为空"))
            if not event_id:
                return Response(generate_result("0400", "event id is null", "请指明事件id"))
            team = console_team_service.get_tenant_by_tenant_name(team_name)
            if not team:
                return Response(generate_result("0404", "team is not found", "团队{0}不存在".format(team_name)))
            service = service_repo.get_service_by_service_alias(service_alias)
            if not service:
                return Response(generate_result("0404", "team is not found", "应用{0}不存在".format(service_alias)))

            log_list = event_service.get_service_event_log(team, service, level, event_id)
            result = generate_result("0000", "success", "查询成功", list=log_list)

        except Exception as e:
            logger.exception(e)
            result = generate_error_result()
        return Response(result)
Esempio n. 4
0
    def get(self, request, team_name, *args, **kwargs):
        """
        获取组件访问信息
        ---
        parameters:
            - name: tenantName
              description: 租户名
              required: true
              type: string
              paramType: path
            - name: service_list
              description: 组件别名列表
              required: true
              type: string
              paramType: path
        """

        try:
            serviceAlias = request.GET.get('service_alias')
            if not serviceAlias:
                result = general_message(200,
                                         "not service",
                                         "当前组内无组件",
                                         bean={"is_null": True})
                return Response(result)
            team = team_services.get_tenant_by_tenant_name(team_name)
            service_access_list = list()
            if not team:
                result = general_message(400, "not tenant", "团队不存在")
                return Response(result)
            service_list = serviceAlias.split('-')
            for service_alias in service_list:
                bean = dict()
                service = service_repo.get_service_by_service_alias(
                    service_alias)
                access_type, data = port_service.get_access_info(team, service)
                bean["access_type"] = access_type
                bean["access_info"] = data
                service_access_list.append(bean)
            result = general_message(200,
                                     "success",
                                     "操作成功",
                                     list=service_access_list)
        except Exception as e:
            logger.exception(e)
            result = error_message(e.message)
        return Response(result, status=result["code"])
Esempio n. 5
0
 def get_app_abnormal(self, region_id, start_stamp, end_stamp):
     if not RegionConfig.objects.filter(region_id=region_id).exists():
         raise RegionNotExistError("数据中心不存在")
     region_config = RegionConfig.objects.get(region_id=region_id)
     res, body = region_api.get_app_abnormal(region_config.url,
                                             region_config.token,
                                             region_config.region_name,
                                             start_stamp, end_stamp)
     if res["status"] >= 400:
         raise RegionAccessError("数据中心查询出错")
     app_list = body["list"]
     if app_list:
         for app_dict in reversed(app_list):
             if not app_dict.get("ServiceName"):
                 app_list.remove(app_dict)
         for app_dicts in app_list:
             service_alias = app_dicts.get("ServiceName")
             service = service_repo.get_service_by_service_alias(
                 service_alias)
             if service:
                 app_dicts["ServiceAlias"] = service.service_cname
             else:
                 app_dicts["ServiceAlias"] = service_alias
     return app_list