def get(self, request, *args, **kwargs): if self.service.service_source != "market": return Response(general_message( 400, "non-cloud installed applications require no judgment", "非云市安装的应用无需判断"), status=400) # 判断服务状态,未部署的服务不提供升级数据 try: body = region_api.check_service_status(self.service.service_region, self.tenant.tenant_name, self.service.service_alias, self.tenant.enterprise_id) status = body["bean"]["cur_status"] except Exception as e: logger.exception(e) status = "unknown" if status == "undeploy" or status == "unknown": result = general_message(200, "success", "查询成功", list=[]) return Response(result, status=result["code"]) # List the versions that can be upgraded versions = market_app_service.list_upgradeable_versions( self.tenant, self.service) if versions is None: versions = [] return Response(status=200, data=general_message(200, "success", "查询成功", list=versions))
def get_app_upgrade_versions(self, tenant, group_id, group_key): """获取云市组件可升级版本列表""" from console.services.group_service import group_service from console.services.market_app_service import market_app_service # 查询某一个云市组件下的所有组件 services = group_service.get_rainbond_services(group_id, group_key) versions = set() # 查询可升级的组件 for service in services: service_version = market_app_service.list_upgradeable_versions( tenant, service) versions |= set(service_version or []) # 查询新增组件的版本 service_keys = services.values_list('service_key', flat=True) service_keys = set(service_keys) if service_keys else set() app_qs = rainbond_app_repo.get_rainbond_app_qs_by_key( tenant.enterprise_id, group_key=group_key) add_versions = self.query_the_version_of_the_add_service( app_qs, service_keys) versions |= add_versions return versions
def get(self, request, *args, **kwargs): if self.service.service_source != "market": return Response(general_message( 400, "non-cloud installed applications require no judgment", "非云市安装的组件无需判断"), status=400) # 判断组件状态,未部署的组件不提供升级数据 body = region_api.check_service_status(self.service.service_region, self.tenant.tenant_name, self.service.service_alias, self.tenant.enterprise_id) status = body["bean"]["cur_status"] if status == "undeploy" or status == "unknown": result = general_message(200, "success", "查询成功", list=[]) return Response(result, status=result["code"]) # List the versions that can be upgraded versions = [] try: versions = market_app_service.list_upgradeable_versions( self.tenant, self.service) except RbdAppNotFound: return Response(status=404, data=general_message(404, "service lost", "未找到该组件")) return Response(status=200, data=general_message(200, "success", "查询成功", list=versions))
def get(self, request, *args, **kwargs): versions = [] try: versions = market_app_service.list_upgradeable_versions( self.tenant, self.service) except RbdAppNotFound: return Response(status=404, data=general_message(404, "service lost", "未找到该组件")) except Exception as e: logger.debug(e) return Response(status=200, data=general_message(200, "success", "查询成功", list=versions)) return Response(status=200, data=general_message(200, "success", "查询成功", list=versions))