Exemplo n.º 1
0
 def get(self, request, *args, **kwargs):
     """获取插件信息"""
     plugin_id = request.GET.get("plugin_id")
     build_version = request.GET.get("build_version")
     if not plugin_id or not build_version:
         logger.error("plugin.relation", u'参数错误,plugin_id and version_id')
         data = {"success": False, "code": 405, 'msg': u'参数错误'}
         data = oldResultSuitGeneralMessage(data, "params error", "")
         return JsonResponse(data, status=200)
     result = {}
     result["config_group"] = self.useDefaultAttr(plugin_id, build_version,
                                                  "get")
     build_relations = plugin_svc.get_tenant_service_plugin_relation_by_plugin(
         self.service.service_id, plugin_id)
     version_info = plugin_svc.getPluginMetaType(plugin_id, build_version)
     bl = {}
     bl["create_time"] = build_relations[0].create_time
     bl["build_info"] = version_info.update_info
     bl["memory"] = version_info.min_memory
     result["build_version"] = bl
     result["success"] = True
     result["code"] = 200
     result["msg"] = u"操作成功"
     result = general_message(200, "success", u"操作成功",
                              result["build_version"],
                              result["config_group"])
     return JsonResponse(result, status=200)
Exemplo n.º 2
0
 def put(self, request, *args, **kwargs):
     """插件启停"""
     result = {}
     config = QueryDict(request.body)
     logger.debug(
         "plugin.relation",
         "in PluginServiceRelation put method params is {}".format(config))
     try:
         plugin_id = config.get("plugin_id", None)
         switch = config.get("is_switch", True)
         switch = plugin_svc.chargeSwtich(switch)
         relations = plugin_svc.get_tenant_service_plugin_relation_by_plugin(
             self.service.service_id, plugin_id)
         if relations > 0:
             build_version = relations[0].build_version
         else:
             result["success"] = False
             result["code"] = 404
             result['msg'] = u"未找到关联插件的构建版本"
             result = oldResultSuitGeneralMessage(result, "success", "")
             return JsonResponse(result, status=200)
         body_relation = {}
         body_relation["plugin_id"] = plugin_id
         body_relation["switch"] = switch
         body_relation["version_id"] = build_version
         logger.debug("plugin.relation",
                      "is_switch body is {}".format(body_relation))
         res, resultBody = region_api.updatePluginServiceRelation(
             self.response_region, self.tenant.tenant_name,
             self.serviceAlias, body_relation)
         if res.status == 200:
             plugin_svc.update_service_plugin_relation(
                 self.service.service_id, plugin_id, build_version, switch)
             result["success"] = True
             result["code"] = 200
             result['msg'] = u"操作成功"
             result = oldResultSuitGeneralMessage(result, "success", "")
             return JsonResponse(result, status=200)
         else:
             result["success"] = False
             result["code"] = res.status
             result['msg'] = resultBody
             result = oldResultSuitGeneralMessage(
                 result, "update plugin status error", "")
             return JsonResponse(result, status=200)
     except Exception, e:
         logger.error("plugin.relation", e)
         result["success"] = False
         result["code"] = 500
         result["msg"] = u"操作失败"
         result = oldResultSuitGeneralMessage(result,
                                              "update plugin status error",
                                              "")
         return JsonResponse(result, status=200)
Exemplo n.º 3
0
 def put(self, request, plugin_id, *args, **kwargs):
     """
     启停用组件插件
     ---
     parameters:
         - name: tenantName
           description: 租户名
           required: true
           type: string
           paramType: path
         - name: serviceAlias
           description: 组件别名
           required: true
           type: string
           paramType: path
         - name: plugin_id
           description: 插件ID
           required: true
           type: string
           paramType: path
         - name: is_switch
           description: 插件启停状态
           required: true
           type: boolean
           paramType: form
     """
     try:
         if not plugin_id:
             return Response(general_message(400, "params error", "参数异常"), status=400)
         switch = request.data.get("is_switch", True)
         switch = plugin_svc.chargeSwtich(switch)
         relations = plugin_svc.get_tenant_service_plugin_relation_by_plugin(self.service.service_id, plugin_id)
         if relations > 0:
             build_version = relations[0].build_version
         else:
             return Response(general_message(404, "params error", "未找到关联插件的构建版本"), status=400)
         body_relation = {}
         body_relation["plugin_id"] = plugin_id
         body_relation["switch"] = switch
         body_relation["version_id"] = build_version
         logger.debug("plugin.relation", "is_switch body is {}".format(body_relation))
         res, resultBody = region_api.updatePluginServiceRelation(self.service.service_region, self.tenant.tenant_name,
                                                                  self.service.service_alias, body_relation)
         if res.status == 200:
             plugin_svc.update_service_plugin_relation(self.service.service_id, plugin_id, build_version, switch)
             return Response(general_message(200, "success", "操作成功"), status=200)
         else:
             result = general_message(500, "update plugin status error", "系统异常")
             return Response(result, result["code"])
     except Exception, e:
         logger.exception(e)
         result = error_message(e.message)
         return Response(result, status=result["code"])
Exemplo n.º 4
0
 def get(self, request, plugin_id, *args, **kwargs):
     """
     应用插件查看配置
     ---
     parameters:
         - name: tenantName
           description: 租户名
           required: true
           type: string
           paramType: path
         - name: serviceAlias
           description: 服务别名
           required: true
           type: string
           paramType: path
         - name: plugin_id
           description: 插件ID
           required: true
           type: string
           paramType: path
         - name: build_version
           description: 插件版本
           required: true
           type: string
           paramType: path
     """
     build_version = request.GET.get("build_version", None)
     if not plugin_id or not build_version:
         logger.error("plugin.relation", u'参数错误,plugin_id and version_id')
         return Response(general_message(400, "params error", "参数错误"), status=400)
     result = {}
     try:
         result["config_group"] = self.useDefaultAttr(plugin_id, build_version, "get")
         build_relations = plugin_svc.get_tenant_service_plugin_relation_by_plugin(self.service.service_id,
                                                                                   plugin_id)
         version_info = plugin_svc.getPluginMetaType(plugin_id, build_version)
         bl = {}
         bl["create_time"] = build_relations[0].create_time
         bl["build_info"] = version_info.update_info
         bl["memory"] = version_info.min_memory
         result["build_version"] = bl
         result["success"] = True
         result["code"] = 200
         result["msg"] = u"操作成功"
         result = general_message(200, "success", u"操作成功", result["build_version"], result["config_group"])
         return Response(result, status=200)
     except HasNoDownStreamService as e:
         logger.error("service has no dependence services operation suspend")
         return Response(general_message(409, "service has no dependence", "应用没有依赖其他应用,配置无效"),status=409)
     except Exception as e:
         logger.exception(e)
         result = error_message(e.message)
         return Response(result, result["code"])