diff --git a/desc/pcm.api b/desc/pcm.api index 3d1e4754..5ec8e71a 100644 --- a/desc/pcm.api +++ b/desc/pcm.api @@ -135,6 +135,10 @@ service pcm { @handler pageListTaskHandler get /core/task/list (pageTaskReq) returns (PageResult) + @doc "paging queries the task list" + @handler ScreenPageTaskHandler + get /core/task/screen (pageTaskReq) returns (PageResult) + @doc "Statistical task status" @handler countTaskStatus get /core/task/countTaskStatus returns (TaskStatusResp) diff --git a/internal/handler/core/screenpagetaskhandler.go b/internal/handler/core/screenpagetaskhandler.go new file mode 100644 index 00000000..f660d189 --- /dev/null +++ b/internal/handler/core/screenpagetaskhandler.go @@ -0,0 +1,34 @@ +package core + +import ( + "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/repository/result" + "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/utils" + "net/http" + + "github.com/zeromicro/go-zero/rest/httpx" + "gitlink.org.cn/JointCloud/pcm-coordinator/internal/logic/core" + "gitlink.org.cn/JointCloud/pcm-coordinator/internal/svc" + "gitlink.org.cn/JointCloud/pcm-coordinator/internal/types" +) + +func ScreenPageTaskHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + var req types.PageTaskReq + if err := httpx.Parse(r, &req); err != nil { + result.ParamErrorResult(r, w, err) + return + } + token := r.Header.Get("Authorization") + // 获取用户信息 + jccUserInfo, err := utils.ParseTokenWithoutVerify(token) + if err != nil { + result.ParamErrorResult(r, w, err) + return + } + req.UserId = jccUserInfo.Id + req.UserName = jccUserInfo.UserName + l := core.NewScreenPageTaskLogic(r.Context(), svcCtx) + resp, err := l.ScreenPageTask(&req) + result.HttpResult(r, w, resp, err) + } +} diff --git a/internal/handler/routes.go b/internal/handler/routes.go index 81f192b6..66465b83 100644 --- a/internal/handler/routes.go +++ b/internal/handler/routes.go @@ -24,286 +24,251 @@ import ( func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { server.AddRoutes( []rest.Route{ + { + Method: http.MethodGet, + Path: "/core/participantList", + Handler: core.ParticipantListHandler(serverCtx), + }, { Method: http.MethodPost, - Path: "/adapter/cluster/create", - Handler: adapters.CreateClusterHandler(serverCtx), + Path: "/core/scheduleTaskByYaml", + Handler: core.ScheduleTaskByYamlHandler(serverCtx), }, { - Method: http.MethodDelete, - Path: "/adapter/cluster/delete", - Handler: adapters.DeleteClusterHandler(serverCtx), + Method: http.MethodPost, + Path: "/core/commitTask", + Handler: core.CommitTaskHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/adapter/cluster/get", - Handler: adapters.GetClusterHandler(serverCtx), + Method: http.MethodPost, + Path: "/core/commitVmTask", + Handler: core.CommitVmTaskHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/adapter/cluster/list", - Handler: adapters.ClusterListHandler(serverCtx), + Method: http.MethodPost, + Path: "/core/asynCommitAiTask", + Handler: core.AsynCommitAiTaskHandler(serverCtx), }, { - Method: http.MethodPut, - Path: "/adapter/cluster/update", - Handler: adapters.UpdateClusterHandler(serverCtx), + Method: http.MethodDelete, + Path: "/core/deleteTask/:id", + Handler: core.DeleteTaskHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/adapter/clusterSum", - Handler: adapters.GetClusterSumHandler(serverCtx), + Path: "/core/taskList", + Handler: core.TaskListHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/adapter/create", - Handler: adapters.CreateAdapterHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/jobTotal", + Handler: core.JobTotalHandler(serverCtx), }, { - Method: http.MethodDelete, - Path: "/adapter/delete", - Handler: adapters.DeleteAdapterHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/listCenter", + Handler: core.ListCenterHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/adapter/get", - Handler: adapters.GetAdapterHandler(serverCtx), + Path: "/core/listCluster/:centerId", + Handler: core.ListClusterHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/adapter/getAdapterInfo", - Handler: adapters.GetAdapterInfoHandler(serverCtx), + Path: "/core/getRegion", + Handler: core.GetRegionHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/adapter/list", - Handler: adapters.AdaptersListHandler(serverCtx), + Path: "/core/listRegion", + Handler: core.ListRegionHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/adapter/relation", - Handler: adapters.GetAdapterRelationHandler(serverCtx), + Path: "/core/getComputingPower", + Handler: core.GetComputingPowerHandler(serverCtx), }, { - Method: http.MethodPut, - Path: "/adapter/update", - Handler: adapters.UpdateAdapterHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/getGeneralInfo", + Handler: core.GetGeneralInfoHandler(serverCtx), }, - }, - rest.WithPrefix("/pcm/v1"), - ) - - server.AddRoutes( - []rest.Route{ { - // 创建算法 - Method: http.MethodPost, - Path: "/ai/CreateAlgorithm/:projectId", - Handler: ai.CreateAlgorithmHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/getResourcePanelConfigHandler", + Handler: core.GetResourcePanelConfigHandler(serverCtx), }, { - // 创建导出任务 - Method: http.MethodPost, - Path: "/ai/CreateExportTask/:projectId/:datasetId", - Handler: ai.CreateExportTaskHandler(serverCtx), + Method: http.MethodPut, + Path: "/core/resourcePanelConfigHandler", + Handler: core.PutResourcePanelConfigHandler(serverCtx), }, { - // 创建处理任务 - Method: http.MethodPost, - Path: "/ai/CreateProcessorTask", - Handler: ai.CreateProcessorTaskHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/getComputilityStatistics", + Handler: core.GetComputilityStatisticsHandler(serverCtx), }, { - // 创建服务 - Method: http.MethodPost, - Path: "/ai/CreateService/:projectId", - Handler: ai.CreateServiceHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/assets", + Handler: core.NodeAssetsHandler(serverCtx), }, { - // 创建导入任务 - Method: http.MethodPost, - Path: "/ai/CreateTask/:projectId/:datasetId", - Handler: ai.CreateTaskHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/centerResources", + Handler: core.CenterResourcesHandler(serverCtx), }, { - // 创建训练作业 Method: http.MethodPost, - Path: "/ai/CreateTrainingJob/:projectId", - Handler: ai.CreateTrainingJobHandler(serverCtx), + Path: "/core/syncClusterLoad", + Handler: core.SyncClusterLoadHandler(serverCtx), }, { - // 创建虚拟化任务 - Method: http.MethodPost, - Path: "/ai/CreateVisualizationJob", - Handler: ai.CreateVisualizationJobHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/metrics", + Handler: core.MetricsHandler(serverCtx), }, { - // 删除算法 - Method: http.MethodDelete, - Path: "/ai/DeleteAlgorithm/:projectId/:algorithmId", - Handler: ai.DeleteAlgorithmHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/pullTaskInfo", + Handler: core.PullTaskInfoHandler(serverCtx), }, { - // 删除服务 - Method: http.MethodDelete, - Path: "/ai/DeleteService/:projectId/:serviceId", - Handler: ai.DeleteServiceHandler(serverCtx), + Method: http.MethodPost, + Path: "/core/pushTaskInfo", + Handler: core.PushTaskInfoHandler(serverCtx), }, { - // 删除训练作业 - Method: http.MethodDelete, - Path: "/ai/DeleteTrainingJob/:projectId/:trainingJobId", - Handler: ai.DeleteTrainingJobHandler(serverCtx), + Method: http.MethodPost, + Path: "/core/pushResourceInfo", + Handler: core.PushResourceInfoHandler(serverCtx), }, { - // 获取导出任务数据集状态 - Method: http.MethodGet, - Path: "/ai/GetExportTaskStatusOfDataset/:projectId/:resourceId/:taskId", - Handler: ai.GetExportTaskStatusOfDatasetHandler(serverCtx), + Method: http.MethodPost, + Path: "/core/pushNotice", + Handler: core.PushNoticeHandler(serverCtx), }, { - // 获取导出任务数据集 Method: http.MethodGet, - Path: "/ai/GetExportTasksOfDataset/:projectId/:datasetId", - Handler: ai.GetExportTasksOfDatasetHandler(serverCtx), + Path: "/core/listNotice", + Handler: core.ListNoticeHandler(serverCtx), }, { - // 查询训练作业列表 Method: http.MethodGet, - Path: "/ai/GetListTrainingJobs/:projectId", - Handler: ai.GetListTrainingJobsHandler(serverCtx), + Path: "/core/task/list", + Handler: core.PageListTaskHandler(serverCtx), }, { - // 查询创建算法列表 Method: http.MethodGet, - Path: "/ai/ListAlgorithms/:projectId", - Handler: ai.ListAlgorithmsHandler(serverCtx), + Path: "/core/task/screen", + Handler: core.ScreenPageTaskHandler(serverCtx), }, { - // 查询专属资源池列表 Method: http.MethodGet, - Path: "/ai/ListClusters", - Handler: ai.ListClustersHandler(serverCtx), + Path: "/core/task/countTaskStatus", + Handler: core.CountTaskStatusHandler(serverCtx), }, { - // 查询数据集导入任务列表 Method: http.MethodGet, - Path: "/ai/ListImport/:projectId/:datasetId", - Handler: ai.ListImportHandler(serverCtx), + Path: "/core/homeOverview", + Handler: core.HomeOverviewHandler(serverCtx), }, { - // 展示服务 Method: http.MethodGet, - Path: "/ai/ListServices/:projectId", - Handler: ai.ListServicesHandler(serverCtx), + Path: "/core/task/details", + Handler: core.TaskDetailsHandler(serverCtx), }, { - // 展示算法详情 Method: http.MethodGet, - Path: "/ai/ShowAlgorithmByUuid/:projectId/:algorithmId", - Handler: ai.ShowAlgorithmByUuidHandler(serverCtx), + Path: "/core/getPublicImage", + Handler: core.GetPublicImageHandler(serverCtx), }, { - // 展示服务详情 Method: http.MethodGet, - Path: "/ai/ShowService/:projectId/:serviceId", - Handler: ai.ShowServiceHandler(serverCtx), - }, - { - // 文本识别 - Method: http.MethodPost, - Path: "/ai/chat", - Handler: ai.ChatHandler(serverCtx), + Path: "/core/getPublicFlavor", + Handler: core.GetPublicFlavorHandler(serverCtx), }, { - // 创建数据集 - Method: http.MethodPost, - Path: "/ai/createDataSet/:projectId", - Handler: ai.CreateDataSetHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/getPublicNetwork", + Handler: core.GetPublicNetworkHandler(serverCtx), }, { - // 创建notebook - Method: http.MethodPost, - Path: "/ai/createNotebook", - Handler: ai.CreateNotebookHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/getDomainResource", + Handler: core.GetDomainResourceHandler(serverCtx), }, { - // 删除数据集 - Method: http.MethodDelete, - Path: "/ai/deleteDataSet/:projectId/:datasetId", - Handler: ai.DeleteDataSetHandler(serverCtx), + Method: http.MethodGet, + Path: "/core/getScreenInfo", + Handler: core.GetScreenInfoHandler(serverCtx), }, { - // 智算中心列表 Method: http.MethodGet, - Path: "/ai/getCenterList", - Handler: ai.GetCenterListHandler(serverCtx), + Path: "/core/getScreenChart", + Handler: core.GetScreenChartHandler(serverCtx), }, { - // 智算中心概览 Method: http.MethodGet, - Path: "/ai/getCenterOverview", - Handler: ai.GetCenterOverviewHandler(serverCtx), + Path: "/core/getClusterById", + Handler: core.GetClusterByIdHandler(serverCtx), }, + }, + rest.WithPrefix("/pcm/v1"), + ) + + server.AddRoutes( + []rest.Route{ { - // 智算中心排队状况 - Method: http.MethodGet, - Path: "/ai/getCenterQueueing", - Handler: ai.GetCenterQueueingHandler(serverCtx), + Method: http.MethodPost, + Path: "/hpc/commitHpcTask", + Handler: hpc.CommitHpcTaskHandler(serverCtx), }, { - // 智算中心任务列表 Method: http.MethodGet, - Path: "/ai/getCenterTaskList", - Handler: ai.GetCenterTaskListHandler(serverCtx), + Path: "/hpc/overview", + Handler: hpc.OverViewHandler(serverCtx), }, { - // 查询notebook存储 Method: http.MethodGet, - Path: "/ai/getNotebookStorage", - Handler: ai.GetNotebookStorageHandler(serverCtx), + Path: "/hpc/adapterSummary", + Handler: hpc.AdapterSummaryHandler(serverCtx), }, { - // 获取虚拟化任务 Method: http.MethodGet, - Path: "/ai/getVisualizationJob", - Handler: ai.GetVisualizationJobHandler(serverCtx), + Path: "/hpc/job", + Handler: hpc.JobHandler(serverCtx), }, { - // 查询数据集列表 Method: http.MethodGet, - Path: "/ai/listDataSet/:projectId", - Handler: ai.ListDataSetHandler(serverCtx), + Path: "/hpc/resource", + Handler: hpc.ResourceHandler(serverCtx), }, { - // 查询notebook列表 Method: http.MethodGet, - Path: "/ai/listNotebook", - Handler: ai.ListNotebookHandler(serverCtx), + Path: "/hpc/queueAssets", + Handler: hpc.QueueAssetsHandler(serverCtx), }, { - // 挂载notebook存储 - Method: http.MethodPost, - Path: "/ai/mountNotebookStorage", - Handler: ai.MountNotebookStorageHandler(serverCtx), + Method: http.MethodDelete, + Path: "/hpc/cancelJob", + Handler: hpc.CancelJobHandler(serverCtx), }, { - // 启动notebook - Method: http.MethodPost, - Path: "/ai/startNotebook", - Handler: ai.StartNotebookHandler(serverCtx), + Method: http.MethodGet, + Path: "/hpc/jobInfo", + Handler: hpc.JobInfoHandler(serverCtx), }, { - // 停止notebook - Method: http.MethodPost, - Path: "/ai/stopNotebook", - Handler: ai.StopNotebookHandler(serverCtx), + Method: http.MethodGet, + Path: "/hpc/ListInstanceCenter", + Handler: hpc.ListInstanceCenterHandler(serverCtx), }, { - // 训练任务统计 Method: http.MethodGet, - Path: "/ai/trainingTaskStat", - Handler: ai.TrainingTaskStatHandler(serverCtx), + Path: "/hpc/jobLogs/:taskId", + Handler: hpc.GetHpcTaskLogHandler(serverCtx), }, }, rest.WithPrefix("/pcm/v1"), @@ -312,51 +277,44 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { server.AddRoutes( []rest.Route{ { - // yaml删除 + Method: http.MethodGet, + Path: "/task/list", + Handler: cloud.CloudListHandler(serverCtx), + }, + { Method: http.MethodGet, Path: "/cloud/DeleteYaml", Handler: cloud.DeleteYamlHandler(serverCtx), }, { - // 控制器监控 Method: http.MethodGet, Path: "/cloud/controller/Metrics", Handler: cloud.ControllerMetricsHandler(serverCtx), }, { - // 数算集群删除 - Method: http.MethodPost, - Path: "/cloud/deleteCluster", - Handler: cloud.DeleteClusterHandler(serverCtx), - }, - { - Method: http.MethodPost, - Path: "/cloud/pod/logs", - Handler: cloud.PodLogsHandler(serverCtx), - }, - { - // 数算集群注册 Method: http.MethodPost, Path: "/cloud/registerCluster", Handler: cloud.RegisterClusterHandler(serverCtx), }, { - // Create cloud computing common tasks Method: http.MethodPost, - Path: "/cloud/task/create", - Handler: cloud.CommitGeneralTaskHandler(serverCtx), + Path: "/cloud/deleteCluster", + Handler: cloud.DeleteClusterHandler(serverCtx), }, { - // Obtain cluster list information according to adapterId Method: http.MethodGet, Path: "/core/clusterList", Handler: cloud.GetClusterListHandler(serverCtx), }, { - // 云算任务列表 - Method: http.MethodGet, - Path: "/task/list", - Handler: cloud.CloudListHandler(serverCtx), + Method: http.MethodPost, + Path: "/cloud/task/create", + Handler: cloud.CommitGeneralTaskHandler(serverCtx), + }, + { + Method: http.MethodPost, + Path: "/cloud/pod/logs", + Handler: cloud.PodLogsHandler(serverCtx), }, }, rest.WithPrefix("/pcm/v1"), @@ -365,226 +323,195 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { server.AddRoutes( []rest.Route{ { - // 获取节点资产 Method: http.MethodGet, - Path: "/core/assets", - Handler: core.NodeAssetsHandler(serverCtx), + Path: "/ai/trainingTaskStat", + Handler: ai.TrainingTaskStatHandler(serverCtx), }, { - // 异步提交智算任务 - Method: http.MethodPost, - Path: "/core/asynCommitAiTask", - Handler: core.AsynCommitAiTaskHandler(serverCtx), + Method: http.MethodGet, + Path: "/ai/getCenterOverview", + Handler: ai.GetCenterOverviewHandler(serverCtx), }, { - // Center Resources top3 Method: http.MethodGet, - Path: "/core/centerResources", - Handler: core.CenterResourcesHandler(serverCtx), + Path: "/ai/getCenterQueueing", + Handler: ai.GetCenterQueueingHandler(serverCtx), }, { - // 提交任务 - Method: http.MethodPost, - Path: "/core/commitTask", - Handler: core.CommitTaskHandler(serverCtx), + Method: http.MethodGet, + Path: "/ai/getCenterList", + Handler: ai.GetCenterListHandler(serverCtx), }, { - // 提交虚拟机任务 - Method: http.MethodPost, - Path: "/core/commitVmTask", - Handler: core.CommitVmTaskHandler(serverCtx), + Method: http.MethodGet, + Path: "/ai/getCenterTaskList", + Handler: ai.GetCenterTaskListHandler(serverCtx), }, { - // 删除任务 - Method: http.MethodDelete, - Path: "/core/deleteTask/:id", - Handler: core.DeleteTaskHandler(serverCtx), + Method: http.MethodGet, + Path: "/ai/listDataSet/:projectId", + Handler: ai.ListDataSetHandler(serverCtx), }, { - // 根据集群id获取集群信息 - Method: http.MethodGet, - Path: "/core/getClusterById", - Handler: core.GetClusterByIdHandler(serverCtx), + Method: http.MethodPost, + Path: "/ai/createDataSet/:projectId", + Handler: ai.CreateDataSetHandler(serverCtx), }, { - // 获取算力统计信息 - Method: http.MethodGet, - Path: "/core/getComputilityStatistics", - Handler: core.GetComputilityStatisticsHandler(serverCtx), + Method: http.MethodDelete, + Path: "/ai/deleteDataSet/:projectId/:datasetId", + Handler: ai.DeleteDataSetHandler(serverCtx), }, { - // 查询算力 - Method: http.MethodGet, - Path: "/core/getComputingPower", - Handler: core.GetComputingPowerHandler(serverCtx), + Method: http.MethodPost, + Path: "/ai/CreateTask/:projectId/:datasetId", + Handler: ai.CreateTaskHandler(serverCtx), }, { - // screen Method: http.MethodGet, - Path: "/core/getDomainResource", - Handler: core.GetDomainResourceHandler(serverCtx), + Path: "/ai/ListImport/:projectId/:datasetId", + Handler: ai.ListImportHandler(serverCtx), }, { - // 查询通用信息 Method: http.MethodGet, - Path: "/core/getGeneralInfo", - Handler: core.GetGeneralInfoHandler(serverCtx), + Path: "/ai/GetListTrainingJobs/:projectId", + Handler: ai.GetListTrainingJobsHandler(serverCtx), }, { - // Get Public Flavor - Method: http.MethodGet, - Path: "/core/getPublicFlavor", - Handler: core.GetPublicFlavorHandler(serverCtx), + Method: http.MethodDelete, + Path: "/ai/DeleteTrainingJob/:projectId/:trainingJobId", + Handler: ai.DeleteTrainingJobHandler(serverCtx), }, { - // Get Public Image - Method: http.MethodGet, - Path: "/core/getPublicImage", - Handler: core.GetPublicImageHandler(serverCtx), + Method: http.MethodPost, + Path: "/ai/CreateAlgorithm/:projectId", + Handler: ai.CreateAlgorithmHandler(serverCtx), }, { - // Get Public Network Method: http.MethodGet, - Path: "/core/getPublicNetwork", - Handler: core.GetPublicNetworkHandler(serverCtx), + Path: "/ai/ListAlgorithms/:projectId", + Handler: ai.ListAlgorithmsHandler(serverCtx), }, { - // 获取region - Method: http.MethodGet, - Path: "/core/getRegion", - Handler: core.GetRegionHandler(serverCtx), + Method: http.MethodDelete, + Path: "/ai/DeleteAlgorithm/:projectId/:algorithmId", + Handler: ai.DeleteAlgorithmHandler(serverCtx), }, { - // 查询控制面板配置信息 - Method: http.MethodGet, - Path: "/core/getResourcePanelConfigHandler", - Handler: core.GetResourcePanelConfigHandler(serverCtx), + Method: http.MethodPost, + Path: "/ai/CreateTrainingJob/:projectId", + Handler: ai.CreateTrainingJobHandler(serverCtx), }, { - // screen Method: http.MethodGet, - Path: "/core/getScreenChart", - Handler: core.GetScreenChartHandler(serverCtx), + Path: "/ai/ShowAlgorithmByUuid/:projectId/:algorithmId", + Handler: ai.ShowAlgorithmByUuidHandler(serverCtx), }, { - // screen - Method: http.MethodGet, - Path: "/core/getScreenInfo", - Handler: core.GetScreenInfoHandler(serverCtx), + Method: http.MethodPost, + Path: "/ai/CreateExportTask/:projectId/:datasetId", + Handler: ai.CreateExportTaskHandler(serverCtx), }, { - // Home Page Overview Method: http.MethodGet, - Path: "/core/homeOverview", - Handler: core.HomeOverviewHandler(serverCtx), + Path: "/ai/GetExportTasksOfDataset/:projectId/:datasetId", + Handler: ai.GetExportTasksOfDatasetHandler(serverCtx), }, { - // 任务概览 Method: http.MethodGet, - Path: "/core/jobTotal", - Handler: core.JobTotalHandler(serverCtx), + Path: "/ai/GetExportTaskStatusOfDataset/:projectId/:resourceId/:taskId", + Handler: ai.GetExportTaskStatusOfDatasetHandler(serverCtx), }, { - // 数据中心概览 - Method: http.MethodGet, - Path: "/core/listCenter", - Handler: core.ListCenterHandler(serverCtx), + Method: http.MethodPost, + Path: "/ai/CreateProcessorTask", + Handler: ai.CreateProcessorTaskHandler(serverCtx), }, { - // 查询集群列表 - Method: http.MethodGet, - Path: "/core/listCluster/:centerId", - Handler: core.ListClusterHandler(serverCtx), + Method: http.MethodPost, + Path: "/ai/CreateService/:projectId", + Handler: ai.CreateServiceHandler(serverCtx), }, { - // list notice Method: http.MethodGet, - Path: "/core/listNotice", - Handler: core.ListNoticeHandler(serverCtx), + Path: "/ai/ListServices/:projectId", + Handler: ai.ListServicesHandler(serverCtx), }, { - // 获取region列表 Method: http.MethodGet, - Path: "/core/listRegion", - Handler: core.ListRegionHandler(serverCtx), + Path: "/ai/ShowService/:projectId/:serviceId", + Handler: ai.ShowServiceHandler(serverCtx), }, { - // metrics - Method: http.MethodGet, - Path: "/core/metrics", - Handler: core.MetricsHandler(serverCtx), + Method: http.MethodDelete, + Path: "/ai/DeleteService/:projectId/:serviceId", + Handler: ai.DeleteServiceHandler(serverCtx), }, { - // 查询P端服务列表 Method: http.MethodGet, - Path: "/core/participantList", - Handler: core.ParticipantListHandler(serverCtx), + Path: "/ai/ListClusters", + Handler: ai.ListClustersHandler(serverCtx), }, { - // provide for adapter to pull task info from core Method: http.MethodGet, - Path: "/core/pullTaskInfo", - Handler: core.PullTaskInfoHandler(serverCtx), + Path: "/ai/listNotebook", + Handler: ai.ListNotebookHandler(serverCtx), }, { - // provide for adapter to push notice info to core Method: http.MethodPost, - Path: "/core/pushNotice", - Handler: core.PushNoticeHandler(serverCtx), + Path: "/ai/createNotebook", + Handler: ai.CreateNotebookHandler(serverCtx), }, { - // provide for adapter to push resource info to core Method: http.MethodPost, - Path: "/core/pushResourceInfo", - Handler: core.PushResourceInfoHandler(serverCtx), + Path: "/ai/startNotebook", + Handler: ai.StartNotebookHandler(serverCtx), }, { - // provide for adapter to push task info to core Method: http.MethodPost, - Path: "/core/pushTaskInfo", - Handler: core.PushTaskInfoHandler(serverCtx), + Path: "/ai/stopNotebook", + Handler: ai.StopNotebookHandler(serverCtx), }, { - // 设置控制面板配置信息 - Method: http.MethodPut, - Path: "/core/resourcePanelConfigHandler", - Handler: core.PutResourcePanelConfigHandler(serverCtx), + Method: http.MethodGet, + Path: "/ai/getNotebookStorage", + Handler: ai.GetNotebookStorageHandler(serverCtx), }, { - // yaml提交任务 Method: http.MethodPost, - Path: "/core/scheduleTaskByYaml", - Handler: core.ScheduleTaskByYamlHandler(serverCtx), + Path: "/ai/mountNotebookStorage", + Handler: ai.MountNotebookStorageHandler(serverCtx), }, { - // Synchronize Cluster Load Information - Method: http.MethodPost, - Path: "/core/syncClusterLoad", - Handler: core.SyncClusterLoadHandler(serverCtx), + Method: http.MethodGet, + Path: "/ai/getVisualizationJob", + Handler: ai.GetVisualizationJobHandler(serverCtx), }, { - // Statistical task status - Method: http.MethodGet, - Path: "/core/task/countTaskStatus", - Handler: core.CountTaskStatusHandler(serverCtx), + Method: http.MethodPost, + Path: "/ai/CreateVisualizationJob", + Handler: ai.CreateVisualizationJobHandler(serverCtx), }, { - // task details - Method: http.MethodGet, - Path: "/core/task/details", - Handler: core.TaskDetailsHandler(serverCtx), + Method: http.MethodPost, + Path: "/ai/chat", + Handler: ai.ChatHandler(serverCtx), }, + }, + rest.WithPrefix("/pcm/v1"), + ) + + server.AddRoutes( + []rest.Route{ { - // paging queries the task list Method: http.MethodGet, - Path: "/core/task/list", - Handler: core.PageListTaskHandler(serverCtx), + Path: "/storage/dailyPowerScreen", + Handler: storage.DailyPowerScreenHandler(serverCtx), }, { - // 查询任务列表 Method: http.MethodGet, - Path: "/core/taskList", - Handler: core.TaskListHandler(serverCtx), + Path: "/storage/perCenterComputerPowers", + Handler: storage.PerCenterComputerPowersHandler(serverCtx), }, }, rest.WithPrefix("/pcm/v1"), @@ -593,1031 +520,915 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { server.AddRoutes( []rest.Route{ { - Method: http.MethodPost, - Path: "/dict", - Handler: dictionary.AddDictHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/getComputeLimits", + Handler: vm.GetComputeLimitsHandler(serverCtx), }, { - Method: http.MethodPut, - Path: "/dict", - Handler: dictionary.EditDictHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/getVolumeLimits", + Handler: vm.GetVolumeLimitsHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/dict/:id", - Handler: dictionary.GetDictHandler(serverCtx), + Path: "/vm/getNetworkNum", + Handler: vm.GetNetworkNumHandler(serverCtx), }, { - Method: http.MethodDelete, - Path: "/dict/:id", - Handler: dictionary.DeleteDictHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/getImageNum", + Handler: vm.GetImageNumHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/dictItem", - Handler: dictionary.AddDictItemHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/getOpenstackOverview", + Handler: vm.GetOpenstackOverviewHandler(serverCtx), }, { - Method: http.MethodPut, - Path: "/dictItem", - Handler: dictionary.EditDictItemHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/listServer", + Handler: vm.ListServerHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/dictItem/:id", - Handler: dictionary.GetDictItemHandler(serverCtx), + Path: "/vm/listServersDetailed", + Handler: vm.ListServersDetailedHandler(serverCtx), }, { Method: http.MethodDelete, - Path: "/dictItem/:id", - Handler: dictionary.DeleteDictItemHandler(serverCtx), + Path: "/vm/deleteServer", + Handler: vm.DeleteServerHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/dictItem/code/:dictCode", - Handler: dictionary.ListDictItemByCodeHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/createServer", + Handler: vm.CreateServerHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/dictItems", - Handler: dictionary.ListDictItemHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/createMulServer", + Handler: vm.CreateMulServerHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/dicts", - Handler: dictionary.ListDictHandler(serverCtx), + Path: "/vm/getServersDetailedById", + Handler: vm.GetServersDetailedByIdHandler(serverCtx), }, - }, - rest.WithPrefix("/pcm/v1"), - ) - - server.AddRoutes( - []rest.Route{ { - // 查询超算应用中心列表 - Method: http.MethodGet, - Path: "/hpc/ListInstanceCenter", - Handler: hpc.ListInstanceCenterHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/updateServer", + Handler: vm.UpdateServerHandler(serverCtx), }, { - // 超算适配器列表 - Method: http.MethodGet, - Path: "/hpc/adapterSummary", - Handler: hpc.AdapterSummaryHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/startServer", + Handler: vm.StartServerHandler(serverCtx), }, { - // 删除超算任务 - Method: http.MethodDelete, - Path: "/hpc/cancelJob", - Handler: hpc.CancelJobHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/stopServer", + Handler: vm.StopServerHandler(serverCtx), }, { - // 提交超算任务 Method: http.MethodPost, - Path: "/hpc/commitHpcTask", - Handler: hpc.CommitHpcTaskHandler(serverCtx), + Path: "/vm/rebootServer", + Handler: vm.RebootServerHandler(serverCtx), }, { - // 超算查询任务列表 - Method: http.MethodGet, - Path: "/hpc/job", - Handler: hpc.JobHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/pauseServer", + Handler: vm.PauseServerHandler(serverCtx), }, { - // 查看job状态 - Method: http.MethodGet, - Path: "/hpc/jobInfo", - Handler: hpc.JobInfoHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/unpauseServer", + Handler: vm.UnpauseServerHandler(serverCtx), }, { - // 超算任务日志 - Method: http.MethodGet, - Path: "/hpc/jobLogs/:taskId", - Handler: hpc.GetHpcTaskLogHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/resizeServer", + Handler: vm.ResizeServerHandler(serverCtx), }, { - // 超算总览 - Method: http.MethodGet, - Path: "/hpc/overview", - Handler: hpc.OverViewHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/migrateServer", + Handler: vm.MigrateServerHandler(serverCtx), }, { - // 超算查询资产列表 - Method: http.MethodGet, - Path: "/hpc/queueAssets", - Handler: hpc.QueueAssetsHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/shelveServer", + Handler: vm.ShelveServerHandler(serverCtx), }, { - // 超算资源总览 - Method: http.MethodGet, - Path: "/hpc/resource", - Handler: hpc.ResourceHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/changeAdministrativePassword", + Handler: vm.ChangeAdministrativePasswordHandler(serverCtx), }, - }, - rest.WithPrefix("/pcm/v1"), - ) - - server.AddRoutes( - []rest.Route{ { Method: http.MethodPost, - Path: "/inference/createDeployTask", - Handler: inference.CreateDeployTaskHandler(serverCtx), + Path: "/vm/rescueServer", + Handler: vm.RescueServerHandler(serverCtx), }, { Method: http.MethodPost, - Path: "/inference/createTask", - Handler: inference.CreateInferenceTaskHandler(serverCtx), + Path: "/vm/unRescueServer", + Handler: vm.UnRescueHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/inference/deployInstanceList", - Handler: inference.DeployInstanceListHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/suspendServer", + Handler: vm.SuspendServerHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/inference/deployInstanceStat", - Handler: inference.DeployInstanceStatHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/addSecurityGroupToServer", + Handler: vm.AddSecurityGroupToServerHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/inference/getAdaptersByModel", - Handler: inference.GetAdaptersByModelHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/removeSecurityGroup", + Handler: vm.RemoveSecurityGroupHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/inference/getDeployInstance", - Handler: inference.GetDeployInstanceHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/createFlavor", + Handler: vm.CreateFlavorHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/inference/getDeployTasksByType", - Handler: inference.GetDeployTasksByTypeHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/deleteFlavor", + Handler: vm.DeleteFlavorHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/inference/getRunningInstanceById", - Handler: inference.GetRunningInstanceByIdHandler(serverCtx), + Path: "/vm/listImages", + Handler: vm.ListImagesHandler(serverCtx), + }, + { + Method: http.MethodDelete, + Path: "/vm/deleteImage", + Handler: vm.DeleteImageHandler(serverCtx), }, { Method: http.MethodPost, - Path: "/inference/images", - Handler: inference.ImageInferenceHandler(serverCtx), + Path: "/vm/createImage", + Handler: vm.CreateImageHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/inference/instanceCenter", - Handler: inference.InstanceCenterHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/uploadImage", + Handler: vm.UploadImageHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/inference/modelNames", - Handler: inference.ModelNamesByTypeHandler(serverCtx), + Path: "/vm/listNetworks", + Handler: vm.ListNetworksHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/inference/modelTypes", - Handler: inference.ModelTypesHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteNetwork", + Handler: vm.DeleteNetworkHandler(serverCtx), }, { Method: http.MethodPost, - Path: "/inference/startAll", - Handler: inference.StartAllByDeployTaskIdHandler(serverCtx), + Path: "/vm/createNetwork", + Handler: vm.CreateNetworkHandler(serverCtx), }, { Method: http.MethodPost, - Path: "/inference/startDeployInstance", - Handler: inference.StartDeployInstanceListHandler(serverCtx), + Path: "/vm/createSubnet", + Handler: vm.CreateSubnetHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/inference/stopAll", - Handler: inference.StopAllByDeployTaskIdHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/showNetworkDetails", + Handler: vm.ShowNetworkDetailsHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/inference/stopDeployInstance", - Handler: inference.StopDeployInstanceHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/updateNetwork", + Handler: vm.UpdateNetworkHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/inference/taskDetail", - Handler: inference.InferenceTaskDetailHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/bulkCreateNetworks", + Handler: vm.BulkCreateNetworksHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/inference/taskStat", - Handler: inference.InferenceTaskStatHandler(serverCtx), + Path: "/vm/listSubnets", + Handler: vm.ListSubnetsHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/inference/text", - Handler: inference.TextToTextInferenceHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteSubnet", + Handler: vm.DeleteSubnetHandler(serverCtx), }, - }, - rest.WithPrefix("/pcm/v1"), - ) - - server.AddRoutes( - []rest.Route{ { - Method: http.MethodGet, - Path: "/monitoring/adapter/info", - Handler: monitoring.AdapterInfoHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/updateSubnet", + Handler: vm.UpdateSubnetHandler(serverCtx), }, { - // alert list Method: http.MethodGet, - Path: "/monitoring/alert/list", - Handler: monitoring.AlertListHandler(serverCtx), + Path: "/vm/listNetworkSegmentRanges", + Handler: vm.ListNetworkSegmentRangesRangeHandler(serverCtx), }, { Method: http.MethodPost, - Path: "/monitoring/alert/rule", - Handler: monitoring.CreateAlertRuleHandler(serverCtx), + Path: "/vm/createNetworkSegmentRange", + Handler: vm.CreateNetworkSegmentRangeHandler(serverCtx), }, { - // alert rules - Method: http.MethodGet, - Path: "/monitoring/alert/rule", - Handler: monitoring.AlertRulesHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteNetworkSegmentRanges", + Handler: vm.DeleteNetworkSegmentRangesHandler(serverCtx), }, { - Method: http.MethodDelete, - Path: "/monitoring/alert/rule", - Handler: monitoring.DeleteAlertRuleHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/updateNetworkSegmentRanges", + Handler: vm.UpdateNetworkSegmentRangesHandler(serverCtx), }, { - // cluster resource load Method: http.MethodGet, - Path: "/monitoring/cluster/load", - Handler: monitoring.ClustersLoadHandler(serverCtx), + Path: "/vm/showNetworkSegmentRangeDetails", + Handler: vm.ShowNetworkSegmentRangeDetailsHandler(serverCtx), }, { - // node resource load - Method: http.MethodGet, - Path: "/monitoring/node/top", - Handler: monitoring.NodesLoadTopHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/createPort", + Handler: vm.CreatePortHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/monitoring/schedule/situation", - Handler: monitoring.ScheduleSituationHandler(serverCtx), + Path: "/vm/listPortsReq", + Handler: vm.ListPortsHandler(serverCtx), }, { - // Synchronize Cluster alert Information - Method: http.MethodPost, - Path: "/monitoring/syncClusterAlert", - Handler: monitoring.SyncClusterAlertHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deletePort", + Handler: vm.DeletePortHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/monitoring/task/num", - Handler: monitoring.TaskNumHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/updatePort", + Handler: vm.UpdatePortHandler(serverCtx), }, - }, - rest.WithPrefix("/pcm/v1"), - ) - - server.AddRoutes( - []rest.Route{ { Method: http.MethodGet, - Path: "/schedule/ai/getAlgorithms/:adapterId/:resourceType/:taskType/:dataset", - Handler: schedule.ScheduleGetAlgorithmsHandler(serverCtx), + Path: "/vm/showPortDetails", + Handler: vm.ShowPortDetailsHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/schedule/ai/getDatasets/:adapterId", - Handler: schedule.ScheduleGetDatasetsHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/createRouter", + Handler: vm.CreateRouterHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/schedule/ai/getJobLog/:adapterId/:clusterId/:taskId/:instanceNum", - Handler: schedule.ScheduleGetAiJobLogLogHandler(serverCtx), + Path: "/vm/listRouters", + Handler: vm.ListRoutersHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/schedule/ai/getResourceTypes", - Handler: schedule.ScheduleGetAiResourceTypesHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteRouter", + Handler: vm.DeleteRouterHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/schedule/ai/getStrategies", - Handler: schedule.ScheduleGetStrategyHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/updateRouter", + Handler: vm.UpdateRouterHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/schedule/ai/getTaskTypes", - Handler: schedule.ScheduleGetAiTaskTypesHandler(serverCtx), + Path: "/vm/showRouterDetails", + Handler: vm.ShowRouterDetailsHandler(serverCtx), }, { Method: http.MethodPost, - Path: "/schedule/cancelTask", - Handler: schedule.ScheduleCancelTaskHandler(serverCtx), + Path: "/vm/createFloatingIP", + Handler: vm.CreateFloatingIPHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/schedule/createTask", - Handler: schedule.ScheduleCreateTaskHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/listFloatingIPs", + Handler: vm.ListFloatingIPsHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/schedule/downloadAlgorithmCode", - Handler: schedule.DownloadAlgothmCodeHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteFloatingIP", + Handler: vm.DeleteFloatingIPHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/schedule/getClusterBalanceById/:adapterId/:clusterId", - Handler: schedule.GetClusterBalanceByIdHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/updateFloatingIP", + Handler: vm.UpdateFloatingIPHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/schedule/getComputeCardsByCluster/:adapterId/:clusterId", - Handler: schedule.GetComputeCardsByClusterHandler(serverCtx), + Path: "/vm/showFloatingIPDetails", + Handler: vm.ShowFloatingIPDetailsHandler(serverCtx), }, { Method: http.MethodPost, - Path: "/schedule/getOverview", - Handler: schedule.ScheduleGetOverviewHandler(serverCtx), + Path: "/vm/createFirewallGroup", + Handler: vm.CreateFirewallGroupHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/schedule/queryResources", - Handler: schedule.QueryResourcesHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/listFirewallGroups", + Handler: vm.ListFirewallGroupsHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/schedule/runTask", - Handler: schedule.ScheduleRunTaskHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteFirewallGroup", + Handler: vm.DeleteFirewallGroupHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/schedule/submit", - Handler: schedule.ScheduleSubmitHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/updateFirewallGroup", + Handler: vm.UpdateFirewallGroupHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/schedule/uploadAlgorithmCode", - Handler: schedule.UploadAlgothmCodeHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/showFirewallGroupDetails", + Handler: vm.ShowFirewallGroupDetailsHandler(serverCtx), }, - }, - rest.WithPrefix("/pcm/v1"), - ) - - server.AddRoutes( - []rest.Route{ { - // 日常算力查询 - Method: http.MethodGet, - Path: "/storage/dailyPowerScreen", - Handler: storage.DailyPowerScreenHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/createFirewallPolicy", + Handler: vm.CreateFirewallPolicyHandler(serverCtx), }, { - // 算力中心算力情况 Method: http.MethodGet, - Path: "/storage/perCenterComputerPowers", - Handler: storage.PerCenterComputerPowersHandler(serverCtx), + Path: "/vm/listFirewallPolicies", + Handler: vm.ListFirewallPoliciesHandler(serverCtx), }, - }, - rest.WithPrefix("/pcm/v1"), - ) - - server.AddRoutes( - []rest.Route{ { Method: http.MethodDelete, - Path: "/storelink/deleteImage", - Handler: storelink.DeleteLinkImageHandler(serverCtx), + Path: "/vm/deleteFirewallPolicy", + Handler: vm.DeleteFirewallPolicyHandler(serverCtx), }, { - Method: http.MethodDelete, - Path: "/storelink/deleteTask", - Handler: storelink.DeleteLinkTaskHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/showFirewallRuleDetails", + Handler: vm.ShowFirewallRuleDetailsHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/storelink/getImageList", - Handler: storelink.GetLinkImageListHandler(serverCtx), + Path: "/vm/showFirewallPolicyDetails", + Handler: vm.ShowFirewallPolicyDetailsHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/storelink/getParticipants", - Handler: storelink.GetParticipantsHandler(serverCtx), + Method: http.MethodPost, + Path: "/vm/createFirewallRule", + Handler: vm.CreateFirewallRuleHandler(serverCtx), }, { Method: http.MethodGet, - Path: "/storelink/getResourceSpecs", - Handler: storelink.GetAISpecsHandler(serverCtx), + Path: "/vm/listFirewallRules", + Handler: vm.ListFirewallRulesHandler(serverCtx), }, { - Method: http.MethodGet, - Path: "/storelink/getTask", - Handler: storelink.GetLinkTaskHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteFirewallRule", + Handler: vm.DeleteFirewallRuleHandler(serverCtx), }, { Method: http.MethodPost, - Path: "/storelink/submitTask", - Handler: storelink.SubmitLinkTaskHandler(serverCtx), + Path: "/vm/createSecurityGroup", + Handler: vm.CreateSecurityGroupHandler(serverCtx), }, { - Method: http.MethodPost, - Path: "/storelink/uploadImage", - Handler: storelink.UploadLinkImageHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/listSecurityGroups", + Handler: vm.ListSecurityGroupsHandler(serverCtx), }, - }, - rest.WithPrefix("/pcm/v1"), - ) - - server.AddRoutes( - []rest.Route{ { - // 将安全组添加到服务器 - Method: http.MethodPost, - Path: "/vm/addSecurityGroupToServer", - Handler: vm.AddSecurityGroupToServerHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteSecurityGroup", + Handler: vm.DeleteSecurityGroupHandler(serverCtx), }, { - // 批量创建网络 - Method: http.MethodPost, - Path: "/vm/bulkCreateNetworks", - Handler: vm.BulkCreateNetworksHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/updateSecurityGroup", + Handler: vm.UpdateSecurityGroupHandler(serverCtx), }, { - // 设置密码 - Method: http.MethodPost, - Path: "/vm/changeAdministrativePassword", - Handler: vm.ChangeAdministrativePasswordHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/showSecurityGroup", + Handler: vm.ShowSecurityGroupHandler(serverCtx), }, { - // 创建防火墙 Method: http.MethodPost, - Path: "/vm/createFirewallGroup", - Handler: vm.CreateFirewallGroupHandler(serverCtx), + Path: "/vm/createSecurityGroupRule", + Handler: vm.CreateSecurityGroupRuleHandler(serverCtx), }, { - // 创建防火墙策略 - Method: http.MethodPost, - Path: "/vm/createFirewallPolicy", - Handler: vm.CreateFirewallPolicyHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/listSecurityGroupRules", + Handler: vm.ListSecurityGroupRulesHandler(serverCtx), }, { - // 创建防火墙策略 - Method: http.MethodPost, - Path: "/vm/createFirewallRule", - Handler: vm.CreateFirewallRuleHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteSecurityGroupRule", + Handler: vm.DeleteSecurityGroupRuleHandler(serverCtx), }, { - // 创建规格 - Method: http.MethodPost, - Path: "/vm/createFlavor", - Handler: vm.CreateFlavorHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/showSecurityGroupRule", + Handler: vm.ShowSecurityGroupRuleHandler(serverCtx), }, { - // 创建浮动ip - Method: http.MethodPost, - Path: "/vm/createFloatingIP", - Handler: vm.CreateFloatingIPHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/listVolumesDetail", + Handler: vm.ListVolumesDetailHandler(serverCtx), }, { - // 创建镜像 - Method: http.MethodPost, - Path: "/vm/createImage", - Handler: vm.CreateImageHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteVolume", + Handler: vm.DeleteVolumeHandler(serverCtx), }, { - // 跨域创建虚拟机 Method: http.MethodPost, - Path: "/vm/createMulServer", - Handler: vm.CreateMulServerHandler(serverCtx), + Path: "/vm/createVolume", + Handler: vm.CreateVolumeHandler(serverCtx), }, { - // 创建网络 - Method: http.MethodPost, - Path: "/vm/createNetwork", - Handler: vm.CreateNetworkHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/listFlavorsDetail", + Handler: vm.ListFlavorsDetailHandler(serverCtx), }, { - // 创建网段 - Method: http.MethodPost, - Path: "/vm/createNetworkSegmentRange", - Handler: vm.CreateNetworkSegmentRangeHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/listVolumeTypes", + Handler: vm.ListVolumeTypesHandler(serverCtx), }, { - // 创建节点 - Method: http.MethodPost, - Path: "/vm/createNode", - Handler: vm.CreateNodeHandler(serverCtx), + Method: http.MethodPut, + Path: "/vm/updateVolume", + Handler: vm.UpdateVolumeHandler(serverCtx), }, { - // 创建端口 Method: http.MethodPost, - Path: "/vm/createPort", - Handler: vm.CreatePortHandler(serverCtx), + Path: "/vm/createVolumeTypes", + Handler: vm.CreateVolumeTypesHandler(serverCtx), }, { - // 创建路由 - Method: http.MethodPost, - Path: "/vm/createRouter", - Handler: vm.CreateRouterHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteVolumeType", + Handler: vm.DeleteVolumeTypeHandler(serverCtx), }, { - // 创建安全组 - Method: http.MethodPost, - Path: "/vm/createSecurityGroup", - Handler: vm.CreateSecurityGroupHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/listVolumes", + Handler: vm.ListVolumesHandler(serverCtx), }, { - // 创建安全组规则 - Method: http.MethodPost, - Path: "/vm/createSecurityGroupRule", - Handler: vm.CreateSecurityGroupRuleHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/getVolumeDetailedById", + Handler: vm.GetVolumeDetailedByIdHandler(serverCtx), }, { - // 创建虚拟机 - Method: http.MethodPost, - Path: "/vm/createServer", - Handler: vm.CreateServerHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/listNodes", + Handler: vm.ListNodesHandler(serverCtx), }, { - // 创建子网 Method: http.MethodPost, - Path: "/vm/createSubnet", - Handler: vm.CreateSubnetHandler(serverCtx), + Path: "/vm/createNode", + Handler: vm.CreateNodeHandler(serverCtx), }, { - // 创建卷 - Method: http.MethodPost, - Path: "/vm/createVolume", - Handler: vm.CreateVolumeHandler(serverCtx), + Method: http.MethodDelete, + Path: "/vm/deleteNode", + Handler: vm.DeleteNodeHandler(serverCtx), }, { - // 创建卷类型 - Method: http.MethodPost, - Path: "/vm/createVolumeTypes", - Handler: vm.CreateVolumeTypesHandler(serverCtx), + Method: http.MethodGet, + Path: "/vm/showNodeDetails", + Handler: vm.ShowNodeDetailsHandler(serverCtx), }, + }, + rest.WithPrefix("/pcm/v1"), + ) + + server.AddRoutes( + []rest.Route{ { - // 删除防火墙 - Method: http.MethodDelete, - Path: "/vm/deleteFirewallGroup", - Handler: vm.DeleteFirewallGroupHandler(serverCtx), + Method: http.MethodPost, + Path: "/storelink/uploadImage", + Handler: storelink.UploadLinkImageHandler(serverCtx), }, { - // 删除防火墙策略 - Method: http.MethodDelete, - Path: "/vm/deleteFirewallPolicy", - Handler: vm.DeleteFirewallPolicyHandler(serverCtx), + Method: http.MethodGet, + Path: "/storelink/getImageList", + Handler: storelink.GetLinkImageListHandler(serverCtx), }, { - // 删除防火墙策略 Method: http.MethodDelete, - Path: "/vm/deleteFirewallRule", - Handler: vm.DeleteFirewallRuleHandler(serverCtx), + Path: "/storelink/deleteImage", + Handler: storelink.DeleteLinkImageHandler(serverCtx), }, { - // 创建规格 Method: http.MethodPost, - Path: "/vm/deleteFlavor", - Handler: vm.DeleteFlavorHandler(serverCtx), + Path: "/storelink/submitTask", + Handler: storelink.SubmitLinkTaskHandler(serverCtx), }, { - // 删除浮动ip - Method: http.MethodDelete, - Path: "/vm/deleteFloatingIP", - Handler: vm.DeleteFloatingIPHandler(serverCtx), + Method: http.MethodGet, + Path: "/storelink/getTask", + Handler: storelink.GetLinkTaskHandler(serverCtx), }, { - // 删除镜像 Method: http.MethodDelete, - Path: "/vm/deleteImage", - Handler: vm.DeleteImageHandler(serverCtx), + Path: "/storelink/deleteTask", + Handler: storelink.DeleteLinkTaskHandler(serverCtx), }, { - // 删除网络 - Method: http.MethodDelete, - Path: "/vm/deleteNetwork", - Handler: vm.DeleteNetworkHandler(serverCtx), + Method: http.MethodGet, + Path: "/storelink/getParticipants", + Handler: storelink.GetParticipantsHandler(serverCtx), }, { - // 删除网段 - Method: http.MethodDelete, - Path: "/vm/deleteNetworkSegmentRanges", - Handler: vm.DeleteNetworkSegmentRangesHandler(serverCtx), + Method: http.MethodGet, + Path: "/storelink/getResourceSpecs", + Handler: storelink.GetAISpecsHandler(serverCtx), }, + }, + rest.WithPrefix("/pcm/v1"), + ) + + server.AddRoutes( + []rest.Route{ { - // 删除节点 - Method: http.MethodDelete, - Path: "/vm/deleteNode", - Handler: vm.DeleteNodeHandler(serverCtx), + Method: http.MethodGet, + Path: "/adapter/list", + Handler: adapters.AdaptersListHandler(serverCtx), }, { - // 删除端口 - Method: http.MethodDelete, - Path: "/vm/deletePort", - Handler: vm.DeletePortHandler(serverCtx), + Method: http.MethodPost, + Path: "/adapter/create", + Handler: adapters.CreateAdapterHandler(serverCtx), }, { - // 删除路由 - Method: http.MethodDelete, - Path: "/vm/deleteRouter", - Handler: vm.DeleteRouterHandler(serverCtx), + Method: http.MethodPut, + Path: "/adapter/update", + Handler: adapters.UpdateAdapterHandler(serverCtx), }, { - // 删除安全组 Method: http.MethodDelete, - Path: "/vm/deleteSecurityGroup", - Handler: vm.DeleteSecurityGroupHandler(serverCtx), + Path: "/adapter/delete", + Handler: adapters.DeleteAdapterHandler(serverCtx), }, { - // 删除安全组规则 - Method: http.MethodDelete, - Path: "/vm/deleteSecurityGroupRule", - Handler: vm.DeleteSecurityGroupRuleHandler(serverCtx), + Method: http.MethodGet, + Path: "/adapter/get", + Handler: adapters.GetAdapterHandler(serverCtx), }, { - // 删除虚拟机 - Method: http.MethodDelete, - Path: "/vm/deleteServer", - Handler: vm.DeleteServerHandler(serverCtx), + Method: http.MethodGet, + Path: "/adapter/cluster/list", + Handler: adapters.ClusterListHandler(serverCtx), }, { - // 删除子网 - Method: http.MethodDelete, - Path: "/vm/deleteSubnet", - Handler: vm.DeleteSubnetHandler(serverCtx), + Method: http.MethodPost, + Path: "/adapter/cluster/create", + Handler: adapters.CreateClusterHandler(serverCtx), }, { - // 删除卷 - Method: http.MethodDelete, - Path: "/vm/deleteVolume", - Handler: vm.DeleteVolumeHandler(serverCtx), + Method: http.MethodPut, + Path: "/adapter/cluster/update", + Handler: adapters.UpdateClusterHandler(serverCtx), }, { - // 删除卷类型 Method: http.MethodDelete, - Path: "/vm/deleteVolumeType", - Handler: vm.DeleteVolumeTypeHandler(serverCtx), + Path: "/adapter/cluster/delete", + Handler: adapters.DeleteClusterHandler(serverCtx), }, { - // openstack计算中心概览 Method: http.MethodGet, - Path: "/vm/getComputeLimits", - Handler: vm.GetComputeLimitsHandler(serverCtx), + Path: "/adapter/cluster/get", + Handler: adapters.GetClusterHandler(serverCtx), }, { - // 查询镜像数量 Method: http.MethodGet, - Path: "/vm/getImageNum", - Handler: vm.GetImageNumHandler(serverCtx), + Path: "/adapter/relation", + Handler: adapters.GetAdapterRelationHandler(serverCtx), }, { - // 查询网络数量 Method: http.MethodGet, - Path: "/vm/getNetworkNum", - Handler: vm.GetNetworkNumHandler(serverCtx), + Path: "/adapter/clusterSum", + Handler: adapters.GetClusterSumHandler(serverCtx), }, { - // 查询虚拟机概览数据 Method: http.MethodGet, - Path: "/vm/getOpenstackOverview", - Handler: vm.GetOpenstackOverviewHandler(serverCtx), + Path: "/adapter/getAdapterInfo", + Handler: adapters.GetAdapterInfoHandler(serverCtx), }, + }, + rest.WithPrefix("/pcm/v1"), + ) + + server.AddRoutes( + []rest.Route{ { - // 根据ID查询虚拟机详情 Method: http.MethodGet, - Path: "/vm/getServersDetailedById", - Handler: vm.GetServersDetailedByIdHandler(serverCtx), + Path: "/schedule/ai/getResourceTypes", + Handler: schedule.ScheduleGetAiResourceTypesHandler(serverCtx), }, { - // 根据ID获取卷详情 Method: http.MethodGet, - Path: "/vm/getVolumeDetailedById", - Handler: vm.GetVolumeDetailedByIdHandler(serverCtx), + Path: "/schedule/ai/getTaskTypes", + Handler: schedule.ScheduleGetAiTaskTypesHandler(serverCtx), }, { - // 查询卷列表 Method: http.MethodGet, - Path: "/vm/getVolumeLimits", - Handler: vm.GetVolumeLimitsHandler(serverCtx), + Path: "/schedule/ai/getDatasets/:adapterId", + Handler: schedule.ScheduleGetDatasetsHandler(serverCtx), }, { - // 查询防火墙列表 Method: http.MethodGet, - Path: "/vm/listFirewallGroups", - Handler: vm.ListFirewallGroupsHandler(serverCtx), + Path: "/schedule/ai/getStrategies", + Handler: schedule.ScheduleGetStrategyHandler(serverCtx), }, { - // 查询防火墙策略列表 Method: http.MethodGet, - Path: "/vm/listFirewallPolicies", - Handler: vm.ListFirewallPoliciesHandler(serverCtx), + Path: "/schedule/ai/getAlgorithms/:adapterId/:resourceType/:taskType/:dataset", + Handler: schedule.ScheduleGetAlgorithmsHandler(serverCtx), }, { - // 查询防火墙策略列表 Method: http.MethodGet, - Path: "/vm/listFirewallRules", - Handler: vm.ListFirewallRulesHandler(serverCtx), + Path: "/schedule/ai/getJobLog/:adapterId/:clusterId/:taskId/:instanceNum", + Handler: schedule.ScheduleGetAiJobLogLogHandler(serverCtx), }, { - // 查询规格详情列表 - Method: http.MethodGet, - Path: "/vm/listFlavorsDetail", - Handler: vm.ListFlavorsDetailHandler(serverCtx), + Method: http.MethodPost, + Path: "/schedule/submit", + Handler: schedule.ScheduleSubmitHandler(serverCtx), + }, + { + Method: http.MethodPost, + Path: "/schedule/getOverview", + Handler: schedule.ScheduleGetOverviewHandler(serverCtx), }, { - // 查询浮动ip列表 Method: http.MethodGet, - Path: "/vm/listFloatingIPs", - Handler: vm.ListFloatingIPsHandler(serverCtx), + Path: "/schedule/downloadAlgorithmCode", + Handler: schedule.DownloadAlgothmCodeHandler(serverCtx), + }, + { + Method: http.MethodPost, + Path: "/schedule/uploadAlgorithmCode", + Handler: schedule.UploadAlgothmCodeHandler(serverCtx), }, { - // 查询镜像列表 Method: http.MethodGet, - Path: "/vm/listImages", - Handler: vm.ListImagesHandler(serverCtx), + Path: "/schedule/getComputeCardsByCluster/:adapterId/:clusterId", + Handler: schedule.GetComputeCardsByClusterHandler(serverCtx), }, { - // 查询网络列表 Method: http.MethodGet, - Path: "/vm/listNetworkSegmentRanges", - Handler: vm.ListNetworkSegmentRangesRangeHandler(serverCtx), + Path: "/schedule/getClusterBalanceById/:adapterId/:clusterId", + Handler: schedule.GetClusterBalanceByIdHandler(serverCtx), }, { - // 查询网络列表 - Method: http.MethodGet, - Path: "/vm/listNetworks", - Handler: vm.ListNetworksHandler(serverCtx), + Method: http.MethodPost, + Path: "/schedule/queryResources", + Handler: schedule.QueryResourcesHandler(serverCtx), }, { - // 查询节点列表 - Method: http.MethodGet, - Path: "/vm/listNodes", - Handler: vm.ListNodesHandler(serverCtx), + Method: http.MethodPost, + Path: "/schedule/createTask", + Handler: schedule.ScheduleCreateTaskHandler(serverCtx), }, { - // 查询端口列表 - Method: http.MethodGet, - Path: "/vm/listPortsReq", - Handler: vm.ListPortsHandler(serverCtx), + Method: http.MethodPost, + Path: "/schedule/runTask", + Handler: schedule.ScheduleRunTaskHandler(serverCtx), }, { - // 查询路由列表 - Method: http.MethodGet, - Path: "/vm/listRouters", - Handler: vm.ListRoutersHandler(serverCtx), + Method: http.MethodPost, + Path: "/schedule/cancelTask", + Handler: schedule.ScheduleCancelTaskHandler(serverCtx), }, + }, + rest.WithPrefix("/pcm/v1"), + ) + + server.AddRoutes( + []rest.Route{ { - // 查询安全组规则列表 Method: http.MethodGet, - Path: "/vm/listSecurityGroupRules", - Handler: vm.ListSecurityGroupRulesHandler(serverCtx), + Path: "/inference/getDeployInstance", + Handler: inference.GetDeployInstanceHandler(serverCtx), }, { - // 查询安全组列表 - Method: http.MethodGet, - Path: "/vm/listSecurityGroups", - Handler: vm.ListSecurityGroupsHandler(serverCtx), + Method: http.MethodPost, + Path: "/inference/createTask", + Handler: inference.CreateInferenceTaskHandler(serverCtx), }, { - // 查询虚拟机列表 - Method: http.MethodGet, - Path: "/vm/listServer", - Handler: vm.ListServerHandler(serverCtx), + Method: http.MethodPost, + Path: "/inference/text", + Handler: inference.TextToTextInferenceHandler(serverCtx), }, { - // 查询虚拟机详情列表 - Method: http.MethodGet, - Path: "/vm/listServersDetailed", - Handler: vm.ListServersDetailedHandler(serverCtx), + Method: http.MethodPost, + Path: "/inference/images", + Handler: inference.ImageInferenceHandler(serverCtx), }, { - // 查询子网列表 Method: http.MethodGet, - Path: "/vm/listSubnets", - Handler: vm.ListSubnetsHandler(serverCtx), + Path: "/inference/modelTypes", + Handler: inference.ModelTypesHandler(serverCtx), }, { - // 查询规格类型列表 Method: http.MethodGet, - Path: "/vm/listVolumeTypes", - Handler: vm.ListVolumeTypesHandler(serverCtx), + Path: "/inference/instanceCenter", + Handler: inference.InstanceCenterHandler(serverCtx), }, { - // 查询卷列表 Method: http.MethodGet, - Path: "/vm/listVolumes", - Handler: vm.ListVolumesHandler(serverCtx), + Path: "/inference/modelNames", + Handler: inference.ModelNamesByTypeHandler(serverCtx), }, { - // 查询卷详情列表 Method: http.MethodGet, - Path: "/vm/listVolumesDetail", - Handler: vm.ListVolumesDetailHandler(serverCtx), + Path: "/inference/taskDetail", + Handler: inference.InferenceTaskDetailHandler(serverCtx), }, { - // 迁移 - Method: http.MethodPost, - Path: "/vm/migrateServer", - Handler: vm.MigrateServerHandler(serverCtx), + Method: http.MethodGet, + Path: "/inference/deployInstanceList", + Handler: inference.DeployInstanceListHandler(serverCtx), }, { - // 暂停虚拟机 Method: http.MethodPost, - Path: "/vm/pauseServer", - Handler: vm.PauseServerHandler(serverCtx), + Path: "/inference/startDeployInstance", + Handler: inference.StartDeployInstanceListHandler(serverCtx), }, { - // 重启虚拟机 Method: http.MethodPost, - Path: "/vm/rebootServer", - Handler: vm.RebootServerHandler(serverCtx), + Path: "/inference/stopDeployInstance", + Handler: inference.StopDeployInstanceHandler(serverCtx), }, { - // 从服务器中删除安全 - Method: http.MethodPost, - Path: "/vm/removeSecurityGroup", - Handler: vm.RemoveSecurityGroupHandler(serverCtx), + Method: http.MethodGet, + Path: "/inference/deployInstanceStat", + Handler: inference.DeployInstanceStatHandler(serverCtx), }, { - // 救援 - Method: http.MethodPost, - Path: "/vm/rescueServer", - Handler: vm.RescueServerHandler(serverCtx), + Method: http.MethodGet, + Path: "/inference/taskStat", + Handler: inference.InferenceTaskStatHandler(serverCtx), }, { - // 调整大小 Method: http.MethodPost, - Path: "/vm/resizeServer", - Handler: vm.ResizeServerHandler(serverCtx), + Path: "/inference/startAll", + Handler: inference.StartAllByDeployTaskIdHandler(serverCtx), }, { - // 搁置 Method: http.MethodPost, - Path: "/vm/shelveServer", - Handler: vm.ShelveServerHandler(serverCtx), + Path: "/inference/stopAll", + Handler: inference.StopAllByDeployTaskIdHandler(serverCtx), }, { - // 查询防火墙详情 Method: http.MethodGet, - Path: "/vm/showFirewallGroupDetails", - Handler: vm.ShowFirewallGroupDetailsHandler(serverCtx), + Path: "/inference/getRunningInstanceById", + Handler: inference.GetRunningInstanceByIdHandler(serverCtx), }, { - // 查询防火墙策略详情 Method: http.MethodGet, - Path: "/vm/showFirewallPolicyDetails", - Handler: vm.ShowFirewallPolicyDetailsHandler(serverCtx), + Path: "/inference/getDeployTasksByType", + Handler: inference.GetDeployTasksByTypeHandler(serverCtx), }, { - // 查询防火墙策略详情 - Method: http.MethodGet, - Path: "/vm/showFirewallRuleDetails", - Handler: vm.ShowFirewallRuleDetailsHandler(serverCtx), + Method: http.MethodPost, + Path: "/inference/createDeployTask", + Handler: inference.CreateDeployTaskHandler(serverCtx), }, { - // 查询浮动ip详情 Method: http.MethodGet, - Path: "/vm/showFloatingIPDetails", - Handler: vm.ShowFloatingIPDetailsHandler(serverCtx), + Path: "/inference/getAdaptersByModel", + Handler: inference.GetAdaptersByModelHandler(serverCtx), }, + }, + rest.WithPrefix("/pcm/v1"), + ) + + server.AddRoutes( + []rest.Route{ { - // 查询网络详情 Method: http.MethodGet, - Path: "/vm/showNetworkDetails", - Handler: vm.ShowNetworkDetailsHandler(serverCtx), + Path: "/dict/:id", + Handler: dictionary.GetDictHandler(serverCtx), }, { - // 显示网段详情 Method: http.MethodGet, - Path: "/vm/showNetworkSegmentRangeDetails", - Handler: vm.ShowNetworkSegmentRangeDetailsHandler(serverCtx), + Path: "/dicts", + Handler: dictionary.ListDictHandler(serverCtx), }, { - // 查询节点详情 - Method: http.MethodGet, - Path: "/vm/showNodeDetails", - Handler: vm.ShowNodeDetailsHandler(serverCtx), + Method: http.MethodPost, + Path: "/dict", + Handler: dictionary.AddDictHandler(serverCtx), }, { - // 查询端口详情 - Method: http.MethodGet, - Path: "/vm/showPortDetails", - Handler: vm.ShowPortDetailsHandler(serverCtx), + Method: http.MethodPut, + Path: "/dict", + Handler: dictionary.EditDictHandler(serverCtx), }, { - // 查询路由详情 - Method: http.MethodGet, - Path: "/vm/showRouterDetails", - Handler: vm.ShowRouterDetailsHandler(serverCtx), + Method: http.MethodDelete, + Path: "/dict/:id", + Handler: dictionary.DeleteDictHandler(serverCtx), }, { - // 查询安全组详情 Method: http.MethodGet, - Path: "/vm/showSecurityGroup", - Handler: vm.ShowSecurityGroupHandler(serverCtx), + Path: "/dictItem/:id", + Handler: dictionary.GetDictItemHandler(serverCtx), }, { - // 查询安全组规则详情 Method: http.MethodGet, - Path: "/vm/showSecurityGroupRule", - Handler: vm.ShowSecurityGroupRuleHandler(serverCtx), + Path: "/dictItems", + Handler: dictionary.ListDictItemHandler(serverCtx), }, { - // 启动虚拟机 Method: http.MethodPost, - Path: "/vm/startServer", - Handler: vm.StartServerHandler(serverCtx), + Path: "/dictItem", + Handler: dictionary.AddDictItemHandler(serverCtx), }, { - // 停止虚拟机 - Method: http.MethodPost, - Path: "/vm/stopServer", - Handler: vm.StopServerHandler(serverCtx), + Method: http.MethodPut, + Path: "/dictItem", + Handler: dictionary.EditDictItemHandler(serverCtx), }, { - // 中止 - Method: http.MethodPost, - Path: "/vm/suspendServer", - Handler: vm.SuspendServerHandler(serverCtx), + Method: http.MethodDelete, + Path: "/dictItem/:id", + Handler: dictionary.DeleteDictItemHandler(serverCtx), }, { - // 取消救援 - Method: http.MethodPost, - Path: "/vm/unRescueServer", - Handler: vm.UnRescueHandler(serverCtx), + Method: http.MethodGet, + Path: "/dictItem/code/:dictCode", + Handler: dictionary.ListDictItemByCodeHandler(serverCtx), }, + }, + rest.WithPrefix("/pcm/v1"), + ) + + server.AddRoutes( + []rest.Route{ { - // 取消暂停虚拟机 Method: http.MethodPost, - Path: "/vm/unpauseServer", - Handler: vm.UnpauseServerHandler(serverCtx), - }, - { - // 修改防火墙 - Method: http.MethodPut, - Path: "/vm/updateFirewallGroup", - Handler: vm.UpdateFirewallGroupHandler(serverCtx), - }, - { - // 修改浮动ip - Method: http.MethodPut, - Path: "/vm/updateFloatingIP", - Handler: vm.UpdateFloatingIPHandler(serverCtx), + Path: "/monitoring/alert/rule", + Handler: monitoring.CreateAlertRuleHandler(serverCtx), }, { - // 更新网络 - Method: http.MethodPut, - Path: "/vm/updateNetwork", - Handler: vm.UpdateNetworkHandler(serverCtx), + Method: http.MethodGet, + Path: "/monitoring/alert/rule", + Handler: monitoring.AlertRulesHandler(serverCtx), }, { - // 修改网段 - Method: http.MethodPut, - Path: "/vm/updateNetworkSegmentRanges", - Handler: vm.UpdateNetworkSegmentRangesHandler(serverCtx), + Method: http.MethodDelete, + Path: "/monitoring/alert/rule", + Handler: monitoring.DeleteAlertRuleHandler(serverCtx), }, { - // 修改端口 - Method: http.MethodPut, - Path: "/vm/updatePort", - Handler: vm.UpdatePortHandler(serverCtx), + Method: http.MethodGet, + Path: "/monitoring/cluster/load", + Handler: monitoring.ClustersLoadHandler(serverCtx), }, { - // 修改路由 - Method: http.MethodPut, - Path: "/vm/updateRouter", - Handler: vm.UpdateRouterHandler(serverCtx), + Method: http.MethodGet, + Path: "/monitoring/node/top", + Handler: monitoring.NodesLoadTopHandler(serverCtx), }, { - // 修改安全组 - Method: http.MethodPut, - Path: "/vm/updateSecurityGroup", - Handler: vm.UpdateSecurityGroupHandler(serverCtx), + Method: http.MethodGet, + Path: "/monitoring/alert/list", + Handler: monitoring.AlertListHandler(serverCtx), }, { - // 更新虚拟机 - Method: http.MethodPut, - Path: "/vm/updateServer", - Handler: vm.UpdateServerHandler(serverCtx), + Method: http.MethodPost, + Path: "/monitoring/syncClusterAlert", + Handler: monitoring.SyncClusterAlertHandler(serverCtx), }, { - // 修改子网 - Method: http.MethodPut, - Path: "/vm/updateSubnet", - Handler: vm.UpdateSubnetHandler(serverCtx), + Method: http.MethodGet, + Path: "/monitoring/task/num", + Handler: monitoring.TaskNumHandler(serverCtx), }, { - // 更新卷 - Method: http.MethodPut, - Path: "/vm/updateVolume", - Handler: vm.UpdateVolumeHandler(serverCtx), + Method: http.MethodGet, + Path: "/monitoring/adapter/info", + Handler: monitoring.AdapterInfoHandler(serverCtx), }, { - // 上传镜像 - Method: http.MethodPut, - Path: "/vm/uploadImage", - Handler: vm.UploadImageHandler(serverCtx), + Method: http.MethodGet, + Path: "/monitoring/schedule/situation", + Handler: monitoring.ScheduleSituationHandler(serverCtx), }, }, rest.WithPrefix("/pcm/v1"), diff --git a/internal/logic/core/screenpagetasklogic.go b/internal/logic/core/screenpagetasklogic.go new file mode 100644 index 00000000..7c012197 --- /dev/null +++ b/internal/logic/core/screenpagetasklogic.go @@ -0,0 +1,77 @@ +package core + +import ( + "context" + "gitlink.org.cn/JointCloud/pcm-coordinator/internal/scheduler/service/utils/status" + "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/repository/result" + + "gitlink.org.cn/JointCloud/pcm-coordinator/internal/svc" + "gitlink.org.cn/JointCloud/pcm-coordinator/internal/types" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ScreenPageTaskLogic struct { + logx.Logger + ctx context.Context + svcCtx *svc.ServiceContext + taskStatus *status.TaskStatus +} + +func NewScreenPageTaskLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ScreenPageTaskLogic { + return &ScreenPageTaskLogic{ + Logger: logx.WithContext(ctx), + ctx: ctx, + svcCtx: svcCtx, + } +} + +func (l *ScreenPageTaskLogic) ScreenPageTask(req *types.PageTaskReq) (resp *types.PageResult, err error) { + res := &types.PageResult{} + // 检查请求参数的有效性 + if req.PageSize <= 0 || req.PageNum <= 0 { + return nil, result.NewDefaultError("Invalid page size or page number") + } + + limit := req.PageSize + offset := req.PageSize * (req.PageNum - 1) + var list []*types.TaskModel + + // 构建数据库查询 + db := l.svcCtx.DbEngin.Model(&types.TaskModel{}).Table("task") + + db = db.Where("deleted_at is null") + if req.Name != "" { + db = db.Where("name LIKE ?", "%"+req.Name+"%") + } + if req.Type != "" { + db = db.Where("adapter_type_dict = ?", req.Type) + } + // 计算总数 + var total int64 + if err := db.Count(&total).Error; err != nil { + return nil, result.NewDefaultError(err.Error()) + } + + // 查询任务列表 + if err := db.Limit(limit).Offset(offset).Order("created_time desc").Find(&list).Error; err != nil { + return nil, result.NewDefaultError(err.Error()) + } + + // 更新智算任务状态 + go l.taskStatus.UpdateTaskStatus(list) + go l.taskStatus.UpdateAiTaskStatus(list) + + // 计算每个任务的运行时间x + for _, model := range list { + model.RunningTime = calculateRunningTime(model.StartTime, model.EndTime) + } + + // 填充响应数据 + res.List = &list + res.PageSize = req.PageSize + res.PageNum = req.PageNum + res.Total = total + + return res, nil +}