Compare commits

...

282 Commits

Author SHA1 Message Date
zhouqunjie 1689d52ed9 approved 2023-06-15 09:42:12 +08:00
qiwang d1d24100e3 fix:PCM-CORE代码修改 2023-06-15 08:54:28 +08:00
ll15074821352 9636cf7657 modelarts Core端api文件训练作业增加订阅算法参数 2023-06-14 11:09:19 +08:00
ll15074821352 e72a41ae75 训练作业p端完成 2023-06-13 17:37:28 +08:00
qiwang 5eda47bdef fix:PCM-CORE代码修改 2023-06-13 14:52:14 +08:00
zhangwei 78409c8553 core 命名空间修改 2023-06-13 08:35:57 +08:00
zhangwei 653b972fac 任务列表修改 2023-06-13 08:35:26 +08:00
zhouqunjie 529b1a9a5e Merge remote-tracking branch 'origin/2.0' into 2.0 2023-06-13 08:27:32 +08:00
zhouqunjie aae80f97e2 ac listhitoryjob 2023-06-13 08:27:25 +08:00
zhangwei 8935c877b5 数据集上传代码增加,未调通 2023-06-12 21:20:22 +08:00
zhangwei 6249ae97f9 算网枚举类增加 2023-06-12 21:14:31 +08:00
zhangwei 231524986d 查询运行中的任务列表同步信息添加入参 2023-06-12 20:59:27 +08:00
zhangwei dbd9e04e37 查询运行中的任务列表同步信息添加入参 2023-06-12 20:35:02 +08:00
qiwang ce44f191c5 Merge remote-tracking branch 'origin/2.0' into 2.0 2023-06-12 20:32:26 +08:00
qiwang 934fba1947 fix:PCM-CORE代码修改 2023-06-12 20:32:12 +08:00
zhouqunjie 36ff5278ce start&end time for list history job 2023-06-12 19:55:27 +08:00
devad 8f0ed19d2c fix: pcm-ac-service.yaml 更改为nodePort
Signed-off-by: devad <cossjie@foxmail.com>
2023-06-12 19:50:19 +08:00
zhouqunjie 4dfead74bb Merge remote-tracking branch 'origin/2.0' into 2.0 2023-06-12 19:48:44 +08:00
zhouqunjie cbaa2409c6 start&end time for list history job 2023-06-12 19:48:33 +08:00
devad 44777c3833 fix: pcm-ac-service.yaml 更改为nodePort
Signed-off-by: devad <cossjie@foxmail.com>
2023-06-12 19:41:27 +08:00
zhouqunjie d9bae6d49c listHistoryJob for ac& th job submit fix 2023-06-12 19:35:20 +08:00
qiwang 9596570500 fix:PCM-CORE代码修改 2023-06-12 19:09:20 +08:00
qiwang 46fbd92abc fix:PCM-CORE代码修改 2023-06-09 10:53:25 +08:00
qiwang 15b62d03fd fix:PCM-CORE代码修改 2023-06-08 17:10:45 +08:00
devad c481227cbb fix: pcm kubernetes服务注册地址更改为域名
Signed-off-by: devad <cossjie@foxmail.com>
2023-06-01 15:17:44 +08:00
zhangwei acf6a6b649 文件断点续传已完成 2023-05-31 08:53:33 +08:00
zhangwei 8abc72dc72 文件断点续传已完成 2023-05-31 08:50:49 +08:00
zhangwei bcfeb8fda6 检查文件是否存在handler提交 2023-05-30 09:07:06 +08:00
zhouqunjie 8bea8f8170 core-rpc 同步天河信息字段修改 2023-05-29 03:41:44 -07:00
zhouqunjie 48095a570a pcmcore修改天河字段 2023-05-29 03:20:43 -07:00
zhangwei 66fb94eb65 天河增加返回信息字段 2023-05-29 18:01:42 +08:00
zhouqunjie 37456dca05 commit for zw 2023-05-29 00:28:59 -07:00
tzwang 1ee2df3200 启智章鱼modeldeploy相关接口 2023-05-27 17:13:02 +08:00
zhangwei 1ccf70a342 天河增加返回信息字段 2023-05-27 16:53:49 +08:00
张威 3b1544fedc 断点续传已完成 2023-05-27 14:38:36 +08:00
tzwang 5a7abd6236 启智章鱼trainjob相关接口 2023-05-27 11:28:51 +08:00
tzwang 9aaa4e746a 启智章鱼获取model相关接口 2023-05-26 16:05:21 +08:00
tzwang 1015390cf0 启智章鱼获取训练作业列表接口 2023-05-25 16:39:17 +08:00
zhouqunjie c7b7747f8e Merge remote-tracking branch 'origin/2.0' into 2.0 2023-05-25 15:59:40 +08:00
zhouqunjie 4f24d51275 core-rpc 服务调整为nodePort 2023-05-25 15:59:30 +08:00
qiwang 9b1a448e0a Merge remote-tracking branch 'origin/2.0' into 2.0 2023-05-25 14:40:34 +08:00
qiwang 209d77bab8 fix:修改算法列表bug 2023-05-25 14:40:21 +08:00
张威 38c42d8fac 天河代码修改脚本字段 2023-05-25 14:40:06 +08:00
tzwang 75647ecfb3 Merge remote-tracking branch 'origin/2.0' into 2.0 2023-05-25 11:29:52 +08:00
tzwang 504da056a8 启智章鱼接口参数修改 2023-05-25 11:27:06 +08:00
qiwang c84d288e30 Merge remote-tracking branch 'origin/2.0' into 2.0 2023-05-25 11:01:35 +08:00
qiwang 636a8d6941 fix:修改apigw-go-sdk的引用路径 2023-05-25 11:01:12 +08:00
tzwang dcc77c7b7e 启智章鱼接口logic修改 2023-05-25 10:50:57 +08:00
tzwang b8779f052b 启智章鱼pb修改 2023-05-25 10:44:13 +08:00
tzwang cdf2bffb9a 启智章鱼接口pb修改 2023-05-25 10:39:27 +08:00
tzwang 033716d66a 启智章鱼查询数据集类型列表,用途列表接口 2023-05-25 10:15:16 +08:00
zhangwei 31083cc07b 增加检查镜像文件是否存在的接口 2023-05-24 17:51:57 +08:00
devad 6a45c06961 feat: 资源面板配置接口
Signed-off-by: devad <cossjie@foxmail.com>
2023-05-24 17:20:47 +08:00
devad f60b58c14c feat: pcm-core-deployment.yaml增加镜像卷挂载
Signed-off-by: devad <cossjie@foxmail.com>
2023-05-24 17:16:56 +08:00
zhangwei 54e5eee24c windows和linux路径修改 2023-05-24 16:46:06 +08:00
zhangwei fb304e3e7d 分片上传开发完成 2023-05-24 16:18:40 +08:00
tzwang b0639ee26f 算法版本列表接口调整 2023-05-24 10:52:55 +08:00
tzwang 44b49dc998 接口调整 2023-05-22 17:35:53 +08:00
tzwang e9129ab518 启智章鱼接口调整 2023-05-22 17:30:48 +08:00
tzwang 0fa8da48b7 启智章鱼接口更新 2023-05-22 11:23:47 +08:00
tzwang 11decce9be 更新启智章鱼接口 2023-05-21 22:16:07 +08:00
zhangwei 653a939ef6 任务定时修改状态bug修复
添加cmdScript字段给超算
2023-05-19 16:40:19 +08:00
qiwang 134e81b4a2 fix:显示详情接口修改 2023-05-18 17:14:40 +08:00
qiwang 43d2244641 fix:显示详情接口修改 2023-05-18 17:10:27 +08:00
qiwang 67d4c266a3 fix:显示详情接口修改 2023-05-18 17:08:28 +08:00
qiwang 81391f54c3 fix:显示详情接口修改 2023-05-18 17:06:12 +08:00
qiwang 5a6ed32c20 fix:删除接口修改 2023-05-18 17:01:35 +08:00
qiwang 56be610560 fix:删除接口修改 2023-05-18 16:55:34 +08:00
qiwang 80349a1015 fix:创建接口修改 2023-05-18 16:51:02 +08:00
qiwang 3a39965b54 fix:创建开发环境接口修改 2023-05-18 16:45:22 +08:00
qiwang 58bba95d9f fix:创建模型接口修改 2023-05-18 16:42:18 +08:00
qiwang 77882bc7a0 fix:查询开发环境接口修改 2023-05-18 16:38:52 +08:00
qiwang 444b56c4e3 fix:查询开发环境接口修改 2023-05-18 16:37:05 +08:00
qiwang 271f1e85ef fix:查询开发环境接口修改 2023-05-18 16:04:03 +08:00
qiwang fc517e0e40 fix:查询开发环境接口修改 2023-05-18 16:01:39 +08:00
qiwang 34598e026a fix:查询专属资源池接口修改 2023-05-18 15:55:15 +08:00
qiwang 50846da465 fix:查询模型列表接口修改 2023-05-18 15:33:36 +08:00
qiwang 0304504ef7 fix:查询服务列表接口修改 2023-05-18 15:30:08 +08:00
qiwang 88d78d4dc3 fix:删除数据集接口修改 2023-05-18 11:26:43 +08:00
zhangwei bb55ca1d0a 镜像列表接口拼接地址 2023-05-18 10:15:34 +08:00
zhouqunjie 5fc97d3a61 Merge remote-tracking branch 'origin/2.0' into 2.0 2023-05-18 10:08:34 +08:00
zhouqunjie 66b2b2b936 fix:超算概览 增加正在运行任务数逻辑 2023-05-18 10:08:22 +08:00
zhangwei e502be4a9d 镜像列表接口拼接地址 2023-05-18 10:05:45 +08:00
zhouqunjie de7a69443a fix:超算概览任务接口调整 2023-05-17 20:43:21 +08:00
qiwang 240f0fcfac fix:创建数据集接口修改 2023-05-17 17:30:39 +08:00
qiwang 876fc52281 fix:查询数据集列表接口修改 2023-05-17 17:17:58 +08:00
qiwang 2c03b013c1 fix:查询算法详情接口修改 2023-05-17 15:25:52 +08:00
qiwang 2464333833 fix:查询列表训练作业和算法接口修改 2023-05-17 15:19:24 +08:00
qiwang bb4d627271 fix:删除训练作业和算法接口修改 2023-05-17 15:16:17 +08:00
qiwang 71cbe2c7ce fix:创建训练作业和创建算法接口修改 2023-05-17 11:26:47 +08:00
qiwang b242bc2ed7 Merge remote-tracking branch 'origin/2.0' into 2.0 2023-05-16 17:04:07 +08:00
qiwang 546c6a7db9 fix:获取训练作业支持的AI预置框架 2023-05-16 17:03:50 +08:00
zhouqunjie 95fdd3e217 feature:add column hubCode for centerOverview 2023-05-16 15:30:43 +08:00
qiwang aaf29aa556 fix:查询获取训练作业支持的公共规格接口 2023-05-16 14:46:33 +08:00
qiwang 732d429122 fix:查询获取训练作业支持的公共规格接口 2023-05-16 12:48:24 +08:00
qiwang a6f7ec5a54 fix:创建训练作业(融合南京和华为接口)调试完成 2023-05-16 10:31:26 +08:00
zhangwei f9940003dc core-api端口号修改 2023-05-16 09:57:27 +08:00
devad d999bbc23e fix: pcm-core service改成配置NodePort
Signed-off-by: devad <cossjie@foxmail.com>
2023-05-16 09:49:56 +08:00
zhangwei 8398798a0d 提交任务接口添加json形式 2023-05-16 09:36:49 +08:00
qiwang 26b20d6f99 fix:提交南京和华为融合的modelarts代码 2023-05-15 10:50:30 +08:00
张威 f58ef1f91f 配置上传到nacos 2023-05-14 10:46:55 +08:00
tzwang 024d983ce6 modelarts notebook接口调整 2023-05-13 20:18:17 +08:00
zhangwei 62a00d79d8 镜像管理初步完成 2023-05-13 16:17:56 +08:00
tzwang a31b79c33c modelarts create notebook接口调整 2023-05-13 11:42:14 +08:00
tzwang e51990d7d8 modelarts notebook接口bug调整 2023-05-12 18:26:31 +08:00
tzwang 14068d0ef9 modelarts notebook接口参数调整 2023-05-12 15:40:10 +08:00
tzwang 5d7a6e2700 octopus 返回参数调整 2023-05-12 09:30:32 +08:00
tzwang 830fc3ec65 鉴权参数调整 2023-05-11 18:20:28 +08:00
tzwang 15f723807a modelarts listnotebook 参数调整 2023-05-11 18:04:02 +08:00
tzwang c1fc814736 octopus 添加创建image,删除image接口 2023-05-11 10:55:13 +08:00
devad 74d5942ae3 fix: pcmcore.yaml命名空间修复
Signed-off-by: devad <cossjie@foxmail.com>
2023-05-11 09:27:51 +08:00
tzwang c7b1a9b0d4 octopus 添加我的数据集列表接口 2023-05-10 17:56:37 +08:00
tzwang 3cdbbf1239 octopus 添加我的算法列表接口,notebook列表接口 2023-05-10 16:51:11 +08:00
tzwang 711454c41c octopus 添加用户镜像列表接口 2023-05-10 15:54:23 +08:00
devad 32c6bb764d fix: 修复modelarts路径问题
Signed-off-by: devad <cossjie@foxmail.com>
2023-05-10 12:45:24 +08:00
devad 58f40ecb53 fix: 修复service端口号问题
Signed-off-by: devad <cossjie@foxmail.com>
2023-05-10 12:44:22 +08:00
tzwang bec7722adc core cpu,内存, 存储接口汇总 2023-05-05 18:04:36 +08:00
tzwang cb8a955c33 曙光 cpu,内存, 存储接口调整 2023-05-05 11:36:00 +08:00
tzwang cfbf4a2810 octopus cpu,内存接口调整 2023-05-04 11:37:03 +08:00
qiwang b178f9ecdd fix:增加大屏数据代码到2.0分支 2023-04-28 12:55:17 +08:00
zhangwei a06028d87c core 返回统一 2023-04-27 16:57:11 +08:00
zhangwei adeacc8b3f 定时任务代码简化 2023-04-27 16:14:40 +08:00
zhouqunjie dbd3eb0139 天河对接完成 2023-04-27 00:43:52 -07:00
zhangwei 7c1d1372e6 pcm-core任务查询条件修改 2023-04-27 15:01:35 +08:00
zhangwei 9a83185142 pcm-core任务状态同步方式修改 2023-04-27 14:51:56 +08:00
zhangwei 74931f6c48 对接天河 2023-04-27 14:39:22 +08:00
qiwang 5af20bdc0f fix:增加大屏数据代码到2.0分支 2023-04-27 11:26:23 +08:00
qiwang 49338393b0 fix:增加大屏数据代码到2.0分支 2023-04-27 10:09:38 +08:00
tzwang fdbe177c63 算力接口、配置调整 2023-04-26 17:28:21 +08:00
tzwang 9471d0cb71 redis add go mod 2023-04-26 15:17:58 +08:00
tzwang 61d758348c Merge remote-tracking branch 'origin/2.0' into 2.0
# Conflicts:
#	adaptor/PCM-STORAGE/PCM-CEPH/rpc/Dockerfile
2023-04-26 15:14:35 +08:00
tzwang 93c5172d32 octopus算力写redis代码 2023-04-26 15:13:26 +08:00
devad fe515a3f76 feat: 增加pcm-ceph容器话配置文件
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-26 14:58:56 +08:00
devad 98d525fed5 feat: 增加pcm-ceph容器话配置文件
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-26 14:51:20 +08:00
qiwang c6615bab53 fix:增加大屏数据代码到2.0分支 2023-04-26 11:25:43 +08:00
tzwang 48250e6eb8 octopus算力接口调整 2023-04-25 18:35:44 +08:00
qiwang f55f041fef fix:增加大屏数据代码到2.0分支 2023-04-25 17:25:42 +08:00
qiwang e89c7df2b8 fix:增加大屏数据代码到2.0分支 2023-04-25 17:24:53 +08:00
qiwang ca851957cd fix:增加大屏数据代码到2.0分支 2023-04-24 19:47:09 +08:00
devad 5c81859ab0 fix: 配置信息修改
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-24 18:55:59 +08:00
devad 5108321cb3 fix: 配置信息修改
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-24 18:42:37 +08:00
zhangwei b2f439ad0b 配置信息修改 2023-04-24 18:27:05 +08:00
zhangwei dfb9001767 配置信息修改 2023-04-24 18:24:49 +08:00
devad bcce4c27f0 fix: 域资源数据使用量
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-24 17:41:54 +08:00
devad c87a9c42d3 fix: 域资源数据使用量
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-24 17:10:09 +08:00
devad 7e2c15b452 fix: 域资源数据
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-24 16:45:29 +08:00
894646498@qq.com 7d53d2607c 任务列表协调状态枚举修改 2023-04-24 15:58:18 +08:00
ll15074821352 98e56b5860 ai 公共参数添加 2023-04-24 15:32:36 +08:00
ll15074821352 fff57f74d4 Merge remote-tracking branch 'origin/2.0' into 2.0_lee_2.0 2023-04-24 15:31:39 +08:00
894646498@qq.com 150f38f9a4 core端定时任务更新主表状态 2023-04-24 15:27:27 +08:00
ll15074821352 8e020f148c ai 公共参数添加 2023-04-24 14:49:49 +08:00
ll15074821352 ebf098a940 Merge remote-tracking branch 'origin/2.0' into 2.0_lee_2.0 2023-04-24 14:49:01 +08:00
894646498@qq.com e9a6f198ef 任务列表查询修改 2023-04-24 13:42:10 +08:00
894646498@qq.com 867daa881d 任务列表查询修改 2023-04-24 11:29:55 +08:00
ll15074821352 23c397b2f7 Merge remote-tracking branch 'origin/2.0' into 2.0_lee_2.0 2023-04-24 11:24:36 +08:00
devad 82d0be2c9c fix: nacoc配置修复
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-24 09:38:31 +08:00
ll15074821352 c6159d1d2f Merge remote-tracking branch 'origin/2.0' into 2.0_lee_2.0 2023-04-24 09:25:54 +08:00
qiwang d689fa5af7 fix:增加大屏数据代码到2.0分支 2023-04-23 17:36:39 +08:00
ll15074821352 d22454f30c Merge remote-tracking branch 'origin/2.0' into 2.0_lee_2.0 2023-04-23 17:26:06 +08:00
894646498@qq.com 167cbff3a6 任务结构调整 2023-04-23 17:20:27 +08:00
tzwang d641cb7ce5 core算力接口调整 2023-04-23 16:58:36 +08:00
ll15074821352 aacd2deeba Merge remote-tracking branch 'origin/2.0' into 2.0_lee_2.0
# Conflicts:
#	adaptor/PCM-HPC/PCM-TH/rpc/etc/hpcth.yaml
2023-04-23 15:33:26 +08:00
tzwang 485d40bb19 ac算力接口参数调整 2023-04-23 11:22:00 +08:00
tzwang 72931e075c Merge remote-tracking branch 'origin/2.0' into 2.0 2023-04-23 09:19:54 +08:00
qiwang 9486c5c8f4 fix:增加大屏数据代码到2.0分支 2023-04-21 17:30:41 +08:00
tzwang e7df99ca03 Merge remote-tracking branch 'origin/2.0' into 2.0 2023-04-21 09:12:00 +08:00
qiwang fdf44058e4 fix:增加大屏数据代码到2.0分支 2023-04-20 19:03:09 +08:00
tzwang 38a8a0aa12 Merge remote-tracking branch 'origin/2.0' into 2.0 2023-04-20 17:21:21 +08:00
qiwang 5bb8fdb0f9 fix:增加大屏数据代码到2.0分支 2023-04-20 17:20:33 +08:00
tzwang 3e32d727e9 算力接口参数调整 2023-04-20 17:20:19 +08:00
tzwang 743e3396db 添加算力统计接口 2023-04-20 16:18:19 +08:00
894646498@qq.com 84c6673f52 大球数据中心 2023-04-20 16:08:20 +08:00
894646498@qq.com a6aa4c93d4 定时任务代码迁移 2023-04-20 15:47:47 +08:00
894646498@qq.com 42359a151c 提交任务bug修复 2023-04-20 15:16:12 +08:00
894646498@qq.com 1f43569d85 gorm替换sqlx 2023-04-20 09:19:30 +08:00
qiwang c3175ae308 fix:增加大屏数据代码到2.0分支 2023-04-19 18:10:25 +08:00
tzwang 62505787cd 修改octopus配置 2023-04-19 17:34:41 +08:00
devad de0e0c87b1 fix: nacoc地址更改
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-19 17:03:29 +08:00
devad 7e163db09c fix: 修复nacoc初始化加载缓存问题
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-19 11:51:29 +08:00
devad a2256329cc fix: 修复nacoc初始化加载缓存问题
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-19 10:59:19 +08:00
devad e7f3eb33ad feat: 添加nacos作为注册中心和配置中心
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-18 16:19:05 +08:00
ll15074821352 0b07531b60 modelArts对接完成 2023-04-18 09:09:56 +08:00
ll15074821352 8d2e1aad0d 智算更新消息 2023-04-17 19:42:08 +08:00
tzwang 544b4b3c0e 修改配置 2023-04-17 15:54:49 +08:00
devad 0c073bab79 feat: 添加日志处理
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-13 18:14:30 +08:00
devad a8a97e43e9 Merge remote-tracking branch 'origin/2.0' into 2.0 2023-04-13 17:38:35 +08:00
qiwang 8e827d5512 fix:增加modelarts数据集代码到2.0分支 2023-04-13 16:44:28 +08:00
qiwang 1018f11443 fix:增加modelarts数据集代码到2.0分支 2023-04-13 16:44:17 +08:00
devad 093d1f3c1c Merge remote-tracking branch 'origin/2.0' into 2.0 2023-04-13 16:00:52 +08:00
zhangwei 07bc7f4288 task主表新增服务名称字段 2023-04-12 17:28:54 +08:00
zhangwei 801a1fc35c 大屏查询接口 2023-04-12 17:19:32 +08:00
devad b4569347a1 feat: goctl template 修改
Signed-off-by: devad <cossjie@foxmail.com>
2023-04-10 15:22:58 +08:00
qiwang 6adeea36f4 fix:增加modelarts数据集代码到2.0分支 2023-04-10 12:17:55 +08:00
zhangwei 9ccd9d5aa5 core yaml文件修改 2023-04-10 10:55:21 +08:00
zhangwei cfec6ac00e ac对接core 2023-04-10 10:54:45 +08:00
ll15074821352 948f7d91db Changes 2023-04-10 09:25:18 +08:00
tzwang 44f92784f9 删除request body关闭 2023-04-08 11:25:07 +08:00
tzwang 1e18a53bb1 获取算力rpc调整 2023-04-07 17:35:59 +08:00
tzwang 40986da1ee Merge remote-tracking branch 'origin/2.0' into 2.0 2023-04-07 17:34:38 +08:00
qiwang ea45737228 fix:增加modelarts数据集代码到2.0分支 2023-04-07 16:27:05 +08:00
tzwang 302f6e84bf Merge remote-tracking branch 'origin/2.0' into 2.0 2023-04-07 14:59:54 +08:00
ll15074821352 8c68308328 Changes 2023-04-06 16:54:44 +08:00
ll15074821352 631808b470 Changes 2023-04-06 16:16:27 +08:00
ll15074821352 f5cf33674d Changes 2023-04-06 16:14:22 +08:00
tzwang 6122e90aac Merge remote-tracking branch 'origin/2.0' into 2.0 2023-04-06 10:24:51 +08:00
tzwang 0475c2cb1e 获取算力rpc调整参数 2023-04-06 10:24:08 +08:00
devad b4f8f94cc9 refactor: delete .devops/pcm-kubenative.yml 2023-04-06 10:23:41 +08:00
devad 20e626658e refactor: delete .devops/pcm-ac-rpc.yml 2023-04-06 10:23:37 +08:00
tzwang d9a02a8b77 启智octopus获取算力rpc 2023-04-06 10:10:09 +08:00
devad 772fe565cb refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:58:47 +08:00
devad 2feceb0108 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:56:30 +08:00
devad 4dda2a51fd refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:51:15 +08:00
devad fff6401c28 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:48:38 +08:00
devad 24f83d76a0 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:47:17 +08:00
devad 07a85e63f2 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:42:23 +08:00
zhangwei 0edbbd7566 hpcac对接 2023-04-06 09:42:15 +08:00
devad d7a9f0c471 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:40:23 +08:00
devad 0c988042e5 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:40:22 +08:00
devad c1833f76d6 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:38:27 +08:00
devad fd513666cd refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:36:30 +08:00
devad c41b365ebc refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:29:20 +08:00
devad 3523bb166c refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:25:47 +08:00
devad 5f197977d7 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:15:39 +08:00
devad 75278a98c0 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:13:36 +08:00
devad 44512362d6 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:09:53 +08:00
devad 0dc46b384b refactor: .devops/pcm-ac-rpc.yml 2023-04-06 09:07:27 +08:00
devad de0f176946 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 08:52:11 +08:00
devad fb2a5f63d8 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 08:52:09 +08:00
devad c60a02d5a8 refactor: .devops/pcm-ac-rpc.yml 2023-04-06 08:48:29 +08:00
devad 27d89738da refactor: .devops/pcm-ac-rpc.yml 2023-04-04 17:33:01 +08:00
devad a0718bc366 refactor: .devops/pcm-ac-rpc.yml 2023-04-04 17:27:38 +08:00
devad 70a4c31249 refactor: .devops/pcm-ac-rpc.yml 2023-04-04 17:26:34 +08:00
devad 130395bb7c feat: .devops/pcm-ac-rpc.yml 2023-04-04 17:24:48 +08:00
devad 055345750b refactor: .devops/pcm-kubenative.yml 2023-04-04 17:04:20 +08:00
devad f92b924367 refactor: .devops/pcm-kubenative.yml 2023-04-04 17:02:01 +08:00
devad bf11624679 refactor: .devops/pcm-kubenative.yml 2023-04-04 16:59:30 +08:00
devad be3ba23f8e refactor: .devops/pcm-kubenative.yml 2023-04-04 16:50:45 +08:00
devad 42e25910ad refactor: .devops/pcm-kubenative.yml 2023-04-04 16:48:11 +08:00
devad a79557c732 refactor: .devops/pcm-kubenative.yml 2023-04-04 16:40:56 +08:00
devad 0698ffb367 refactor: .devops/pcm-kubenative.yml 2023-04-04 16:39:07 +08:00
zhangwei b1ae9d0822 Merge remote-tracking branch 'origin/2.0' into 2.0 2023-04-04 16:26:17 +08:00
zhangwei 0becb42b3e kubeNative 修改 2023-04-04 16:26:09 +08:00
devad 6279a72d22 refactor: .devops/pcm-kubenative.yml 2023-04-04 16:10:57 +08:00
qiwang f9c54b0b50 Merge remote-tracking branch 'origin/2.0' into 2.0 2023-04-04 15:52:40 +08:00
qiwang 93488a3f01 fix:修改modelarts 数据集代码到2.0分支 2023-04-04 15:52:24 +08:00
devad 238bc86d70 refactor: .devops/pcm-kubenative.yml 2023-04-04 15:38:40 +08:00
devad 4d0d67b0b8 refactor: .devops/pcm-kubenative.yml 2023-04-04 15:35:51 +08:00
devad c4542b1036 refactor: .devops/pcm-kubenative.yml 2023-04-04 15:31:41 +08:00
devad 6ffaa3793a refactor: .devops/pcm-kubenative.yml 2023-04-04 15:28:49 +08:00
devad ed7440b81f refactor: .devops/pcm-kubenative.yml 2023-04-04 15:26:31 +08:00
devad fe8439f89b refactor: .devops/pcm-kubenative.yml 2023-04-04 15:21:01 +08:00
devad 361ee14f57 refactor: .devops/pcm-kubenative.yml 2023-04-04 15:19:39 +08:00
devad 8e5c0d262e refactor: .devops/pcm-kubenative.yml 2023-04-04 15:17:44 +08:00
devad 1ad6ba78d7 refactor: .devops/pcm-kubenative.yml 2023-04-04 11:50:51 +08:00
devad c256aec960 refactor: .devops/pcm-kubenative.yml 2023-04-04 11:48:17 +08:00
devad 9a70e23b78 refactor: .devops/pcm-kubenative.yml 2023-04-04 11:42:36 +08:00
devad 4180dc85b2 refactor: .devops/pcm-kubenative.yml 2023-04-04 11:38:21 +08:00
devad 71ef5fd106 refactor: .devops/pcm-kubenative.yml 2023-04-04 11:31:54 +08:00
devad 19187ed23a refactor: .devops/pcm-kubenative.yml 2023-04-04 11:28:29 +08:00
devad 73f039824e refactor: .devops/pcm-kubenative.yml 2023-04-04 11:25:29 +08:00
devad 55761ff9fb refactor: .devops/pcm-kubenative.yml 2023-04-04 11:20:51 +08:00
devad fcac7fb65b refactor: .devops/pcm-kubenative.yml 2023-04-04 11:19:22 +08:00
devad 71b035d5cd feat: .devops/pcm-kubenative.yml 2023-04-04 11:12:43 +08:00
devad 4c0b976daa refactor: delete .devops/pcm-core-rpc.yml 2023-04-04 11:04:04 +08:00
devad 5afe035fdb feat: .devops/pcm-core-rpc.yml 2023-04-04 11:01:46 +08:00
devad 4e732db8c7 refactor: delete .devops/pcm-core-rpc.yml 2023-04-04 11:01:35 +08:00
devad fc04acf538 refactor: .devops/pcm-core-rpc.yml 2023-04-04 10:40:26 +08:00
devad d47c3516f5 refactor: .devops/pcm-core-rpc.yml 2023-04-04 10:31:14 +08:00
devad 78d191ea16 feat: .devops/pcm-core-rpc.yml 2023-04-04 10:24:09 +08:00
qiwang 2b7863e621 fix:提交2.0分支代码 2023-04-03 17:15:01 +08:00
devad e4f576ae50 feat: Add pcm-core-rpc cicd 2023-04-03 16:44:58 +08:00
qiwang cc5cbc9cc3 fix:提交2.0分支代码 2023-04-03 16:25:28 +08:00
ll15074821352 dc413d0648 Merge branch '2.0_lee_2.0' into 2.0
# Conflicts:
#	adaptor/PCM-CORE/api/pcm.go
2023-04-03 15:49:39 +08:00
ll15074821352 a2cec1e742 Changes 2023-04-03 15:30:28 +08:00
ll15074821352 9b16b2c5d9 更新modelarts返回接口 2023-04-03 11:22:00 +08:00
zw 905c8b6dc5 k8s拉取core任务列表 2023-03-31 16:56:34 +08:00
qiwang 85d4e820a8 fix:提交数据集代码 2023-03-31 16:53:03 +08:00
lee 4cb53d55eb modelarts返回参数调整 2023-03-31 15:30:48 +08:00
lee 88476999f2 modelarts返回参数调整 2023-03-29 19:39:56 +08:00
lee ebfca654ce modelarts返回参数调整 2023-03-28 17:13:33 +08:00
lee 1c33117950 modelarts返回参数调整 2023-03-28 16:57:51 +08:00
lee 30b0c97a86 modelarts返回参数调整 2023-03-28 16:39:55 +08:00
363 changed files with 47748 additions and 12206 deletions

3
.gitignore vendored
View File

@ -31,6 +31,3 @@ configs/tenanter.yaml
log/
/go_build_gitlink_org_cn_JCCE_PCM
/adaptor/PCM-K8S/PCM-K8S-NATIVE/rpc/kubenative/
/adaptor/PCM-K8S/PCM-K8S-NATIVE/rpc/kubenativeclient/
/adaptor/PCM-K8S/PCM-K8S-NATIVE/rpc/internal/server/

View File

@ -1,15 +1,21 @@
pcm-core:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o pcm-core adaptor/PCM-CORE/api/pcm.go
pcm-core-api:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o pcm-core-api adaptor/PCM-CORE/api/pcm.go
pcm-ac:
pcm-core-rpc:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o pcm-core-rpc adaptor/PCM-CORE/rpc/pcmcore.go
pcm-ac-rpc:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o pcm-ac adaptor/PCM-HPC/PCM-AC/rpc/hpcac.go
pcm-kubeNative:
pcm-kubenative-rpc:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o pcm-kubenative adaptor/PCM-K8S/PCM-K8S-NATIVE/rpc/pcmkubenative.go
pcm-modelarts:
pcm-modelarts-rpc:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o pcm-modelarts adaptor/PCM-AI/PCM-MODELARTS/rpc/pcmmodelarts.go
all-build: pcm-core pcm-ac pcm-kubeNative pcm-modelarts
pcm-ceph-rpc:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o pcm-ceph adaptor/PCM-STORAGE/PCM-CEPH/rpc/pcmceph.go
.PHONY: pcm-core pcm-ac pcm-kubeNative pcm-modelarts
all-build: pcm-core-rpc pcm-core-api pcm-ac-rpc pcm-kubenative-rpc pcm-modelarts-rpc pcm-ceph-rpc
.PHONY: pcm-core-rpc pcm-core-api pcm-ac-rpc pcm-kubenative-rpc pcm-modelarts-rpc pcm-ceph-rpc

View File

@ -0,0 +1,2 @@
rpc-gen:
goctl rpc protoc ./pb/*.proto --go_out=./ --go-grpc_out=./ --zrpc_out=.

View File

@ -1,10 +1,15 @@
Name: modelarts.rpc
ListenOn: 0.0.0.0:2003
Etcd:
Hosts:
- 10.101.15.170:31890
Key: modelarts.rpc
User: root
Pass: I9wLvrRufj
modelartsUrl: "https://modelarts.cn-north-4.myhuaweicloud.com/"
NacosConfig:
DataId: pcm-modelarts-rpc.yaml
Group: DEFAULT_GROUP
ServerConfigs:
# - IpAddr: 127.0.0.1
# Port: 8848
- IpAddr: 10.101.15.7
Port: 8848
ClientConfig:
NamespaceId: test
TimeoutMs: 5000
NotLoadCacheAtStart: true
LogDir:
CacheDir:
LogLevel: debug

View File

@ -38,7 +38,6 @@ func GenerateToken() (string, time.Time) {
if err != nil {
log.Fatal(err)
}
defer req_url.Body.Close()
c := http.Client{Timeout: time.Duration(3) * time.Second}

View File

@ -64,3 +64,8 @@ type Auth struct {
} `json:"scope"`
} `json:"auth"`
}
type Error struct {
ErrorCode string `json:"error_code"`
ErrorMsg string `json:"error_msg"`
}

View File

@ -7,5 +7,7 @@ import (
type Config struct {
zrpc.RpcServerConf
LogConf logx.LogConf
LogConf logx.LogConf
PcmCoreRpcConf zrpc.RpcClientConf
ModelArtsConfig
}

View File

@ -0,0 +1,15 @@
package config
type ModelArtsConfig struct {
ModelArtsUrl string `json:"ModelArtsUrl"`
IAMUser string `json:"IAMUser"`
NanjingModelArtsUrl string `json:"NanjingModelArtsUrl"`
AK string `json:"AK"`
SK string `json:"SK"`
XProjectId string `json:"X-Project-Id"`
XDomainId string `json:"X-Domain-Id"`
HaweiModelArtsType string `json:"HaweiModelArtsType"`
NanjingModelArtsType string `json:"NanjingModelArtsType"`
HuaweiProjectId string `json:"Huawei-Project-Id"`
NanjingProjectId string `json:"Nanjing-Project-Id"`
}

View File

@ -5,9 +5,14 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"bytes"
"context"
"encoding/json"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"github.com/zeromicro/go-zero/core/logx"
"io/ioutil"
"net/http"
"strings"
)
@ -28,21 +33,63 @@ func NewCreateAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *C
// CreateAlgorithm 创建算法
func (l *CreateAlgorithmLogic) CreateAlgorithm(in *modelarts.CreateAlgorithmReq) (*modelarts.CreateAlgorithmResp, error) {
var resp modelarts.CreateAlgorithmResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/algorithms"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 201 {
json.Unmarshal(body, &resp.Resp200)
} else if statusCode == 400 {
json.Unmarshal(body, &resp.Resp400)
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/algorithms"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 201 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode == 400 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
XDomainId := l.svcCtx.Config.XDomainId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/algorithms",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("X-Domain-Id", XDomainId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -2,13 +2,17 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"k8s.io/apimachinery/pkg/util/json"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
"github.com/zeromicro/go-zero/core/logx"
)
@ -31,20 +35,56 @@ func NewCreateDataSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Cre
func (l *CreateDataSetLogic) CreateDataSet(in *modelarts.CreateDataSetReq) (*modelarts.CreateDataSetResq, error) {
// todo: add your logic here and delete this line
var resp modelarts.CreateDataSetResq
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/datasets"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if &resp == nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if &resp == nil {
return nil, err
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -7,15 +7,18 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"k8s.io/apimachinery/pkg/util/json"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"github.com/zeromicro/go-zero/core/logx"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
)
type CreateModelLogic struct {
@ -36,17 +39,53 @@ func NewCreateModelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Creat
func (l *CreateModelLogic) CreateModel(in *modelarts.CreateModelReq) (*modelarts.CreateModelResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.CreateModelResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/models"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/models"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/models",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -2,15 +2,17 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"encoding/json"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"github.com/zeromicro/go-zero/core/logx"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
)
type CreateNotebookLogic struct {
@ -28,19 +30,76 @@ func NewCreateNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Cr
}
func (l *CreateNotebookLogic) CreateNotebook(in *modelarts.CreateNotebookReq) (*modelarts.CreateNotebookResp, error) {
var resp modelarts.CreateNotebookResp
createUrl := "https://modelarts.cn-east-3.myhuaweicloud.com/v1/{project_id}/notebooks"
createUrl = strings.Replace(createUrl, "{project_id}", in.ProjectId, -1)
reqByte, err := json.Marshal(in.Param)
if err != nil {
panic(err.Error())
resp := &modelarts.CreateNotebookResp{}
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
createUrl := modelArtsUrl + "v1/{project_id}/notebooks"
token := common.GetToken()
var createResp modelarts.NotebookResp
req := tool.GetACHttpRequest()
res, err := req.
SetHeader("x-auth-token", token).
SetPathParam("project_id", in.ProjectId).
SetBody(in.Param).
SetResult(&createResp).
Post(createUrl)
if err != nil {
return nil, err
}
if res.StatusCode() == 200 || res.StatusCode() == 201 {
resp.NotebookResp = &createResp
resp.Code = int32(res.StatusCode())
resp.Msg = "Success"
} else {
resp.Code = int32(res.StatusCode())
resp.Msg = "Failure"
var errMsg common.Error
err := json.Unmarshal(res.Body(), &errMsg)
if err != nil {
errMsg.ErrorMsg = ""
}
resp.ErrorMsg = errMsg.ErrorMsg
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, createUrl, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp.NotebookResp)
return &resp, nil
return resp, nil
}

View File

@ -8,8 +8,13 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -36,17 +41,52 @@ func NewCreateProcessorTaskLogic(ctx context.Context, svcCtx *svc.ServiceContext
func (l *CreateProcessorTaskLogic) CreateProcessorTask(in *modelarts.CreateProcessorTaskReq) (*modelarts.CreateProcessorTaskResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.CreateProcessorTaskResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/processor-tasks/"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/processor-tasks/"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/processor-tasks/",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -10,8 +10,13 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"bytes"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"github.com/zeromicro/go-zero/core/logx"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
)
@ -37,21 +42,61 @@ func NewCreateServiceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Cre
func (l *CreateServiceLogic) CreateService(in *modelarts.CreateServiceReq) (*modelarts.CreateServiceResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.CreateServiceResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/services"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
} else {
json.Unmarshal(body, &resp.Resp400)
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/services"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/services",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -3,8 +3,13 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -30,22 +35,61 @@ func NewCreateTaskLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Create
// creat task 创建导入任务
func (l *CreateTaskLogic) CreateTask(in *modelarts.ImportTaskDataReq) (*modelarts.ImportTaskDataResp, error) {
var resp modelarts.ImportTaskDataResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/datasets/" + in.DatasetId + "/import-tasks"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets/" + in.DatasetId + "/import-tasks"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets"+in.DatasetId+"/import-tasks",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
} else if statusCode == 400 {
json.Unmarshal(body, &resp.Resp400)
}
return &resp, nil
}

View File

@ -3,8 +3,13 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -30,20 +35,55 @@ func NewCreateTrainingJobConfigLogic(ctx context.Context, svcCtx *svc.ServiceCon
// CreateTrainingJobConfig 创建训练作业参数
func (l *CreateTrainingJobConfigLogic) CreateTrainingJobConfig(in *modelarts.CreateTrainingJobConfigReq) (*modelarts.CreateTrainingJobConfigResp, error) {
var resp modelarts.CreateTrainingJobConfigResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/training-job-configs"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if &resp == nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/training-job-configs"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if &resp == nil {
return nil, err
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/training-job-configs",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -2,13 +2,17 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"k8s.io/apimachinery/pkg/util/json"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
"github.com/zeromicro/go-zero/core/logx"
)
@ -30,22 +34,64 @@ func NewCreateTrainingJobLogic(ctx context.Context, svcCtx *svc.ServiceContext)
// CreateTrainingJob 创建训练作业
func (l *CreateTrainingJobLogic) CreateTrainingJob(in *modelarts.CreateTrainingJobReq) (*modelarts.CreateTrainingJobResp, error) {
var resp modelarts.CreateTrainingJobResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/training-jobs"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 201 {
json.Unmarshal(body, &resp.Resp201)
} else if statusCode == 400 {
json.Unmarshal(body, &resp.Resp400)
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/training-jobs"
//url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/0a62ffb0d48026c12fbfc011b8d23f0b/training-jobs"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 201 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 201 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
XDomainId := l.svcCtx.Config.XDomainId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/training-jobs",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("X-Domain-Id", XDomainId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -3,8 +3,13 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"bytes"
"context"
"encoding/json"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -29,19 +34,55 @@ func NewCreateVisualizationJobLogic(ctx context.Context, svcCtx *svc.ServiceCont
func (l *CreateVisualizationJobLogic) CreateVisualizationJob(in *modelarts.CreateVisualizationJobReq) (*modelarts.CreateVisualizationJobResp, error) {
var resp modelarts.CreateVisualizationJobResp
createVisualJobUrl := "https://modelarts.cn-east-3.myhuaweicloud.com/v1/{project_id}/visualization-jobs"
createVisualJobUrl = strings.Replace(createVisualJobUrl, "{project_id}", in.ProjectId, -1)
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
createVisualJobUrl := modelArtsUrl + "/v1/{project_id}/visualization-jobs"
createVisualJobUrl = strings.Replace(createVisualJobUrl, "{project_id}", in.ProjectId, -1)
reqByte, err := json.Marshal(in.Param)
if err != nil {
panic(err.Error())
reqByte, err := json.Marshal(in.Param)
if err != nil {
panic(err.Error())
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, createVisualJobUrl, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/visualization-jobs",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, createVisualJobUrl, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -0,0 +1,112 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/adaptor/PCM-CORE/rpc/pcmcoreclient"
"context"
"github.com/zeromicro/go-zero/core/logx"
"time"
)
func InitCron(svc *svc.ServiceContext) {
submitJobLogic := NewCreateTrainingJobLogic(context.Background(), svc)
listLogic := NewGetListTrainingJobsLogic(context.Background(), svc)
svc.Cron.AddFunc("*/5 * * * * ?", func() {
syncInfoReq := pcmcoreclient.SyncInfoReq{
Kind: "ai",
ServiceName: "modelArts",
}
// 查询core端分发下来的任务列表
infoList, err := queryCoreInfoList(svc)
if err != nil {
logx.Error(err)
return
}
// 提交任务
submitJob(infoList, submitJobLogic)
// 查询运行中的任务列表同步信息 吧吧你 你
listReq := modelarts.ListTrainingJobsreq{
ProjectId: "0a62ffb0d48026c12fbfc011b8d23f0b",
Limit: 10,
OffSet: 0,
ModelArtsType: "cn-north-4.myhuawei",
}
listJob, err := listLogic.GetListTrainingJobs(&listReq)
if err != nil {
logx.Error(err)
return
}
for index, _ := range infoList.AiInfoList {
for _, job := range listJob.Items {
if job.Metadata.Name == infoList.AiInfoList[index].Name {
infoList.AiInfoList[index].ProjectId = job.ProjectId
infoList.AiInfoList[index].JobId = job.Metadata.Id
createTime := time.Unix(int64(job.Metadata.CreateTime)/1000, 0)
infoList.AiInfoList[index].CreateTime = time.Time.String(createTime)
if job.Status.StartTime != 0 {
startTime := time.Unix(int64(job.Status.StartTime)/1000, 0)
infoList.AiInfoList[index].StartTime = time.Time.String(startTime)
}
infoList.AiInfoList[index].RunningTime = int64(job.Status.Duration) / 1000
infoList.AiInfoList[index].Status = job.Status.Phase
}
}
}
// 同步信息到core端
if len(infoList.AiInfoList) != 0 {
syncInfoReq.AiInfoList = infoList.AiInfoList
svc.PcmCoreRpc.SyncInfo(context.Background(), &syncInfoReq)
}
})
}
func submitJob(infoList *pcmcoreclient.InfoListResp, submitJobLogic *CreateTrainingJobLogic) {
for index, _ := range infoList.AiInfoList {
if infoList.AiInfoList[index].Status == "Saved" {
submitReq := modelarts.CreateTrainingJobReq{
ModelArtsType: "cn-north-4.myhuawei",
Kind: "job",
ProjectId: "0a62ffb0d48026c12fbfc011b8d23f0b",
Metadata: &modelarts.MetadataS{
Name: infoList.AiInfoList[index].Name,
WorkspaceId: "0",
Description: "This is a ModelArts Demo Job",
},
Algorithm: &modelarts.Algorithms{
Command: infoList.AiInfoList[index].Command,
Engine: &modelarts.EngineCreateTraining{
ImageUrl: infoList.AiInfoList[index].ImageUrl,
},
},
Spec: &modelarts.SpecsC{
Resource: &modelarts.ResourceCreateTraining{
FlavorId: infoList.AiInfoList[index].FlavorId,
NodeCount: 1,
},
},
}
jobResult, _ := submitJobLogic.CreateTrainingJob(&submitReq)
if jobResult.Code == 200 {
infoList.AiInfoList[index].Status = jobResult.Status.Phase
infoList.AiInfoList[index].ProjectId = jobResult.Metadata.Id
} else {
infoList.AiInfoList[index].Result = "Failed"
infoList.AiInfoList[index].Result = jobResult.Msg
}
}
}
}
func queryCoreInfoList(svc *svc.ServiceContext) (*pcmcoreclient.InfoListResp, error) {
infoReq := pcmcoreclient.InfoListReq{
Kind: "ai",
ServiceName: "modelArts",
}
infoList, err := svc.PcmCoreRpc.InfoList(context.Background(), &infoReq)
if err != nil {
return nil, err
}
return infoList, nil
}

View File

@ -4,7 +4,11 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -29,21 +33,67 @@ func NewDeleteAlgorithmsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *
// DeleteAlgorithms 删除算法
func (l *DeleteAlgorithmsLogic) DeleteAlgorithms(in *modelarts.DeleteAlgorithmsReq) (*modelarts.DeleteAlgorithmsResp, error) {
var resp modelarts.DeleteAlgorithmsResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/algorithms/" + in.AlgorithmId
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/algorithms/" + in.AlgorithmId
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, payload, token)
if statusCode == 202 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 202 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
XDomainId := l.svcCtx.Config.XDomainId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/algorithms/"+in.AlgorithmId,
nil)
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("X-Domain-Id", XDomainId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
statusCode := res.StatusCode
if statusCode == 202 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 202 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.DELETE, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "success"
return &resp, nil
}

View File

@ -4,7 +4,11 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -31,17 +35,69 @@ func NewDeleteDataSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Del
func (l *DeleteDataSetLogic) DeleteDataSet(in *modelarts.DeleteDataSetReq) (*modelarts.DeleteDataSetResq, error) {
// todo: add your logic here and delete this line
var resp modelarts.DeleteDataSetResq
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/datasets/" + in.DatasetId
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets/" + in.DatasetId
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if err != nil {
return nil, err
}
if statusCode == 204 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 204 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.DatasetId,
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
statusCode := res.StatusCode
if statusCode == 202 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 202 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.DELETE, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -9,7 +9,11 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -35,17 +39,66 @@ func NewDeleteModelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Delet
func (l *DeleteModelLogic) DeleteModel(in *modelarts.DeleteModelReq) (*modelarts.DeleteModelResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.DeleteModelResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/models/" + in.ModelId
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/models/" + in.ModelId
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 202 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 202 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+in.ProjectId+"/models/"+in.ModelId,
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
statusCode := res.StatusCode
if statusCode == 202 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 202 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.DELETE, url, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -11,7 +11,11 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"github.com/zeromicro/go-zero/core/logx"
)
@ -31,19 +35,63 @@ func NewDeleteServiceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Del
}
func (l *DeleteServiceLogic) DeleteService(in *modelarts.DeleteServiceReq) (*modelarts.DeleteServiceResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.DeleteServiceResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/services/" + in.ServiceId
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
} else {
json.Unmarshal(body, &resp.Resp400)
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/services/" + in.ServiceId
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, nil, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+in.ProjectId+"/services/"+in.ServiceId,
nil)
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
statusCode := res.StatusCode
if statusCode == 202 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 202 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
}
return &resp, nil
}

View File

@ -6,7 +6,11 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
"github.com/zeromicro/go-zero/core/logx"
@ -29,15 +33,61 @@ func NewDeleteTrainingJobConfigLogic(ctx context.Context, svcCtx *svc.ServiceCon
// DeleteTrainingJobConfig 删除训练作业参数
func (l *DeleteTrainingJobConfigLogic) DeleteTrainingJobConfig(in *modelarts.DeleteTrainingJobConfigReq) (*modelarts.DeleteTrainingJobConfigResp, error) {
var resp modelarts.DeleteTrainingJobConfigResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/training-job-configs/" + in.ConfigName
token := common.GetToken()
body, err := tool.HttpClient(tool.DELETE, url, strings.NewReader(``), token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if &resp == nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/training-job-configs/" + in.ConfigName
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, strings.NewReader(``), token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/training-job-configs/"+in.ConfigName,
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
statusCode := res.StatusCode
if statusCode == 202 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 202 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
}
return &resp, nil
}

View File

@ -6,9 +6,13 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"strconv"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"github.com/zeromicro/go-zero/core/logx"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
)
type DeleteTrainingJobLogic struct {
@ -28,19 +32,68 @@ func NewDeleteTrainingJobLogic(ctx context.Context, svcCtx *svc.ServiceContext)
// DeleteTrainingJobConfig 删除训练作业
func (l *DeleteTrainingJobLogic) DeleteTrainingJob(in *modelarts.DeleteTrainingJobReq) (*modelarts.DeleteTrainingJobResp, error) {
var resp modelarts.DeleteTrainingJobResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/training-jobs/" + in.TrainingJobId
token := common.GetToken()
statusCode, err := tool.HttpClientStatusCode(tool.DELETE, url, nil, token)
if err != nil {
return nil, err
}
resp.ErrorCode = strconv.FormatInt(int64(statusCode), 10)
resp.ErrorMessage = err.Error()
if statusCode == 202 {
resp.IsSuccess = true
} else {
resp.IsSuccess = false
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/training-jobs/" + in.TrainingJobId
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 202 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 202 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
XDomainId := l.svcCtx.Config.XDomainId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/training-jobs/"+in.TrainingJobId,
nil)
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("X-Domain-Id", XDomainId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
statusCode := res.StatusCode
if statusCode == 202 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 202 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
}
return &resp, nil

View File

@ -11,7 +11,11 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"github.com/zeromicro/go-zero/core/logx"
)
@ -33,12 +37,46 @@ func NewDescribeProcessorTaskLogic(ctx context.Context, svcCtx *svc.ServiceConte
func (l *DescribeProcessorTaskLogic) DescribeProcessorTask(in *modelarts.DescribeProcessorTaskReq) (*modelarts.DescribeProcessorTaskResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.DescribeProcessorTaskResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/processor-tasks/" + in.TaskId
token := common.GetToken()
body, err := tool.HttpClient(tool.GET, url, nil, token)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/processor-tasks/" + in.TaskId
token := common.GetToken()
body, err := tool.HttpClient(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/processor-tasks/"+in.TaskId,
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -10,8 +10,13 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
_ "PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -33,23 +38,62 @@ func NewExportTaskLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Export
}
// ExportTask for modelarts
func (l *ExportTaskLogic) ExportTask(in *modelarts.ExportTaskReq) (*modelarts.ExportTaskResp, error) {
var resp modelarts.ExportTaskResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/datasets/" + in.DatasetId + "/export-tasks"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
} else {
json.Unmarshal(body, &resp.Resp400)
func (l *ExportTaskLogic) ExportTask(in *modelarts.ExportTaskReq) (*modelarts.ExportTaskDataResp, error) {
var resp modelarts.ExportTaskDataResp
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == "huawei" {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets/" + in.DatasetId + "/export-tasks"
reqByte, err := json.Marshal(in)
if err != nil {
return nil, err
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == "nanjing" {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.DatasetId+"/export-tasks",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -0,0 +1,89 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"github.com/zeromicro/go-zero/core/logx"
)
type GetAiEnginesListLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetAiEnginesListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAiEnginesListLogic {
return &GetAiEnginesListLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
// GET ai-engines 查询作业引擎规格
func (l *GetAiEnginesListLogic) GetAiEnginesList(in *modelarts.ListAiEnginesReq) (*modelarts.ListAiEnginesResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.ListAiEnginesResp
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/training-job-engines"
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
XDomainId := l.svcCtx.Config.XDomainId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/training-job-engines",
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("X-Domain-Id", XDomainId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -6,9 +6,13 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"github.com/zeromicro/go-zero/core/logx"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"log"
"net/http"
"strconv"
"strings"
)
@ -30,11 +34,63 @@ func NewGetDatasetListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Ge
func (l *GetDatasetListLogic) GetDatasetList(in *modelarts.DataSetReq) (*modelarts.DataSetResp, error) {
projectId := in.ProjectId
var resp modelarts.DataSetResp
token := common.GetToken()
reqUrl, err := tool.HttpClient(tool.GET, "https://modelarts.cn-north-4.myhuaweicloud.com/v2/"+projectId+"/datasets", strings.NewReader(``), token)
json.Unmarshal(reqUrl, &resp)
if err != nil {
log.Fatal(err)
offset := strconv.Itoa(int(in.Offset))
judgeLimit := strconv.Itoa(int(in.Limit))
var limit string
if judgeLimit != "0" {
limit = strconv.Itoa(int(in.Limit))
} else {
limit = "10"
}
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, modelArtsUrl+"v2/"+projectId+"/datasets?offset="+offset+"&"+"limit="+limit, strings.NewReader(``), token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets?offset="+offset+"&"+"limit="+limit,
nil)
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -10,7 +10,12 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strconv"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
@ -36,20 +41,66 @@ func NewGetExportTasksOfDatasetLogic(ctx context.Context, svcCtx *svc.ServiceCon
//}
func (l *GetExportTasksOfDatasetLogic) GetExportTasksOfDataset(in *modelarts.GetExportTasksOfDatasetReq) (*modelarts.GetExportTasksOfDatasetResp, error) {
var resp modelarts.GetExportTasksOfDatasetResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/datasets/" + in.DatasetId + "/export-tasks"
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
offset := strconv.Itoa(int(in.Offset))
judgeLimit := strconv.Itoa(int(in.Limit))
var limit string
if judgeLimit != "0" {
limit = strconv.Itoa(int(in.Limit))
} else {
json.Unmarshal(body, &resp.Resp400)
limit = "10"
}
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets/" + in.DatasetId + "/export-tasks?limit=" + limit + "&offset=" + offset
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 202 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.DatasetId+"/export-tasks?limit="+limit+"&offset="+offset,
nil)
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -9,7 +9,11 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
@ -32,20 +36,59 @@ func NewGetExportTaskStatusOfDatasetLogic(ctx context.Context, svcCtx *svc.Servi
}
func (l *GetExportTaskStatusOfDatasetLogic) GetExportTaskStatusOfDataset(in *modelarts.GetExportTaskStatusOfDatasetReq) (*modelarts.GetExportTaskStatusOfDatasetResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.GetExportTaskStatusOfDatasetResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/datasets/" + in.ResourceId + "/export-tasks/" + in.TaskId
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
} else {
json.Unmarshal(body, &resp.Resp400)
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets/" + in.ResourceId + "/export-tasks/" + in.TaskId
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.ResourceId+"/export-tasks/"+in.TaskId,
nil)
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -4,8 +4,12 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"log"
"net/http"
"strconv"
"strings"
@ -31,21 +35,65 @@ func NewGetImportTaskListLogic(ctx context.Context, svcCtx *svc.ServiceContext)
// find taskList 查询数据集导入任务列表
func (l *GetImportTaskListLogic) GetImportTaskList(in *modelarts.ListImportTasksReq) (*modelarts.ListImportTasksResp, error) {
datasetId := in.DatasetId
projectId := in.ProjectId
limit := strconv.Itoa(int(in.Limit))
offset := strconv.Itoa(int(in.Offset))
var resp modelarts.ListImportTasksResp
judgeLimit := strconv.Itoa(int(in.Limit))
offset := strconv.Itoa(int(in.Offset))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, "https://modelarts.cn-north-4.myhuaweicloud.com/v2/"+projectId+"/datasets/"+datasetId+"/import-tasks?limit="+limit+"&offset="+offset, strings.NewReader(``), token)
var limit string
if judgeLimit != "0" {
limit = strconv.Itoa(int(in.Limit))
} else {
limit = "10"
}
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, modelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.DatasetId+"/import-tasks?limit="+limit+"&offset="+offset, strings.NewReader(``), token)
if err != nil {
log.Fatal(err)
}
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
} else if statusCode == 400 {
json.Unmarshal(body, &resp.Resp400)
if err != nil {
log.Fatal(err)
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.DatasetId+"/import-tasks?limit="+limit+"&offset="+offset,
nil)
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -2,13 +2,17 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"k8s.io/apimachinery/pkg/util/json"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strconv"
"strings"
"github.com/zeromicro/go-zero/core/logx"
)
@ -30,18 +34,70 @@ func NewGetListTrainingJobsLogic(ctx context.Context, svcCtx *svc.ServiceContext
// get ListTrainingJobs1
func (l *GetListTrainingJobsLogic) GetListTrainingJobs(in *modelarts.ListTrainingJobsreq) (*modelarts.ListTrainingJobsresp, error) {
var resp modelarts.ListTrainingJobsresp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/training-job-searches"
reqByte, err := json.Marshal(in)
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
judgeLimit := strconv.Itoa(int(in.Limit))
offset := strconv.Itoa(int(in.OffSet))
var limit string
if judgeLimit != "0" {
limit = strconv.Itoa(int(in.Limit))
} else {
limit = "10"
}
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
} else if statusCode == 400 {
json.Unmarshal(body, &resp.Resp400)
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/training-job-searches?limit=" + limit + "&offset=" + offset
reqByte, err := json.Marshal(in)
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
for index, _ := range resp.Items {
resp.Items[index].ProjectId = in.ProjectId
}
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
XDomainId := l.svcCtx.Config.XDomainId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/training-job-searches?offset="+offset+"&"+"limit="+limit,
nil)
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("X-Domain-Id", XDomainId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -5,6 +5,10 @@ import (
"PCM/common/tool"
"context"
"encoding/json"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -29,19 +33,50 @@ func NewGetNotebookStorageLogic(ctx context.Context, svcCtx *svc.ServiceContext)
func (l *GetNotebookStorageLogic) GetNotebookStorage(in *modelarts.GetNotebookStorageReq) (*modelarts.GetNotebookStorageResp, error) {
var resp modelarts.GetNotebookStorageResp
getObsUrl := "https://modelarts.cn-east-3.myhuaweicloud.com/v1/{project_id}/notebooks/{instance_id}/storage"
getObsUrl = strings.Replace(getObsUrl, "{project_id}", in.ProjectId, -1)
getObsUrl = strings.Replace(getObsUrl, "{instance_id}", in.InstanceId, -1)
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
getObsUrl := modelArtsUrl + "v1/{project_id}/notebooks/{instance_id}/storage"
getObsUrl = strings.Replace(getObsUrl, "{project_id}", in.ProjectId, -1)
getObsUrl = strings.Replace(getObsUrl, "{instance_id}", in.InstanceId, -1)
token := common.GetToken()
var e struct{}
token := common.GetToken()
//empty struct
var e struct{}
body, err := tool.HttpClientWithQueries(tool.GET, getObsUrl, nil, token, e)
if err != nil {
return nil, err
body, err := tool.HttpClientWithQueries(tool.GET, getObsUrl, nil, token, e)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks"+in.InstanceId+"/storage",
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -0,0 +1,88 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"github.com/zeromicro/go-zero/core/logx"
)
type GetTrainingJobFlavorsLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetTrainingJobFlavorsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetTrainingJobFlavorsLogic {
return &GetTrainingJobFlavorsLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
// training-job-flavors 获取训练作业支持的公共规格
func (l *GetTrainingJobFlavorsLogic) GetTrainingJobFlavors(in *modelarts.TrainingJobFlavorsReq) (*modelarts.TrainingJobFlavorsResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.TrainingJobFlavorsResp
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/training-job-flavors?flavor_type=" + in.FlavorType
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
XDomainId := l.svcCtx.Config.XDomainId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/training-job-flavors?flavor_type="+in.FlavorType,
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("X-Domain-Id", XDomainId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -5,6 +5,10 @@ import (
"PCM/common/tool"
"context"
"encoding/json"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -30,15 +34,50 @@ func NewGetVisualizationJobLogic(ctx context.Context, svcCtx *svc.ServiceContext
// visualization-jobs
func (l *GetVisualizationJobLogic) GetVisualizationJob(in *modelarts.GetVisualizationJobReq) (*modelarts.GetVisualizationJobResp, error) {
var resp modelarts.GetVisualizationJobResp
getVisualJobUrl := "https://modelarts.cn-east-3.myhuaweicloud.com/v1/{project_id}/visualization-jobs"
getVisualJobUrl = strings.Replace(getVisualJobUrl, "{project_id}", in.ProjectId, -1)
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
getVisualJobUrl := modelArtsUrl + "v1/{project_id}/visualization-jobs"
getVisualJobUrl = strings.Replace(getVisualJobUrl, "{project_id}", in.ProjectId, -1)
token := common.GetToken()
token := common.GetToken()
body, err := tool.HttpClientWithQueries(tool.GET, getVisualJobUrl, nil, token, in.Param)
if err != nil {
return nil, err
body, err := tool.HttpClientWithQueries(tool.GET, getVisualJobUrl, nil, token, in.Param)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/visualization-jobs",
nil)
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -5,10 +5,14 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"bytes"
"context"
"github.com/bitly/go-simplejson"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"github.com/zeromicro/go-zero/core/logx"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strconv"
)
@ -30,17 +34,63 @@ func NewListAlgorithmsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Li
func (l *ListAlgorithmsLogic) ListAlgorithms(in *modelarts.ListAlgorithmsReq) (*modelarts.ListAlgorithmsResp, error) {
var resp modelarts.ListAlgorithmsResp
offset := strconv.Itoa(int(in.Offset))
limit := strconv.Itoa(int(in.Limit))
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/algorithms?offset=" + offset + "&" + "limit=" + limit
//reqByte, err := json.Marshal(in)
//payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.GET, url, nil, token)
if err != nil {
return nil, err
judgeLimit := strconv.Itoa(int(in.Limit))
var limit string
if judgeLimit != "0" {
limit = strconv.Itoa(int(in.Limit))
} else {
limit = "10"
}
modelArtsType := in.ModelArtsType
//根据智算类型判断走华为智算还是南京智算
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/algorithms?offset=" + offset + "&" + "limit=" + limit
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/algorithms?offset="+offset+"&"+"limit="+limit,
bytes.NewBuffer([]byte("foo=bar")))
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
jsonResult, err := simplejson.NewJson(body)
println(jsonResult)
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -9,7 +9,12 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strconv"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
@ -34,17 +39,60 @@ func NewListClustersLogic(ctx context.Context, svcCtx *svc.ServiceContext) *List
func (l *ListClustersLogic) ListClusters(in *modelarts.ListClustersReq) (*modelarts.ListClustersResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.ListClustersResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/clusters"
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
judgeLimit := strconv.Itoa(int(in.Limit))
offset := strconv.Itoa(int(in.Offset))
var limit string
if judgeLimit != "0" {
limit = strconv.Itoa(int(in.Limit))
} else {
json.Unmarshal(body, &resp.Resp400)
limit = "10"
}
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/clusters?limit=" + limit + "&offset=" + offset
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
} else {
json.Unmarshal(body, &resp.Resp400)
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/clusters?offset="+offset+"&"+"limit="+limit,
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -8,8 +8,13 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
@ -34,12 +39,50 @@ func NewListModelsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListMo
func (l *ListModelsLogic) ListModels(in *modelarts.ListModelReq) (*modelarts.ListModelResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.ListModelResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/models"
token := common.GetToken()
body, err := tool.HttpClient(tool.GET, url, nil, token)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/models"
token := common.GetToken()
body, err := tool.HttpClient(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
XDomainId := l.svcCtx.Config.XDomainId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/models",
bytes.NewBuffer([]byte("foo=bar")))
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("X-Domain-Id", XDomainId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -2,15 +2,16 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"context"
"encoding/json"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"github.com/zeromicro/go-zero/core/logx"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
)
type ListNotebookLogic struct {
@ -29,16 +30,72 @@ func NewListNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *List
// notebook task
func (l *ListNotebookLogic) ListNotebook(in *modelarts.ListNotebookReq) (*modelarts.ListNotebookResp, error) {
var resp modelarts.ListNotebookResp
getUrl := "https://modelarts.cn-east-3.myhuaweicloud.com/v1/{project_id}/notebooks"
getUrl = strings.Replace(getUrl, "{project_id}", in.ProjectId, -1)
resp := &modelarts.ListNotebookResp{}
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
getUrl := modelArtsUrl + "v1/{project_id}/notebooks"
token := common.GetToken()
token := common.GetToken()
queryMap := tool.ConvertStructToMap(in.Param)
body, err := tool.HttpClientWithQueries(tool.GET, getUrl, nil, token, in.Param)
if err != nil {
return nil, err
req := tool.GetACHttpRequest()
res, err := req.
SetHeader("x-auth-token", token).
SetPathParam("project_id", in.ProjectId).
SetQueryParams(queryMap).
SetResult(resp).
Get(getUrl)
if err != nil {
return nil, err
}
if res.StatusCode() != 200 {
resp.Code = int32(res.StatusCode())
resp.Msg = "Failure"
var errMsg common.Error
err := json.Unmarshal(res.Body(), &errMsg)
if err != nil {
errMsg.ErrorMsg = ""
}
resp.ErrorMsg = errMsg.ErrorMsg
} else {
resp.Code = int32(res.StatusCode())
resp.Msg = "Success"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks",
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
json.Unmarshal(body, &resp)
return &resp, nil
return resp, nil
}

View File

@ -10,10 +10,15 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"bytes"
"context"
"k8s.io/apimachinery/pkg/util/json"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"github.com/zeromicro/go-zero/core/logx"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strconv"
)
type ListServicesLogic struct {
@ -31,20 +36,64 @@ func NewListServicesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *List
}
func (l *ListServicesLogic) ListServices(in *modelarts.ListServicesReq) (*modelarts.ListServicesResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.ListServicesResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/services"
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
judgeLimit := strconv.Itoa(int(in.Limit))
offset := strconv.Itoa(int(in.OffSet))
var limit string
if judgeLimit != "0" {
limit = strconv.Itoa(int(in.Limit))
} else {
json.Unmarshal(body, &resp.Resp400)
limit = "10"
}
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/services?limit=" + limit + "&offset=" + offset
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/services?offset="+offset+"&"+"limit="+limit,
bytes.NewBuffer([]byte("foo=bar")))
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -5,10 +5,15 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"github.com/bitly/go-simplejson"
"github.com/zeromicro/go-zero/core/logx"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"strconv"
)
@ -31,14 +36,50 @@ func (l *ListTrainingJobConfigLogic) ListTrainingJobConfig(in *modelarts.ListTra
var resp modelarts.ListTrainingJobConfigResp
perPage := strconv.Itoa(int(in.PerPage))
page := strconv.Itoa(int(in.Page))
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/training-job-configs?" + perPage + "&" + page
token := common.GetToken()
body, err := tool.HttpClient(tool.GET, url, nil, token)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/training-job-configs?" + perPage + "&" + page
token := common.GetToken()
body, err := tool.HttpClient(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
jsonResult, err := simplejson.NewJson(body)
println(&jsonResult)
json.Unmarshal(body, &resp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/training-job-configs?"+perPage+"&"+page,
bytes.NewBuffer([]byte("foo=bar")))
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
jsonResult, err := simplejson.NewJson(body)
println(&jsonResult)
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -3,8 +3,13 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"bytes"
"context"
"encoding/json"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -29,20 +34,54 @@ func NewMountNotebookStorageLogic(ctx context.Context, svcCtx *svc.ServiceContex
func (l *MountNotebookStorageLogic) MountNotebookStorage(in *modelarts.MountNotebookStorageReq) (*modelarts.MountNotebookStorageResp, error) {
var resp modelarts.MountNotebookStorageResp
mountUrl := "https://modelarts.cn-east-3.myhuaweicloud.com/v1/{project_id}/notebooks/{instance_id}/storage"
mountUrl = strings.Replace(mountUrl, "{project_id}", in.ProjectId, -1)
mountUrl = strings.Replace(mountUrl, "{instance_id}", in.InstanceId, -1)
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
mountUrl := modelArtsUrl + "v1/{project_id}/notebooks/{instance_id}/storage"
mountUrl = strings.Replace(mountUrl, "{project_id}", in.ProjectId, -1)
mountUrl = strings.Replace(mountUrl, "{instance_id}", in.InstanceId, -1)
reqByte, err := json.Marshal(in.Param)
if err != nil {
panic(err.Error())
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, mountUrl, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks"+in.InstanceId+"/storage",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
reqByte, err := json.Marshal(in.Param)
if err != nil {
panic(err.Error())
}
payload := strings.NewReader(string(reqByte))
token := common.GetToken()
body, err := tool.HttpClient(tool.POST, mountUrl, payload, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -3,8 +3,13 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"bytes"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
@ -29,14 +34,58 @@ func NewShowAlgorithmByUuidLogic(ctx context.Context, svcCtx *svc.ServiceContext
// ShowAlgorithmByUuid 展示算法详情
func (l *ShowAlgorithmByUuidLogic) ShowAlgorithmByUuid(in *modelarts.ShowAlgorithmByUuidReq) (*modelarts.ShowAlgorithmByUuidResp, error) {
var resp modelarts.ShowAlgorithmByUuidResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/" + in.ProjectId + "/algorithms/" + in.AlgorithmId
token := common.GetToken()
body, err := tool.HttpClient(tool.GET, url, nil, token)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v2/" + in.ProjectId + "/algorithms/" + in.AlgorithmId
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
XDomainId := l.svcCtx.Config.XDomainId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/algorithms/"+in.AlgorithmId,
bytes.NewBuffer([]byte("foo=bar")))
if err != nil {
fmt.Println(err)
//return
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("X-Domain-Id", XDomainId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
json.Unmarshal(body, &resp)
resp.Code = int32(200)
resp.Msg = "Success"
return &resp, nil
}

View File

@ -11,7 +11,11 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"github.com/zeromicro/go-zero/core/logx"
)
@ -33,12 +37,47 @@ func NewShowModelsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowMo
func (l *ShowModelsLogic) ShowModels(in *modelarts.ShowModelReq) (*modelarts.ShowModelResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.ShowModelResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/models/" + in.ModelId
token := common.GetToken()
body, err := tool.HttpClient(tool.GET, url, nil, token)
if err != nil {
return nil, err
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/models/" + in.ModelId
token := common.GetToken()
body, err := tool.HttpClient(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/models/"+in.ModelId,
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
json.Unmarshal(body, &resp)
return &resp, nil
}

View File

@ -11,7 +11,11 @@ import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
"PCM/common/tool"
"context"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"k8s.io/apimachinery/pkg/util/json"
"net/http"
"github.com/zeromicro/go-zero/core/logx"
)
@ -33,17 +37,55 @@ func NewShowServiceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowS
func (l *ShowServiceLogic) ShowService(in *modelarts.ShowServiceReq) (*modelarts.ShowServiceResp, error) {
// todo: add your logic here and delete this line
var resp modelarts.ShowServiceResp
url := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/" + in.ProjectId + "/services/" + in.ServiceId
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp)
if statusCode == 200 {
json.Unmarshal(body, &resp.Resp200)
} else {
json.Unmarshal(body, &resp.Resp400)
//根据智算类型判断走华为智算还是南京智算
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
url := modelArtsUrl + "v1/" + in.ProjectId + "/services/" + in.ServiceId
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
json.Unmarshal(body, &resp)
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/services/"+in.ServiceId,
nil)
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
return &resp, nil
}

View File

@ -3,8 +3,13 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"bytes"
"context"
"encoding/json"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -29,15 +34,49 @@ func NewStartNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Sta
func (l *StartNotebookLogic) StartNotebook(in *modelarts.StartNotebookReq) (*modelarts.StartNotebookResp, error) {
var resp modelarts.StartNotebookResp
startUrl := "https://modelarts.cn-east-3.myhuaweicloud.com/v1/{project_id}/notebooks/{id}/start"
startUrl = strings.Replace(startUrl, "{project_id}", in.ProjectId, -1)
startUrl = strings.Replace(startUrl, "{id}", in.Id, -1)
token := common.GetToken()
body, err := tool.HttpClientWithQueries(tool.POST, startUrl, nil, token, in.Param)
if err != nil {
return nil, err
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
startUrl := modelArtsUrl + "v1/{project_id}/notebooks/{id}/start"
startUrl = strings.Replace(startUrl, "{project_id}", in.ProjectId, -1)
startUrl = strings.Replace(startUrl, "{id}", in.Id, -1)
token := common.GetToken()
body, err := tool.HttpClientWithQueries(tool.POST, startUrl, nil, token, in.Param)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp.NotebookResp)
} else if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks"+in.Id+"/start",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
json.Unmarshal(body, &resp.NotebookResp)
return &resp, nil
}

View File

@ -3,8 +3,13 @@ package logic
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
"PCM/common/tool"
"bytes"
"context"
"encoding/json"
"fmt"
"github.com/JCCE-nudt/apigw-go-sdk/core"
"io/ioutil"
"net/http"
"strings"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
@ -29,18 +34,50 @@ func NewStopNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Stop
func (l *StopNotebookLogic) StopNotebook(in *modelarts.StopNotebookReq) (*modelarts.StopNotebookResp, error) {
var resp modelarts.StopNotebookResp
stopUrl := "https://modelarts.cn-east-3.myhuaweicloud.com/v1/{project_id}/notebooks/{id}/stop"
stopUrl = strings.Replace(stopUrl, "{project_id}", in.ProjectId, -1)
stopUrl = strings.Replace(stopUrl, "{id}", in.Id, -1)
token := common.GetToken()
//empty struct
var e struct{}
body, err := tool.HttpClientWithQueries(tool.POST, stopUrl, nil, token, e)
if err != nil {
return nil, err
modelArtsType := in.ModelArtsType
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
stopUrl := modelArtsUrl + "v1/{project_id}/notebooks/{id}/stop"
stopUrl = strings.Replace(stopUrl, "{project_id}", in.ProjectId, -1)
stopUrl = strings.Replace(stopUrl, "{id}", in.Id, -1)
token := common.GetToken()
//empty struct
var e struct{}
body, err := tool.HttpClientWithQueries(tool.POST, stopUrl, nil, token, e)
if err != nil {
return nil, err
}
json.Unmarshal(body, &resp.NotebookResp)
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
AK := l.svcCtx.Config.AK
SK := l.svcCtx.Config.SK
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
XProjectId := l.svcCtx.Config.XProjectId
s := core.Signer{
Key: AK,
Secret: SK,
}
reqByte, err := json.Marshal(in)
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks"+in.Id+"/stop",
bytes.NewBuffer(reqByte))
if err != nil {
fmt.Println(err)
}
r.Header.Add("content-type", "application/json;charset=UTF-8")
r.Header.Add("X-Project-Id", XProjectId)
r.Header.Add("x-stage", "RELEASE")
s.Sign(r)
client := http.DefaultClient
res, err := client.Do(r)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
json.Unmarshal(body, &resp)
}
json.Unmarshal(body, &resp.NotebookResp)
return &resp, nil
}

View File

@ -118,8 +118,20 @@ func (s *ModelArtsServer) ShowAlgorithmByUuid(ctx context.Context, in *modelarts
return l.ShowAlgorithmByUuid(in)
}
// training-job-flavors 获取训练作业支持的公共规格
func (s *ModelArtsServer) GetTrainingJobFlavors(ctx context.Context, in *modelarts.TrainingJobFlavorsReq) (*modelarts.TrainingJobFlavorsResp, error) {
l := logic.NewGetTrainingJobFlavorsLogic(ctx, s.svcCtx)
return l.GetTrainingJobFlavors(in)
}
// GET ai-engines 查询作业引擎规格
func (s *ModelArtsServer) GetAiEnginesList(ctx context.Context, in *modelarts.ListAiEnginesReq) (*modelarts.ListAiEnginesResp, error) {
l := logic.NewGetAiEnginesListLogic(ctx, s.svcCtx)
return l.GetAiEnginesList(in)
}
// export task
func (s *ModelArtsServer) ExportTask(ctx context.Context, in *modelarts.ExportTaskReq) (*modelarts.ExportTaskResp, error) {
func (s *ModelArtsServer) ExportTask(ctx context.Context, in *modelarts.ExportTaskReq) (*modelarts.ExportTaskDataResp, error) {
l := logic.NewExportTaskLogic(ctx, s.svcCtx)
return l.ExportTask(in)
}

View File

@ -2,14 +2,21 @@ package svc
import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/config"
"PCM/adaptor/PCM-CORE/rpc/pcmcoreclient"
"github.com/robfig/cron/v3"
"github.com/zeromicro/go-zero/zrpc"
)
type ServiceContext struct {
Config config.Config
Config config.Config
Cron *cron.Cron
PcmCoreRpc pcmcoreclient.PcmCore
}
func NewServiceContext(c config.Config) *ServiceContext {
return &ServiceContext{
Config: c,
Config: c,
Cron: cron.New(cron.WithSeconds()),
PcmCoreRpc: pcmcoreclient.NewPcmCore(zrpc.MustNewClient(c.PcmCoreRpcConf)),
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.19.4
// source: pcm-modelarts.proto
@ -18,6 +18,49 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
ModelArts_GetToken_FullMethodName = "/modelarts.ModelArts/GetToken"
ModelArts_GetDatasetList_FullMethodName = "/modelarts.ModelArts/GetDatasetList"
ModelArts_CreateDataSet_FullMethodName = "/modelarts.ModelArts/CreateDataSet"
ModelArts_DeleteDataSet_FullMethodName = "/modelarts.ModelArts/DeleteDataSet"
ModelArts_CreateTask_FullMethodName = "/modelarts.ModelArts/createTask"
ModelArts_GetImportTaskList_FullMethodName = "/modelarts.ModelArts/GetImportTaskList"
ModelArts_GetListTrainingJobs_FullMethodName = "/modelarts.ModelArts/GetListTrainingJobs"
ModelArts_CreateTrainingJob_FullMethodName = "/modelarts.ModelArts/CreateTrainingJob"
ModelArts_DeleteTrainingJob_FullMethodName = "/modelarts.ModelArts/DeleteTrainingJob"
ModelArts_CreateTrainingJobConfig_FullMethodName = "/modelarts.ModelArts/CreateTrainingJobConfig"
ModelArts_DeleteTrainingJobConfig_FullMethodName = "/modelarts.ModelArts/DeleteTrainingJobConfig"
ModelArts_ListTrainingJobConfig_FullMethodName = "/modelarts.ModelArts/ListTrainingJobConfig"
ModelArts_CreateAlgorithm_FullMethodName = "/modelarts.ModelArts/CreateAlgorithm"
ModelArts_ListAlgorithms_FullMethodName = "/modelarts.ModelArts/ListAlgorithms"
ModelArts_DeleteAlgorithms_FullMethodName = "/modelarts.ModelArts/DeleteAlgorithms"
ModelArts_ShowAlgorithmByUuid_FullMethodName = "/modelarts.ModelArts/ShowAlgorithmByUuid"
ModelArts_GetTrainingJobFlavors_FullMethodName = "/modelarts.ModelArts/GetTrainingJobFlavors"
ModelArts_GetAiEnginesList_FullMethodName = "/modelarts.ModelArts/GetAiEnginesList"
ModelArts_ExportTask_FullMethodName = "/modelarts.ModelArts/ExportTask"
ModelArts_GetExportTasksOfDataset_FullMethodName = "/modelarts.ModelArts/GetExportTasksOfDataset"
ModelArts_GetExportTaskStatusOfDataset_FullMethodName = "/modelarts.ModelArts/GetExportTaskStatusOfDataset"
ModelArts_CreateProcessorTask_FullMethodName = "/modelarts.ModelArts/CreateProcessorTask"
ModelArts_DescribeProcessorTask_FullMethodName = "/modelarts.ModelArts/DescribeProcessorTask"
ModelArts_CreateModel_FullMethodName = "/modelarts.ModelArts/CreateModel"
ModelArts_DeleteModel_FullMethodName = "/modelarts.ModelArts/DeleteModel"
ModelArts_ListModels_FullMethodName = "/modelarts.ModelArts/ListModels"
ModelArts_ShowModels_FullMethodName = "/modelarts.ModelArts/ShowModels"
ModelArts_CreateService_FullMethodName = "/modelarts.ModelArts/CreateService"
ModelArts_ListServices_FullMethodName = "/modelarts.ModelArts/ListServices"
ModelArts_ShowService_FullMethodName = "/modelarts.ModelArts/ShowService"
ModelArts_DeleteService_FullMethodName = "/modelarts.ModelArts/DeleteService"
ModelArts_ListClusters_FullMethodName = "/modelarts.ModelArts/ListClusters"
ModelArts_ListNotebook_FullMethodName = "/modelarts.ModelArts/ListNotebook"
ModelArts_CreateNotebook_FullMethodName = "/modelarts.ModelArts/CreateNotebook"
ModelArts_StartNotebook_FullMethodName = "/modelarts.ModelArts/StartNotebook"
ModelArts_StopNotebook_FullMethodName = "/modelarts.ModelArts/StopNotebook"
ModelArts_GetNotebookStorage_FullMethodName = "/modelarts.ModelArts/GetNotebookStorage"
ModelArts_MountNotebookStorage_FullMethodName = "/modelarts.ModelArts/MountNotebookStorage"
ModelArts_GetVisualizationJob_FullMethodName = "/modelarts.ModelArts/GetVisualizationJob"
ModelArts_CreateVisualizationJob_FullMethodName = "/modelarts.ModelArts/CreateVisualizationJob"
)
// ModelArtsClient is the client API for ModelArts service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
@ -54,8 +97,12 @@ type ModelArtsClient interface {
DeleteAlgorithms(ctx context.Context, in *DeleteAlgorithmsReq, opts ...grpc.CallOption) (*DeleteAlgorithmsResp, error)
// ShowAlgorithmByUuid 展示算法详情
ShowAlgorithmByUuid(ctx context.Context, in *ShowAlgorithmByUuidReq, opts ...grpc.CallOption) (*ShowAlgorithmByUuidResp, error)
// training-job-flavors 获取训练作业支持的公共规格
GetTrainingJobFlavors(ctx context.Context, in *TrainingJobFlavorsReq, opts ...grpc.CallOption) (*TrainingJobFlavorsResp, error)
// GET ai-engines 查询作业引擎规格
GetAiEnginesList(ctx context.Context, in *ListAiEnginesReq, opts ...grpc.CallOption) (*ListAiEnginesResp, error)
//export task
ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskResp, error)
ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskDataResp, error)
GetExportTasksOfDataset(ctx context.Context, in *GetExportTasksOfDatasetReq, opts ...grpc.CallOption) (*GetExportTasksOfDatasetResp, error)
GetExportTaskStatusOfDataset(ctx context.Context, in *GetExportTaskStatusOfDatasetReq, opts ...grpc.CallOption) (*GetExportTaskStatusOfDatasetResp, error)
//processor task
@ -94,7 +141,7 @@ func NewModelArtsClient(cc grpc.ClientConnInterface) ModelArtsClient {
func (c *modelArtsClient) GetToken(ctx context.Context, in *TokenReq, opts ...grpc.CallOption) (*TokenResp, error) {
out := new(TokenResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/GetToken", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_GetToken_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -103,7 +150,7 @@ func (c *modelArtsClient) GetToken(ctx context.Context, in *TokenReq, opts ...gr
func (c *modelArtsClient) GetDatasetList(ctx context.Context, in *DataSetReq, opts ...grpc.CallOption) (*DataSetResp, error) {
out := new(DataSetResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/GetDatasetList", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_GetDatasetList_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -112,7 +159,7 @@ func (c *modelArtsClient) GetDatasetList(ctx context.Context, in *DataSetReq, op
func (c *modelArtsClient) CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResq, error) {
out := new(CreateDataSetResq)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/CreateDataSet", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_CreateDataSet_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -121,7 +168,7 @@ func (c *modelArtsClient) CreateDataSet(ctx context.Context, in *CreateDataSetRe
func (c *modelArtsClient) DeleteDataSet(ctx context.Context, in *DeleteDataSetReq, opts ...grpc.CallOption) (*DeleteDataSetResq, error) {
out := new(DeleteDataSetResq)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/DeleteDataSet", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_DeleteDataSet_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -130,7 +177,7 @@ func (c *modelArtsClient) DeleteDataSet(ctx context.Context, in *DeleteDataSetRe
func (c *modelArtsClient) CreateTask(ctx context.Context, in *ImportTaskDataReq, opts ...grpc.CallOption) (*ImportTaskDataResp, error) {
out := new(ImportTaskDataResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/createTask", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_CreateTask_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -139,7 +186,7 @@ func (c *modelArtsClient) CreateTask(ctx context.Context, in *ImportTaskDataReq,
func (c *modelArtsClient) GetImportTaskList(ctx context.Context, in *ListImportTasksReq, opts ...grpc.CallOption) (*ListImportTasksResp, error) {
out := new(ListImportTasksResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/GetImportTaskList", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_GetImportTaskList_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -148,7 +195,7 @@ func (c *modelArtsClient) GetImportTaskList(ctx context.Context, in *ListImportT
func (c *modelArtsClient) GetListTrainingJobs(ctx context.Context, in *ListTrainingJobsreq, opts ...grpc.CallOption) (*ListTrainingJobsresp, error) {
out := new(ListTrainingJobsresp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/GetListTrainingJobs", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_GetListTrainingJobs_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -157,7 +204,7 @@ func (c *modelArtsClient) GetListTrainingJobs(ctx context.Context, in *ListTrain
func (c *modelArtsClient) CreateTrainingJob(ctx context.Context, in *CreateTrainingJobReq, opts ...grpc.CallOption) (*CreateTrainingJobResp, error) {
out := new(CreateTrainingJobResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/CreateTrainingJob", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_CreateTrainingJob_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -166,7 +213,7 @@ func (c *modelArtsClient) CreateTrainingJob(ctx context.Context, in *CreateTrain
func (c *modelArtsClient) DeleteTrainingJob(ctx context.Context, in *DeleteTrainingJobReq, opts ...grpc.CallOption) (*DeleteTrainingJobResp, error) {
out := new(DeleteTrainingJobResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/DeleteTrainingJob", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_DeleteTrainingJob_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -175,7 +222,7 @@ func (c *modelArtsClient) DeleteTrainingJob(ctx context.Context, in *DeleteTrain
func (c *modelArtsClient) CreateTrainingJobConfig(ctx context.Context, in *CreateTrainingJobConfigReq, opts ...grpc.CallOption) (*CreateTrainingJobConfigResp, error) {
out := new(CreateTrainingJobConfigResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/CreateTrainingJobConfig", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_CreateTrainingJobConfig_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -184,7 +231,7 @@ func (c *modelArtsClient) CreateTrainingJobConfig(ctx context.Context, in *Creat
func (c *modelArtsClient) DeleteTrainingJobConfig(ctx context.Context, in *DeleteTrainingJobConfigReq, opts ...grpc.CallOption) (*DeleteTrainingJobConfigResp, error) {
out := new(DeleteTrainingJobConfigResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/DeleteTrainingJobConfig", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_DeleteTrainingJobConfig_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -193,7 +240,7 @@ func (c *modelArtsClient) DeleteTrainingJobConfig(ctx context.Context, in *Delet
func (c *modelArtsClient) ListTrainingJobConfig(ctx context.Context, in *ListTrainingJobConfigReq, opts ...grpc.CallOption) (*ListTrainingJobConfigResp, error) {
out := new(ListTrainingJobConfigResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ListTrainingJobConfig", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_ListTrainingJobConfig_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -202,7 +249,7 @@ func (c *modelArtsClient) ListTrainingJobConfig(ctx context.Context, in *ListTra
func (c *modelArtsClient) CreateAlgorithm(ctx context.Context, in *CreateAlgorithmReq, opts ...grpc.CallOption) (*CreateAlgorithmResp, error) {
out := new(CreateAlgorithmResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/CreateAlgorithm", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_CreateAlgorithm_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -211,7 +258,7 @@ func (c *modelArtsClient) CreateAlgorithm(ctx context.Context, in *CreateAlgorit
func (c *modelArtsClient) ListAlgorithms(ctx context.Context, in *ListAlgorithmsReq, opts ...grpc.CallOption) (*ListAlgorithmsResp, error) {
out := new(ListAlgorithmsResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ListAlgorithms", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_ListAlgorithms_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -220,7 +267,7 @@ func (c *modelArtsClient) ListAlgorithms(ctx context.Context, in *ListAlgorithms
func (c *modelArtsClient) DeleteAlgorithms(ctx context.Context, in *DeleteAlgorithmsReq, opts ...grpc.CallOption) (*DeleteAlgorithmsResp, error) {
out := new(DeleteAlgorithmsResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/DeleteAlgorithms", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_DeleteAlgorithms_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -229,16 +276,34 @@ func (c *modelArtsClient) DeleteAlgorithms(ctx context.Context, in *DeleteAlgori
func (c *modelArtsClient) ShowAlgorithmByUuid(ctx context.Context, in *ShowAlgorithmByUuidReq, opts ...grpc.CallOption) (*ShowAlgorithmByUuidResp, error) {
out := new(ShowAlgorithmByUuidResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ShowAlgorithmByUuid", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_ShowAlgorithmByUuid_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *modelArtsClient) ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskResp, error) {
out := new(ExportTaskResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ExportTask", in, out, opts...)
func (c *modelArtsClient) GetTrainingJobFlavors(ctx context.Context, in *TrainingJobFlavorsReq, opts ...grpc.CallOption) (*TrainingJobFlavorsResp, error) {
out := new(TrainingJobFlavorsResp)
err := c.cc.Invoke(ctx, ModelArts_GetTrainingJobFlavors_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *modelArtsClient) GetAiEnginesList(ctx context.Context, in *ListAiEnginesReq, opts ...grpc.CallOption) (*ListAiEnginesResp, error) {
out := new(ListAiEnginesResp)
err := c.cc.Invoke(ctx, ModelArts_GetAiEnginesList_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *modelArtsClient) ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskDataResp, error) {
out := new(ExportTaskDataResp)
err := c.cc.Invoke(ctx, ModelArts_ExportTask_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -247,7 +312,7 @@ func (c *modelArtsClient) ExportTask(ctx context.Context, in *ExportTaskReq, opt
func (c *modelArtsClient) GetExportTasksOfDataset(ctx context.Context, in *GetExportTasksOfDatasetReq, opts ...grpc.CallOption) (*GetExportTasksOfDatasetResp, error) {
out := new(GetExportTasksOfDatasetResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/GetExportTasksOfDataset", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_GetExportTasksOfDataset_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -256,7 +321,7 @@ func (c *modelArtsClient) GetExportTasksOfDataset(ctx context.Context, in *GetEx
func (c *modelArtsClient) GetExportTaskStatusOfDataset(ctx context.Context, in *GetExportTaskStatusOfDatasetReq, opts ...grpc.CallOption) (*GetExportTaskStatusOfDatasetResp, error) {
out := new(GetExportTaskStatusOfDatasetResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/GetExportTaskStatusOfDataset", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_GetExportTaskStatusOfDataset_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -265,7 +330,7 @@ func (c *modelArtsClient) GetExportTaskStatusOfDataset(ctx context.Context, in *
func (c *modelArtsClient) CreateProcessorTask(ctx context.Context, in *CreateProcessorTaskReq, opts ...grpc.CallOption) (*CreateProcessorTaskResp, error) {
out := new(CreateProcessorTaskResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/CreateProcessorTask", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_CreateProcessorTask_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -274,7 +339,7 @@ func (c *modelArtsClient) CreateProcessorTask(ctx context.Context, in *CreatePro
func (c *modelArtsClient) DescribeProcessorTask(ctx context.Context, in *DescribeProcessorTaskReq, opts ...grpc.CallOption) (*DescribeProcessorTaskResp, error) {
out := new(DescribeProcessorTaskResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/DescribeProcessorTask", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_DescribeProcessorTask_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -283,7 +348,7 @@ func (c *modelArtsClient) DescribeProcessorTask(ctx context.Context, in *Describ
func (c *modelArtsClient) CreateModel(ctx context.Context, in *CreateModelReq, opts ...grpc.CallOption) (*CreateModelResp, error) {
out := new(CreateModelResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/CreateModel", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_CreateModel_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -292,7 +357,7 @@ func (c *modelArtsClient) CreateModel(ctx context.Context, in *CreateModelReq, o
func (c *modelArtsClient) DeleteModel(ctx context.Context, in *DeleteModelReq, opts ...grpc.CallOption) (*DeleteModelResp, error) {
out := new(DeleteModelResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/DeleteModel", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_DeleteModel_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -301,7 +366,7 @@ func (c *modelArtsClient) DeleteModel(ctx context.Context, in *DeleteModelReq, o
func (c *modelArtsClient) ListModels(ctx context.Context, in *ListModelReq, opts ...grpc.CallOption) (*ListModelResp, error) {
out := new(ListModelResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ListModels", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_ListModels_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -310,7 +375,7 @@ func (c *modelArtsClient) ListModels(ctx context.Context, in *ListModelReq, opts
func (c *modelArtsClient) ShowModels(ctx context.Context, in *ShowModelReq, opts ...grpc.CallOption) (*ShowModelResp, error) {
out := new(ShowModelResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ShowModels", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_ShowModels_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -319,7 +384,7 @@ func (c *modelArtsClient) ShowModels(ctx context.Context, in *ShowModelReq, opts
func (c *modelArtsClient) CreateService(ctx context.Context, in *CreateServiceReq, opts ...grpc.CallOption) (*CreateServiceResp, error) {
out := new(CreateServiceResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/CreateService", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_CreateService_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -328,7 +393,7 @@ func (c *modelArtsClient) CreateService(ctx context.Context, in *CreateServiceRe
func (c *modelArtsClient) ListServices(ctx context.Context, in *ListServicesReq, opts ...grpc.CallOption) (*ListServicesResp, error) {
out := new(ListServicesResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ListServices", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_ListServices_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -337,7 +402,7 @@ func (c *modelArtsClient) ListServices(ctx context.Context, in *ListServicesReq,
func (c *modelArtsClient) ShowService(ctx context.Context, in *ShowServiceReq, opts ...grpc.CallOption) (*ShowServiceResp, error) {
out := new(ShowServiceResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ShowService", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_ShowService_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -346,7 +411,7 @@ func (c *modelArtsClient) ShowService(ctx context.Context, in *ShowServiceReq, o
func (c *modelArtsClient) DeleteService(ctx context.Context, in *DeleteServiceReq, opts ...grpc.CallOption) (*DeleteServiceResp, error) {
out := new(DeleteServiceResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/DeleteService", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_DeleteService_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -355,7 +420,7 @@ func (c *modelArtsClient) DeleteService(ctx context.Context, in *DeleteServiceRe
func (c *modelArtsClient) ListClusters(ctx context.Context, in *ListClustersReq, opts ...grpc.CallOption) (*ListClustersResp, error) {
out := new(ListClustersResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ListClusters", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_ListClusters_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -364,7 +429,7 @@ func (c *modelArtsClient) ListClusters(ctx context.Context, in *ListClustersReq,
func (c *modelArtsClient) ListNotebook(ctx context.Context, in *ListNotebookReq, opts ...grpc.CallOption) (*ListNotebookResp, error) {
out := new(ListNotebookResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ListNotebook", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_ListNotebook_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -373,7 +438,7 @@ func (c *modelArtsClient) ListNotebook(ctx context.Context, in *ListNotebookReq,
func (c *modelArtsClient) CreateNotebook(ctx context.Context, in *CreateNotebookReq, opts ...grpc.CallOption) (*CreateNotebookResp, error) {
out := new(CreateNotebookResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/CreateNotebook", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_CreateNotebook_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -382,7 +447,7 @@ func (c *modelArtsClient) CreateNotebook(ctx context.Context, in *CreateNotebook
func (c *modelArtsClient) StartNotebook(ctx context.Context, in *StartNotebookReq, opts ...grpc.CallOption) (*StartNotebookResp, error) {
out := new(StartNotebookResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/StartNotebook", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_StartNotebook_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -391,7 +456,7 @@ func (c *modelArtsClient) StartNotebook(ctx context.Context, in *StartNotebookRe
func (c *modelArtsClient) StopNotebook(ctx context.Context, in *StopNotebookReq, opts ...grpc.CallOption) (*StopNotebookResp, error) {
out := new(StopNotebookResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/StopNotebook", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_StopNotebook_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -400,7 +465,7 @@ func (c *modelArtsClient) StopNotebook(ctx context.Context, in *StopNotebookReq,
func (c *modelArtsClient) GetNotebookStorage(ctx context.Context, in *GetNotebookStorageReq, opts ...grpc.CallOption) (*GetNotebookStorageResp, error) {
out := new(GetNotebookStorageResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/GetNotebookStorage", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_GetNotebookStorage_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -409,7 +474,7 @@ func (c *modelArtsClient) GetNotebookStorage(ctx context.Context, in *GetNoteboo
func (c *modelArtsClient) MountNotebookStorage(ctx context.Context, in *MountNotebookStorageReq, opts ...grpc.CallOption) (*MountNotebookStorageResp, error) {
out := new(MountNotebookStorageResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/MountNotebookStorage", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_MountNotebookStorage_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -418,7 +483,7 @@ func (c *modelArtsClient) MountNotebookStorage(ctx context.Context, in *MountNot
func (c *modelArtsClient) GetVisualizationJob(ctx context.Context, in *GetVisualizationJobReq, opts ...grpc.CallOption) (*GetVisualizationJobResp, error) {
out := new(GetVisualizationJobResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/GetVisualizationJob", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_GetVisualizationJob_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -427,7 +492,7 @@ func (c *modelArtsClient) GetVisualizationJob(ctx context.Context, in *GetVisual
func (c *modelArtsClient) CreateVisualizationJob(ctx context.Context, in *CreateVisualizationJobReq, opts ...grpc.CallOption) (*CreateVisualizationJobResp, error) {
out := new(CreateVisualizationJobResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/CreateVisualizationJob", in, out, opts...)
err := c.cc.Invoke(ctx, ModelArts_CreateVisualizationJob_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -470,8 +535,12 @@ type ModelArtsServer interface {
DeleteAlgorithms(context.Context, *DeleteAlgorithmsReq) (*DeleteAlgorithmsResp, error)
// ShowAlgorithmByUuid 展示算法详情
ShowAlgorithmByUuid(context.Context, *ShowAlgorithmByUuidReq) (*ShowAlgorithmByUuidResp, error)
// training-job-flavors 获取训练作业支持的公共规格
GetTrainingJobFlavors(context.Context, *TrainingJobFlavorsReq) (*TrainingJobFlavorsResp, error)
// GET ai-engines 查询作业引擎规格
GetAiEnginesList(context.Context, *ListAiEnginesReq) (*ListAiEnginesResp, error)
//export task
ExportTask(context.Context, *ExportTaskReq) (*ExportTaskResp, error)
ExportTask(context.Context, *ExportTaskReq) (*ExportTaskDataResp, error)
GetExportTasksOfDataset(context.Context, *GetExportTasksOfDatasetReq) (*GetExportTasksOfDatasetResp, error)
GetExportTaskStatusOfDataset(context.Context, *GetExportTaskStatusOfDatasetReq) (*GetExportTaskStatusOfDatasetResp, error)
//processor task
@ -553,7 +622,13 @@ func (UnimplementedModelArtsServer) DeleteAlgorithms(context.Context, *DeleteAlg
func (UnimplementedModelArtsServer) ShowAlgorithmByUuid(context.Context, *ShowAlgorithmByUuidReq) (*ShowAlgorithmByUuidResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ShowAlgorithmByUuid not implemented")
}
func (UnimplementedModelArtsServer) ExportTask(context.Context, *ExportTaskReq) (*ExportTaskResp, error) {
func (UnimplementedModelArtsServer) GetTrainingJobFlavors(context.Context, *TrainingJobFlavorsReq) (*TrainingJobFlavorsResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetTrainingJobFlavors not implemented")
}
func (UnimplementedModelArtsServer) GetAiEnginesList(context.Context, *ListAiEnginesReq) (*ListAiEnginesResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetAiEnginesList not implemented")
}
func (UnimplementedModelArtsServer) ExportTask(context.Context, *ExportTaskReq) (*ExportTaskDataResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ExportTask not implemented")
}
func (UnimplementedModelArtsServer) GetExportTasksOfDataset(context.Context, *GetExportTasksOfDatasetReq) (*GetExportTasksOfDatasetResp, error) {
@ -642,7 +717,7 @@ func _ModelArts_GetToken_Handler(srv interface{}, ctx context.Context, dec func(
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/GetToken",
FullMethod: ModelArts_GetToken_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).GetToken(ctx, req.(*TokenReq))
@ -660,7 +735,7 @@ func _ModelArts_GetDatasetList_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/GetDatasetList",
FullMethod: ModelArts_GetDatasetList_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).GetDatasetList(ctx, req.(*DataSetReq))
@ -678,7 +753,7 @@ func _ModelArts_CreateDataSet_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/CreateDataSet",
FullMethod: ModelArts_CreateDataSet_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateDataSet(ctx, req.(*CreateDataSetReq))
@ -696,7 +771,7 @@ func _ModelArts_DeleteDataSet_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/DeleteDataSet",
FullMethod: ModelArts_DeleteDataSet_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).DeleteDataSet(ctx, req.(*DeleteDataSetReq))
@ -714,7 +789,7 @@ func _ModelArts_CreateTask_Handler(srv interface{}, ctx context.Context, dec fun
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/createTask",
FullMethod: ModelArts_CreateTask_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateTask(ctx, req.(*ImportTaskDataReq))
@ -732,7 +807,7 @@ func _ModelArts_GetImportTaskList_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/GetImportTaskList",
FullMethod: ModelArts_GetImportTaskList_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).GetImportTaskList(ctx, req.(*ListImportTasksReq))
@ -750,7 +825,7 @@ func _ModelArts_GetListTrainingJobs_Handler(srv interface{}, ctx context.Context
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/GetListTrainingJobs",
FullMethod: ModelArts_GetListTrainingJobs_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).GetListTrainingJobs(ctx, req.(*ListTrainingJobsreq))
@ -768,7 +843,7 @@ func _ModelArts_CreateTrainingJob_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/CreateTrainingJob",
FullMethod: ModelArts_CreateTrainingJob_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateTrainingJob(ctx, req.(*CreateTrainingJobReq))
@ -786,7 +861,7 @@ func _ModelArts_DeleteTrainingJob_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/DeleteTrainingJob",
FullMethod: ModelArts_DeleteTrainingJob_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).DeleteTrainingJob(ctx, req.(*DeleteTrainingJobReq))
@ -804,7 +879,7 @@ func _ModelArts_CreateTrainingJobConfig_Handler(srv interface{}, ctx context.Con
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/CreateTrainingJobConfig",
FullMethod: ModelArts_CreateTrainingJobConfig_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateTrainingJobConfig(ctx, req.(*CreateTrainingJobConfigReq))
@ -822,7 +897,7 @@ func _ModelArts_DeleteTrainingJobConfig_Handler(srv interface{}, ctx context.Con
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/DeleteTrainingJobConfig",
FullMethod: ModelArts_DeleteTrainingJobConfig_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).DeleteTrainingJobConfig(ctx, req.(*DeleteTrainingJobConfigReq))
@ -840,7 +915,7 @@ func _ModelArts_ListTrainingJobConfig_Handler(srv interface{}, ctx context.Conte
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ListTrainingJobConfig",
FullMethod: ModelArts_ListTrainingJobConfig_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ListTrainingJobConfig(ctx, req.(*ListTrainingJobConfigReq))
@ -858,7 +933,7 @@ func _ModelArts_CreateAlgorithm_Handler(srv interface{}, ctx context.Context, de
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/CreateAlgorithm",
FullMethod: ModelArts_CreateAlgorithm_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateAlgorithm(ctx, req.(*CreateAlgorithmReq))
@ -876,7 +951,7 @@ func _ModelArts_ListAlgorithms_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ListAlgorithms",
FullMethod: ModelArts_ListAlgorithms_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ListAlgorithms(ctx, req.(*ListAlgorithmsReq))
@ -894,7 +969,7 @@ func _ModelArts_DeleteAlgorithms_Handler(srv interface{}, ctx context.Context, d
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/DeleteAlgorithms",
FullMethod: ModelArts_DeleteAlgorithms_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).DeleteAlgorithms(ctx, req.(*DeleteAlgorithmsReq))
@ -912,7 +987,7 @@ func _ModelArts_ShowAlgorithmByUuid_Handler(srv interface{}, ctx context.Context
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ShowAlgorithmByUuid",
FullMethod: ModelArts_ShowAlgorithmByUuid_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ShowAlgorithmByUuid(ctx, req.(*ShowAlgorithmByUuidReq))
@ -920,6 +995,42 @@ func _ModelArts_ShowAlgorithmByUuid_Handler(srv interface{}, ctx context.Context
return interceptor(ctx, in, info, handler)
}
func _ModelArts_GetTrainingJobFlavors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(TrainingJobFlavorsReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ModelArtsServer).GetTrainingJobFlavors(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ModelArts_GetTrainingJobFlavors_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).GetTrainingJobFlavors(ctx, req.(*TrainingJobFlavorsReq))
}
return interceptor(ctx, in, info, handler)
}
func _ModelArts_GetAiEnginesList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListAiEnginesReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ModelArtsServer).GetAiEnginesList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ModelArts_GetAiEnginesList_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).GetAiEnginesList(ctx, req.(*ListAiEnginesReq))
}
return interceptor(ctx, in, info, handler)
}
func _ModelArts_ExportTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ExportTaskReq)
if err := dec(in); err != nil {
@ -930,7 +1041,7 @@ func _ModelArts_ExportTask_Handler(srv interface{}, ctx context.Context, dec fun
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ExportTask",
FullMethod: ModelArts_ExportTask_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ExportTask(ctx, req.(*ExportTaskReq))
@ -948,7 +1059,7 @@ func _ModelArts_GetExportTasksOfDataset_Handler(srv interface{}, ctx context.Con
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/GetExportTasksOfDataset",
FullMethod: ModelArts_GetExportTasksOfDataset_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).GetExportTasksOfDataset(ctx, req.(*GetExportTasksOfDatasetReq))
@ -966,7 +1077,7 @@ func _ModelArts_GetExportTaskStatusOfDataset_Handler(srv interface{}, ctx contex
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/GetExportTaskStatusOfDataset",
FullMethod: ModelArts_GetExportTaskStatusOfDataset_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).GetExportTaskStatusOfDataset(ctx, req.(*GetExportTaskStatusOfDatasetReq))
@ -984,7 +1095,7 @@ func _ModelArts_CreateProcessorTask_Handler(srv interface{}, ctx context.Context
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/CreateProcessorTask",
FullMethod: ModelArts_CreateProcessorTask_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateProcessorTask(ctx, req.(*CreateProcessorTaskReq))
@ -1002,7 +1113,7 @@ func _ModelArts_DescribeProcessorTask_Handler(srv interface{}, ctx context.Conte
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/DescribeProcessorTask",
FullMethod: ModelArts_DescribeProcessorTask_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).DescribeProcessorTask(ctx, req.(*DescribeProcessorTaskReq))
@ -1020,7 +1131,7 @@ func _ModelArts_CreateModel_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/CreateModel",
FullMethod: ModelArts_CreateModel_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateModel(ctx, req.(*CreateModelReq))
@ -1038,7 +1149,7 @@ func _ModelArts_DeleteModel_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/DeleteModel",
FullMethod: ModelArts_DeleteModel_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).DeleteModel(ctx, req.(*DeleteModelReq))
@ -1056,7 +1167,7 @@ func _ModelArts_ListModels_Handler(srv interface{}, ctx context.Context, dec fun
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ListModels",
FullMethod: ModelArts_ListModels_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ListModels(ctx, req.(*ListModelReq))
@ -1074,7 +1185,7 @@ func _ModelArts_ShowModels_Handler(srv interface{}, ctx context.Context, dec fun
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ShowModels",
FullMethod: ModelArts_ShowModels_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ShowModels(ctx, req.(*ShowModelReq))
@ -1092,7 +1203,7 @@ func _ModelArts_CreateService_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/CreateService",
FullMethod: ModelArts_CreateService_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateService(ctx, req.(*CreateServiceReq))
@ -1110,7 +1221,7 @@ func _ModelArts_ListServices_Handler(srv interface{}, ctx context.Context, dec f
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ListServices",
FullMethod: ModelArts_ListServices_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ListServices(ctx, req.(*ListServicesReq))
@ -1128,7 +1239,7 @@ func _ModelArts_ShowService_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ShowService",
FullMethod: ModelArts_ShowService_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ShowService(ctx, req.(*ShowServiceReq))
@ -1146,7 +1257,7 @@ func _ModelArts_DeleteService_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/DeleteService",
FullMethod: ModelArts_DeleteService_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).DeleteService(ctx, req.(*DeleteServiceReq))
@ -1164,7 +1275,7 @@ func _ModelArts_ListClusters_Handler(srv interface{}, ctx context.Context, dec f
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ListClusters",
FullMethod: ModelArts_ListClusters_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ListClusters(ctx, req.(*ListClustersReq))
@ -1182,7 +1293,7 @@ func _ModelArts_ListNotebook_Handler(srv interface{}, ctx context.Context, dec f
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ListNotebook",
FullMethod: ModelArts_ListNotebook_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ListNotebook(ctx, req.(*ListNotebookReq))
@ -1200,7 +1311,7 @@ func _ModelArts_CreateNotebook_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/CreateNotebook",
FullMethod: ModelArts_CreateNotebook_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateNotebook(ctx, req.(*CreateNotebookReq))
@ -1218,7 +1329,7 @@ func _ModelArts_StartNotebook_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/StartNotebook",
FullMethod: ModelArts_StartNotebook_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).StartNotebook(ctx, req.(*StartNotebookReq))
@ -1236,7 +1347,7 @@ func _ModelArts_StopNotebook_Handler(srv interface{}, ctx context.Context, dec f
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/StopNotebook",
FullMethod: ModelArts_StopNotebook_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).StopNotebook(ctx, req.(*StopNotebookReq))
@ -1254,7 +1365,7 @@ func _ModelArts_GetNotebookStorage_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/GetNotebookStorage",
FullMethod: ModelArts_GetNotebookStorage_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).GetNotebookStorage(ctx, req.(*GetNotebookStorageReq))
@ -1272,7 +1383,7 @@ func _ModelArts_MountNotebookStorage_Handler(srv interface{}, ctx context.Contex
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/MountNotebookStorage",
FullMethod: ModelArts_MountNotebookStorage_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).MountNotebookStorage(ctx, req.(*MountNotebookStorageReq))
@ -1290,7 +1401,7 @@ func _ModelArts_GetVisualizationJob_Handler(srv interface{}, ctx context.Context
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/GetVisualizationJob",
FullMethod: ModelArts_GetVisualizationJob_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).GetVisualizationJob(ctx, req.(*GetVisualizationJobReq))
@ -1308,7 +1419,7 @@ func _ModelArts_CreateVisualizationJob_Handler(srv interface{}, ctx context.Cont
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/CreateVisualizationJob",
FullMethod: ModelArts_CreateVisualizationJob_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateVisualizationJob(ctx, req.(*CreateVisualizationJobReq))
@ -1387,6 +1498,14 @@ var ModelArts_ServiceDesc = grpc.ServiceDesc{
MethodName: "ShowAlgorithmByUuid",
Handler: _ModelArts_ShowAlgorithmByUuid_Handler,
},
{
MethodName: "GetTrainingJobFlavors",
Handler: _ModelArts_GetTrainingJobFlavors_Handler,
},
{
MethodName: "GetAiEnginesList",
Handler: _ModelArts_GetAiEnginesList_Handler,
},
{
MethodName: "ExportTask",
Handler: _ModelArts_ExportTask_Handler,

View File

@ -13,257 +13,248 @@ import (
)
type (
AdvancedConfigAl = modelarts.AdvancedConfigAl
AlgoConfigs = modelarts.AlgoConfigs
Algorithm = modelarts.Algorithm
AlgorithmResponse = modelarts.AlgorithmResponse
Algorithms = modelarts.Algorithms
AnnotationFormatConfig = modelarts.AnnotationFormatConfig
AttributesAlRq = modelarts.AttributesAlRq
Auth = modelarts.Auth
AutoSearch = modelarts.AutoSearch
AutoSearchAlgoConfigParameter = modelarts.AutoSearchAlgoConfigParameter
Billing = modelarts.Billing
Children = modelarts.Children
Cluster = modelarts.Cluster
ClusterNode = modelarts.ClusterNode
CodeTree = modelarts.CodeTree
Config = modelarts.Config
ConfigResponse = modelarts.ConfigResponse
Constraint = modelarts.Constraint
ConstraintAlRp = modelarts.ConstraintAlRp
ConstraintAlRq = modelarts.ConstraintAlRq
ConstraintCreateTraining = modelarts.ConstraintCreateTraining
ContainerHooks = modelarts.ContainerHooks
Cpu = modelarts.Cpu
CreateAlgorithmReq = modelarts.CreateAlgorithmReq
CreateAlgorithmResp = modelarts.CreateAlgorithmResp
CreateAlgorithmResp201 = modelarts.CreateAlgorithmResp201
CreateAlgorithmResp400 = modelarts.CreateAlgorithmResp400
CreateDataSetReq = modelarts.CreateDataSetReq
CreateDataSetResq = modelarts.CreateDataSetResq
CreateModelReq = modelarts.CreateModelReq
CreateModelRequestInferParams = modelarts.CreateModelRequestInferParams
CreateModelRequestModelApis = modelarts.CreateModelRequestModelApis
CreateModelRequestTemplateInput = modelarts.CreateModelRequestTemplateInput
CreateModelResp = modelarts.CreateModelResp
CreateNotebookParam = modelarts.CreateNotebookParam
CreateNotebookReq = modelarts.CreateNotebookReq
CreateNotebookResp = modelarts.CreateNotebookResp
CreateProcessorTaskReq = modelarts.CreateProcessorTaskReq
CreateProcessorTaskResp = modelarts.CreateProcessorTaskResp
CreateServiceReq = modelarts.CreateServiceReq
CreateServiceResp = modelarts.CreateServiceResp
CreateServiceResp200 = modelarts.CreateServiceResp200
CreateServiceResp400 = modelarts.CreateServiceResp400
CreateTrainingJobConfigReq = modelarts.CreateTrainingJobConfigReq
CreateTrainingJobConfigResp = modelarts.CreateTrainingJobConfigResp
CreateTrainingJobReq = modelarts.CreateTrainingJobReq
CreateTrainingJobResp = modelarts.CreateTrainingJobResp
CreateTrainingJobResp201 = modelarts.CreateTrainingJobResp201
CreateTrainingJobResp400 = modelarts.CreateTrainingJobResp400
CreateVisualizationJobParam = modelarts.CreateVisualizationJobParam
CreateVisualizationJobReq = modelarts.CreateVisualizationJobReq
CreateVisualizationJobResp = modelarts.CreateVisualizationJobResp
CustomHooks = modelarts.CustomHooks
CustomSpec = modelarts.CustomSpec
DataSetReq = modelarts.DataSetReq
DataSetResp = modelarts.DataSetResp
DataSets = modelarts.DataSets
DataSource = modelarts.DataSource
DataSources = modelarts.DataSources
DataVolumesRes = modelarts.DataVolumesRes
Dataset = modelarts.Dataset
DeleteAlgorithmsReq = modelarts.DeleteAlgorithmsReq
DeleteAlgorithmsResp = modelarts.DeleteAlgorithmsResp
DeleteDataSetReq = modelarts.DeleteDataSetReq
DeleteDataSetResq = modelarts.DeleteDataSetResq
DeleteModelReq = modelarts.DeleteModelReq
DeleteModelResp = modelarts.DeleteModelResp
DeleteModelResponseFailedList = modelarts.DeleteModelResponseFailedList
DeleteServiceReq = modelarts.DeleteServiceReq
DeleteServiceResp = modelarts.DeleteServiceResp
DeleteServiceResp200 = modelarts.DeleteServiceResp200
DeleteServiceResp400 = modelarts.DeleteServiceResp400
DeleteTrainingJobConfigReq = modelarts.DeleteTrainingJobConfigReq
DeleteTrainingJobConfigResp = modelarts.DeleteTrainingJobConfigResp
DeleteTrainingJobReq = modelarts.DeleteTrainingJobReq
DeleteTrainingJobResp = modelarts.DeleteTrainingJobResp
DescribeProcessorTaskReq = modelarts.DescribeProcessorTaskReq
DescribeProcessorTaskResp = modelarts.DescribeProcessorTaskResp
Disk = modelarts.Disk
Domain = modelarts.Domain
EndpointsReq = modelarts.EndpointsReq
EndpointsRes = modelarts.EndpointsRes
Engine = modelarts.Engine
EngineAlRp = modelarts.EngineAlRp
EngineAlRq = modelarts.EngineAlRq
EngineCreateTraining = modelarts.EngineCreateTraining
ExportParams = modelarts.ExportParams
ExportTaskDataResp200 = modelarts.ExportTaskDataResp200
ExportTaskDataResp400 = modelarts.ExportTaskDataResp400
ExportTaskReq = modelarts.ExportTaskReq
ExportTaskResp = modelarts.ExportTaskResp
ExportTaskStatus = modelarts.ExportTaskStatus
FileStatistics = modelarts.FileStatistics
Flavor = modelarts.Flavor
FlavorDetail = modelarts.FlavorDetail
FlavorInfo = modelarts.FlavorInfo
FlavorResponse = modelarts.FlavorResponse
GetExportTaskStatusOfDatasetReq = modelarts.GetExportTaskStatusOfDatasetReq
GetExportTaskStatusOfDatasetResp = modelarts.GetExportTaskStatusOfDatasetResp
GetExportTaskStatusOfDatasetResp200 = modelarts.GetExportTaskStatusOfDatasetResp200
GetExportTaskStatusOfDatasetResp400 = modelarts.GetExportTaskStatusOfDatasetResp400
GetExportTasksOfDatasetReq = modelarts.GetExportTasksOfDatasetReq
GetExportTasksOfDatasetResp = modelarts.GetExportTasksOfDatasetResp
GetExportTasksOfDatasetResp200 = modelarts.GetExportTasksOfDatasetResp200
GetExportTasksOfDatasetResp400 = modelarts.GetExportTasksOfDatasetResp400
GetNotebookStorageReq = modelarts.GetNotebookStorageReq
GetNotebookStorageResp = modelarts.GetNotebookStorageResp
GetVisualizationJobParam = modelarts.GetVisualizationJobParam
GetVisualizationJobReq = modelarts.GetVisualizationJobReq
GetVisualizationJobResp = modelarts.GetVisualizationJobResp
Gpu = modelarts.Gpu
GuideDoc = modelarts.GuideDoc
I18NDescription = modelarts.I18NDescription
Identity = modelarts.Identity
Image = modelarts.Image
ImageInfo = modelarts.ImageInfo
ImportTaskDataReq = modelarts.ImportTaskDataReq
ImportTaskDataResp = modelarts.ImportTaskDataResp
ImportTaskDataResp200 = modelarts.ImportTaskDataResp200
ImportTaskDataResp400 = modelarts.ImportTaskDataResp400
ImportTasks = modelarts.ImportTasks
Input = modelarts.Input
InputDataInfo = modelarts.InputDataInfo
Inputs = modelarts.Inputs
InputsAlRp = modelarts.InputsAlRp
InputsAlRq = modelarts.InputsAlRq
JobAlgorithmResponse = modelarts.JobAlgorithmResponse
JobConfigAl = modelarts.JobConfigAl
JobConfigAlRq = modelarts.JobConfigAlRq
JobMetadata = modelarts.JobMetadata
JobProgress = modelarts.JobProgress
JobResponse = modelarts.JobResponse
Jobs = modelarts.Jobs
Lease = modelarts.Lease
LeaseReq = modelarts.LeaseReq
ListAlgorithmsReq = modelarts.ListAlgorithmsReq
ListAlgorithmsResp = modelarts.ListAlgorithmsResp
ListClustersReq = modelarts.ListClustersReq
ListClustersResp = modelarts.ListClustersResp
ListClustersResp200 = modelarts.ListClustersResp200
ListClustersResp400 = modelarts.ListClustersResp400
ListImportTasksReq = modelarts.ListImportTasksReq
ListImportTasksResp = modelarts.ListImportTasksResp
ListImportTasksResp200 = modelarts.ListImportTasksResp200
ListImportTasksResp400 = modelarts.ListImportTasksResp400
ListModelReq = modelarts.ListModelReq
ListModelResp = modelarts.ListModelResp
ListNotebookParam = modelarts.ListNotebookParam
ListNotebookReq = modelarts.ListNotebookReq
ListNotebookResp = modelarts.ListNotebookResp
ListServices = modelarts.ListServices
ListServicesReq = modelarts.ListServicesReq
ListServicesResp = modelarts.ListServicesResp
ListServicesResp200 = modelarts.ListServicesResp200
ListServicesResp400 = modelarts.ListServicesResp400
ListTrainingJobConfigReq = modelarts.ListTrainingJobConfigReq
ListTrainingJobConfigResp = modelarts.ListTrainingJobConfigResp
ListTrainingJobsreq = modelarts.ListTrainingJobsreq
ListTrainingJobsresp = modelarts.ListTrainingJobsresp
ListTrainingJobsresp200 = modelarts.ListTrainingJobsresp200
ListTrainingJobsresp400 = modelarts.ListTrainingJobsresp400
LogExportPath = modelarts.LogExportPath
LogExportPathCreateTraining = modelarts.LogExportPathCreateTraining
Memory = modelarts.Memory
MetadataAlRp = modelarts.MetadataAlRp
MetadataAlRq = modelarts.MetadataAlRq
MetadataCrAl = modelarts.MetadataCrAl
MetadataS = modelarts.MetadataS
Methods = modelarts.Methods
ModelDependencies = modelarts.ModelDependencies
ModelHealth = modelarts.ModelHealth
ModelInOutputParams = modelarts.ModelInOutputParams
ModelListItem = modelarts.ModelListItem
ModelParamsInfo = modelarts.ModelParamsInfo
ModelSpecification = modelarts.ModelSpecification
MountNotebookStorageParam = modelarts.MountNotebookStorageParam
MountNotebookStorageReq = modelarts.MountNotebookStorageReq
MountNotebookStorageResp = modelarts.MountNotebookStorageResp
Nfs = modelarts.Nfs
NotebookResp = modelarts.NotebookResp
Npu = modelarts.Npu
Obs = modelarts.Obs
Obs1 = modelarts.Obs1
OperatorParam = modelarts.OperatorParam
Output = modelarts.Output
Outputs = modelarts.Outputs
OutputsAl = modelarts.OutputsAl
OutputsAlRp = modelarts.OutputsAlRp
Packages = modelarts.Packages
Parameter = modelarts.Parameter
ParameterS = modelarts.ParameterS
ParametersAlRp = modelarts.ParametersAlRp
ParametersAlRq = modelarts.ParametersAlRq
ParametersTrainJob = modelarts.ParametersTrainJob
Password = modelarts.Password
Policies = modelarts.Policies
PoliciesCreateTraining = modelarts.PoliciesCreateTraining
Pool = modelarts.Pool
ProcessorDataSource = modelarts.ProcessorDataSource
Project = modelarts.Project
QueryServiceConfig = modelarts.QueryServiceConfig
Remote = modelarts.Remote
RemoteConstraint = modelarts.RemoteConstraint
RemoteConstraints = modelarts.RemoteConstraints
Resource = modelarts.Resource
ResourceCreateTraining = modelarts.ResourceCreateTraining
ResourceRequirements = modelarts.ResourceRequirements
RewardAttrs = modelarts.RewardAttrs
Schedule = modelarts.Schedule
Scheduler = modelarts.Scheduler
SchemaMaps = modelarts.SchemaMaps
Scope = modelarts.Scope
SearchCondition = modelarts.SearchCondition
SearchLabel = modelarts.SearchLabel
SearchLabels = modelarts.SearchLabels
SearchParams = modelarts.SearchParams
SearchProp = modelarts.SearchProp
ServiceConfig = modelarts.ServiceConfig
ShareInfo = modelarts.ShareInfo
ShareInfoAlRp = modelarts.ShareInfoAlRp
ShowAlgorithmByUuidReq = modelarts.ShowAlgorithmByUuidReq
ShowAlgorithmByUuidResp = modelarts.ShowAlgorithmByUuidResp
ShowModelReq = modelarts.ShowModelReq
ShowModelResp = modelarts.ShowModelResp
ShowServiceReq = modelarts.ShowServiceReq
ShowServiceResp = modelarts.ShowServiceResp
ShowServiceResp200 = modelarts.ShowServiceResp200
ShowServiceResp400 = modelarts.ShowServiceResp400
SourceInfo = modelarts.SourceInfo
Spec = modelarts.Spec
Specs = modelarts.Specs
SpecsC = modelarts.SpecsC
StartNotebookParam = modelarts.StartNotebookParam
StartNotebookReq = modelarts.StartNotebookReq
StartNotebookResp = modelarts.StartNotebookResp
Status = modelarts.Status
StopNotebookReq = modelarts.StopNotebookReq
StopNotebookResp = modelarts.StopNotebookResp
TagsAlRp = modelarts.TagsAlRp
TaskResponse = modelarts.TaskResponse
TaskStatuses = modelarts.TaskStatuses
Template = modelarts.Template
TemplateParam = modelarts.TemplateParam
TokenReq = modelarts.TokenReq
TokenResp = modelarts.TokenResp
User = modelarts.User
VolumeReq = modelarts.VolumeReq
VolumeRes = modelarts.VolumeRes
Volumes = modelarts.Volumes
Weigou = modelarts.Weigou
WorkPath = modelarts.WorkPath
ActionProgress = modelarts.ActionProgress
AdvancedConfigAl = modelarts.AdvancedConfigAl
AlgoConfigs = modelarts.AlgoConfigs
Algorithm = modelarts.Algorithm
AlgorithmResponse = modelarts.AlgorithmResponse
Algorithms = modelarts.Algorithms
AnnotationFormatConfig = modelarts.AnnotationFormatConfig
AttributesAlRq = modelarts.AttributesAlRq
Auth = modelarts.Auth
AutoSearch = modelarts.AutoSearch
AutoSearchAlgoConfigParameter = modelarts.AutoSearchAlgoConfigParameter
Billing = modelarts.Billing
Children = modelarts.Children
Cluster = modelarts.Cluster
ClusterNode = modelarts.ClusterNode
CodeTree = modelarts.CodeTree
Config = modelarts.Config
ConfigResponse = modelarts.ConfigResponse
Constraint = modelarts.Constraint
ConstraintAlRp = modelarts.ConstraintAlRp
ConstraintAlRq = modelarts.ConstraintAlRq
ConstraintCreateTraining = modelarts.ConstraintCreateTraining
ContainerHooks = modelarts.ContainerHooks
ContainerHooksResp = modelarts.ContainerHooksResp
Cpu = modelarts.Cpu
CreateAlgorithmReq = modelarts.CreateAlgorithmReq
CreateAlgorithmResp = modelarts.CreateAlgorithmResp
CreateDataSetReq = modelarts.CreateDataSetReq
CreateDataSetResq = modelarts.CreateDataSetResq
CreateModelReq = modelarts.CreateModelReq
CreateModelRequestInferParams = modelarts.CreateModelRequestInferParams
CreateModelRequestModelApis = modelarts.CreateModelRequestModelApis
CreateModelRequestTemplateInput = modelarts.CreateModelRequestTemplateInput
CreateModelResp = modelarts.CreateModelResp
CreateNotebookParam = modelarts.CreateNotebookParam
CreateNotebookReq = modelarts.CreateNotebookReq
CreateNotebookResp = modelarts.CreateNotebookResp
CreateProcessorTaskReq = modelarts.CreateProcessorTaskReq
CreateProcessorTaskResp = modelarts.CreateProcessorTaskResp
CreateServiceReq = modelarts.CreateServiceReq
CreateServiceResp = modelarts.CreateServiceResp
CreateTrainingJobConfigReq = modelarts.CreateTrainingJobConfigReq
CreateTrainingJobConfigResp = modelarts.CreateTrainingJobConfigResp
CreateTrainingJobReq = modelarts.CreateTrainingJobReq
CreateTrainingJobResp = modelarts.CreateTrainingJobResp
CreateTrainingJobResp400 = modelarts.CreateTrainingJobResp400
CreateVisualizationJobParam = modelarts.CreateVisualizationJobParam
CreateVisualizationJobReq = modelarts.CreateVisualizationJobReq
CreateVisualizationJobResp = modelarts.CreateVisualizationJobResp
CustomHooks = modelarts.CustomHooks
CustomSpec = modelarts.CustomSpec
DataSetReq = modelarts.DataSetReq
DataSetResp = modelarts.DataSetResp
DataSets = modelarts.DataSets
DataSource = modelarts.DataSource
DataSources = modelarts.DataSources
DataVolumesRes = modelarts.DataVolumesRes
Dataset = modelarts.Dataset
DeleteAlgorithmsReq = modelarts.DeleteAlgorithmsReq
DeleteAlgorithmsResp = modelarts.DeleteAlgorithmsResp
DeleteDataSetReq = modelarts.DeleteDataSetReq
DeleteDataSetResq = modelarts.DeleteDataSetResq
DeleteModelReq = modelarts.DeleteModelReq
DeleteModelResp = modelarts.DeleteModelResp
DeleteModelResponseFailedList = modelarts.DeleteModelResponseFailedList
DeleteServiceReq = modelarts.DeleteServiceReq
DeleteServiceResp = modelarts.DeleteServiceResp
DeleteTrainingJobConfigReq = modelarts.DeleteTrainingJobConfigReq
DeleteTrainingJobConfigResp = modelarts.DeleteTrainingJobConfigResp
DeleteTrainingJobReq = modelarts.DeleteTrainingJobReq
DeleteTrainingJobResp = modelarts.DeleteTrainingJobResp
DescribeProcessorTaskReq = modelarts.DescribeProcessorTaskReq
DescribeProcessorTaskResp = modelarts.DescribeProcessorTaskResp
Disk = modelarts.Disk
Domain = modelarts.Domain
EndpointsReq = modelarts.EndpointsReq
EndpointsRes = modelarts.EndpointsRes
Engine = modelarts.Engine
EngineAlRp = modelarts.EngineAlRp
EngineAlRq = modelarts.EngineAlRq
EngineCreateTraining = modelarts.EngineCreateTraining
Environments = modelarts.Environments
ExportParams = modelarts.ExportParams
ExportTaskDataResp = modelarts.ExportTaskDataResp
ExportTaskReq = modelarts.ExportTaskReq
ExportTaskStatus = modelarts.ExportTaskStatus
FileStatistics = modelarts.FileStatistics
Flavor = modelarts.Flavor
FlavorDetail = modelarts.FlavorDetail
FlavorInfo = modelarts.FlavorInfo
FlavorResponse = modelarts.FlavorResponse
GetExportTaskStatusOfDatasetReq = modelarts.GetExportTaskStatusOfDatasetReq
GetExportTaskStatusOfDatasetResp = modelarts.GetExportTaskStatusOfDatasetResp
GetExportTasksOfDatasetReq = modelarts.GetExportTasksOfDatasetReq
GetExportTasksOfDatasetResp = modelarts.GetExportTasksOfDatasetResp
GetNotebookStorageReq = modelarts.GetNotebookStorageReq
GetNotebookStorageResp = modelarts.GetNotebookStorageResp
GetVisualizationJobParam = modelarts.GetVisualizationJobParam
GetVisualizationJobReq = modelarts.GetVisualizationJobReq
GetVisualizationJobResp = modelarts.GetVisualizationJobResp
Gpu = modelarts.Gpu
GuideDoc = modelarts.GuideDoc
Hooks = modelarts.Hooks
I18NDescription = modelarts.I18NDescription
Identity = modelarts.Identity
Image = modelarts.Image
ImageInfo = modelarts.ImageInfo
ImportTaskDataReq = modelarts.ImportTaskDataReq
ImportTaskDataResp = modelarts.ImportTaskDataResp
ImportTasks = modelarts.ImportTasks
Input = modelarts.Input
InputDataInfo = modelarts.InputDataInfo
Inputs = modelarts.Inputs
InputsAlRp = modelarts.InputsAlRp
InputsAlRq = modelarts.InputsAlRq
Items = modelarts.Items
JobAlgorithmResponse = modelarts.JobAlgorithmResponse
JobConfigAl = modelarts.JobConfigAl
JobConfigAlRq = modelarts.JobConfigAlRq
JobMetadata = modelarts.JobMetadata
JobProgress = modelarts.JobProgress
JobResponse = modelarts.JobResponse
Jobs = modelarts.Jobs
Lease = modelarts.Lease
LeaseReq = modelarts.LeaseReq
ListAiEnginesReq = modelarts.ListAiEnginesReq
ListAiEnginesResp = modelarts.ListAiEnginesResp
ListAlgorithmsReq = modelarts.ListAlgorithmsReq
ListAlgorithmsResp = modelarts.ListAlgorithmsResp
ListClustersReq = modelarts.ListClustersReq
ListClustersResp = modelarts.ListClustersResp
ListClustersResp200 = modelarts.ListClustersResp200
ListClustersResp400 = modelarts.ListClustersResp400
ListImportTasksReq = modelarts.ListImportTasksReq
ListImportTasksResp = modelarts.ListImportTasksResp
ListModelReq = modelarts.ListModelReq
ListModelResp = modelarts.ListModelResp
ListNotebookParam = modelarts.ListNotebookParam
ListNotebookReq = modelarts.ListNotebookReq
ListNotebookResp = modelarts.ListNotebookResp
ListServices = modelarts.ListServices
ListServicesReq = modelarts.ListServicesReq
ListServicesResp = modelarts.ListServicesResp
ListTrainingJobConfigReq = modelarts.ListTrainingJobConfigReq
ListTrainingJobConfigResp = modelarts.ListTrainingJobConfigResp
ListTrainingJobsreq = modelarts.ListTrainingJobsreq
ListTrainingJobsresp = modelarts.ListTrainingJobsresp
LogExportPath = modelarts.LogExportPath
LogExportPathCreateTraining = modelarts.LogExportPathCreateTraining
Memory = modelarts.Memory
MetadataAlRp = modelarts.MetadataAlRp
MetadataAlRq = modelarts.MetadataAlRq
MetadataCrAl = modelarts.MetadataCrAl
MetadataS = modelarts.MetadataS
Methods = modelarts.Methods
ModelDependencies = modelarts.ModelDependencies
ModelHealth = modelarts.ModelHealth
ModelInOutputParams = modelarts.ModelInOutputParams
ModelListItem = modelarts.ModelListItem
ModelParamsInfo = modelarts.ModelParamsInfo
ModelSpecification = modelarts.ModelSpecification
MountNotebookStorageParam = modelarts.MountNotebookStorageParam
MountNotebookStorageReq = modelarts.MountNotebookStorageReq
MountNotebookStorageResp = modelarts.MountNotebookStorageResp
Nfs = modelarts.Nfs
NotebookResp = modelarts.NotebookResp
Npu = modelarts.Npu
Obs = modelarts.Obs
Obs1 = modelarts.Obs1
OperatorParam = modelarts.OperatorParam
Output = modelarts.Output
Outputs = modelarts.Outputs
OutputsAl = modelarts.OutputsAl
OutputsAlRp = modelarts.OutputsAlRp
Packages = modelarts.Packages
Parameter = modelarts.Parameter
ParameterS = modelarts.ParameterS
ParametersAlRp = modelarts.ParametersAlRp
ParametersAlRq = modelarts.ParametersAlRq
ParametersTrainJob = modelarts.ParametersTrainJob
Password = modelarts.Password
Policies = modelarts.Policies
PoliciesCreateTraining = modelarts.PoliciesCreateTraining
Pool = modelarts.Pool
PostStart = modelarts.PostStart
PreStart = modelarts.PreStart
ProcessorDataSource = modelarts.ProcessorDataSource
Project = modelarts.Project
QueryServiceConfig = modelarts.QueryServiceConfig
Remote = modelarts.Remote
RemoteConstraint = modelarts.RemoteConstraint
RemoteConstraints = modelarts.RemoteConstraints
Resource = modelarts.Resource
ResourceCreateTraining = modelarts.ResourceCreateTraining
ResourceRequirements = modelarts.ResourceRequirements
RewardAttrs = modelarts.RewardAttrs
Schedule = modelarts.Schedule
Scheduler = modelarts.Scheduler
SchemaMaps = modelarts.SchemaMaps
Scope = modelarts.Scope
SearchCondition = modelarts.SearchCondition
SearchLabel = modelarts.SearchLabel
SearchLabels = modelarts.SearchLabels
SearchParams = modelarts.SearchParams
SearchProp = modelarts.SearchProp
ServiceConfig = modelarts.ServiceConfig
ShareInfo = modelarts.ShareInfo
ShareInfoAlRp = modelarts.ShareInfoAlRp
ShowAlgorithmByUuidReq = modelarts.ShowAlgorithmByUuidReq
ShowAlgorithmByUuidResp = modelarts.ShowAlgorithmByUuidResp
ShowModelReq = modelarts.ShowModelReq
ShowModelResp = modelarts.ShowModelResp
ShowServiceReq = modelarts.ShowServiceReq
ShowServiceResp = modelarts.ShowServiceResp
SourceInfo = modelarts.SourceInfo
Spec = modelarts.Spec
Specs = modelarts.Specs
SpecsC = modelarts.SpecsC
StartNotebookParam = modelarts.StartNotebookParam
StartNotebookReq = modelarts.StartNotebookReq
StartNotebookResp = modelarts.StartNotebookResp
Status = modelarts.Status
StopNotebookReq = modelarts.StopNotebookReq
StopNotebookResp = modelarts.StopNotebookResp
Tags = modelarts.Tags
TagsAlRp = modelarts.TagsAlRp
TaskResponse = modelarts.TaskResponse
TaskStatuses = modelarts.TaskStatuses
Template = modelarts.Template
TemplateParam = modelarts.TemplateParam
TokenReq = modelarts.TokenReq
TokenResp = modelarts.TokenResp
TrainingJobFlavorsReq = modelarts.TrainingJobFlavorsReq
TrainingJobFlavorsResp = modelarts.TrainingJobFlavorsResp
User = modelarts.User
UserNotebookDomain = modelarts.UserNotebookDomain
UserNotebookResp = modelarts.UserNotebookResp
VolumeReq = modelarts.VolumeReq
VolumeRes = modelarts.VolumeRes
Volumes = modelarts.Volumes
Weigou = modelarts.Weigou
WorkPath = modelarts.WorkPath
ModelArts interface {
// get modelarts Token
@ -298,8 +289,12 @@ type (
DeleteAlgorithms(ctx context.Context, in *DeleteAlgorithmsReq, opts ...grpc.CallOption) (*DeleteAlgorithmsResp, error)
// ShowAlgorithmByUuid 展示算法详情
ShowAlgorithmByUuid(ctx context.Context, in *ShowAlgorithmByUuidReq, opts ...grpc.CallOption) (*ShowAlgorithmByUuidResp, error)
// training-job-flavors 获取训练作业支持的公共规格
GetTrainingJobFlavors(ctx context.Context, in *TrainingJobFlavorsReq, opts ...grpc.CallOption) (*TrainingJobFlavorsResp, error)
// GET ai-engines 查询作业引擎规格
GetAiEnginesList(ctx context.Context, in *ListAiEnginesReq, opts ...grpc.CallOption) (*ListAiEnginesResp, error)
// export task
ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskResp, error)
ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskDataResp, error)
GetExportTasksOfDataset(ctx context.Context, in *GetExportTasksOfDatasetReq, opts ...grpc.CallOption) (*GetExportTasksOfDatasetResp, error)
GetExportTaskStatusOfDataset(ctx context.Context, in *GetExportTaskStatusOfDatasetReq, opts ...grpc.CallOption) (*GetExportTaskStatusOfDatasetResp, error)
// processor task
@ -435,8 +430,20 @@ func (m *defaultModelArts) ShowAlgorithmByUuid(ctx context.Context, in *ShowAlgo
return client.ShowAlgorithmByUuid(ctx, in, opts...)
}
// training-job-flavors 获取训练作业支持的公共规格
func (m *defaultModelArts) GetTrainingJobFlavors(ctx context.Context, in *TrainingJobFlavorsReq, opts ...grpc.CallOption) (*TrainingJobFlavorsResp, error) {
client := modelarts.NewModelArtsClient(m.cli.Conn())
return client.GetTrainingJobFlavors(ctx, in, opts...)
}
// GET ai-engines 查询作业引擎规格
func (m *defaultModelArts) GetAiEnginesList(ctx context.Context, in *ListAiEnginesReq, opts ...grpc.CallOption) (*ListAiEnginesResp, error) {
client := modelarts.NewModelArtsClient(m.cli.Conn())
return client.GetAiEnginesList(ctx, in, opts...)
}
// export task
func (m *defaultModelArts) ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskResp, error) {
func (m *defaultModelArts) ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskDataResp, error) {
client := modelarts.NewModelArtsClient(m.cli.Conn())
return client.ExportTask(ctx, in, opts...)
}

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +1,16 @@
package main
import (
"flag"
"github.com/zeromicro/go-zero/core/logx"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/config"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/server"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
commonConfig "PCM/common/config"
"PCM/common/interceptor/rpcserver"
"flag"
"github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/core/logx"
"github.com/zeromicro/go-zero/core/service"
"github.com/zeromicro/go-zero/zrpc"
"google.golang.org/grpc"
@ -19,13 +20,33 @@ import (
var configFile = flag.String("f", "adaptor/PCM-AI/PCM-MODELARTS/rpc/etc/pcmmodelarts.yaml", "the config file")
func main() {
flag.Parse()
var bootstrapConfig commonConfig.BootstrapConfig
conf.MustLoad(*configFile, &bootstrapConfig)
//解析业务配置
var c config.Config
conf.MustLoad(*configFile, &c)
nacosConfig := bootstrapConfig.NacosConfig
serviceConfigContent := nacosConfig.InitConfig(func(data string) {
err := conf.LoadFromYamlBytes([]byte(data), &c)
if err != nil {
panic(err)
}
})
err := conf.LoadFromYamlBytes([]byte(serviceConfigContent), &c)
if err != nil {
panic(err)
}
// start log component
logx.MustSetup(c.LogConf)
// 注册到nacos
nacosConfig.Discovery(&c.RpcServerConf)
ctx := svc.NewServiceContext(c)
ctx.Cron.Start()
s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
modelarts.RegisterModelArtsServer(grpcServer, server.NewModelArtsServer(ctx))
@ -34,8 +55,13 @@ func main() {
reflection.Register(grpcServer)
}
})
//rpc log
s.AddUnaryInterceptors(rpcserver.LoggerInterceptor)
defer s.Stop()
logx.Infof("Starting rpc server at %s...\n", c.ListenOn)
logic.InitCron(ctx)
s.Start()
}

View File

@ -0,0 +1,53 @@
// Code generated by goctl. DO NOT EDIT.
// Source: pcm-ms.proto
package agentservice
import (
"context"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
"github.com/zeromicro/go-zero/zrpc"
"google.golang.org/grpc"
)
type (
ClusterReRegisterMessageProto = ms.ClusterReRegisterMessageProto
ClusterRegisterAckMessageProto = ms.ClusterRegisterAckMessageProto
ClusterStateChangeMessageProto = ms.ClusterStateChangeMessageProto
MessageProducerProto = ms.MessageProducerProto
MessageResponseProto = ms.MessageResponseProto
StringStringMapProto = ms.StringStringMapProto
AgentService interface {
RequireReRegister(ctx context.Context, in *ClusterReRegisterMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
RegisterAck(ctx context.Context, in *ClusterRegisterAckMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
ChangeClusterState(ctx context.Context, in *ClusterStateChangeMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
}
defaultAgentService struct {
cli zrpc.Client
}
)
func NewAgentService(cli zrpc.Client) AgentService {
return &defaultAgentService{
cli: cli,
}
}
func (m *defaultAgentService) RequireReRegister(ctx context.Context, in *ClusterReRegisterMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
client := ms.NewAgentServiceClient(m.cli.Conn())
return client.RequireReRegister(ctx, in, opts...)
}
func (m *defaultAgentService) RegisterAck(ctx context.Context, in *ClusterRegisterAckMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
client := ms.NewAgentServiceClient(m.cli.Conn())
return client.RegisterAck(ctx, in, opts...)
}
func (m *defaultAgentService) ChangeClusterState(ctx context.Context, in *ClusterStateChangeMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
client := ms.NewAgentServiceClient(m.cli.Conn())
return client.ChangeClusterState(ctx, in, opts...)
}

View File

@ -0,0 +1,6 @@
Name: pcmms.rpc
ListenOn: 0.0.0.0:8080
Etcd:
Hosts:
- 127.0.0.1:2379
Key: pcmms.rpc

View File

@ -0,0 +1,7 @@
package config
import "github.com/zeromicro/go-zero/zrpc"
type Config struct {
zrpc.RpcServerConf
}

View File

@ -0,0 +1,30 @@
package logic
import (
"context"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
"github.com/zeromicro/go-zero/core/logx"
)
type ChangeClusterStateLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewChangeClusterStateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ChangeClusterStateLogic {
return &ChangeClusterStateLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *ChangeClusterStateLogic) ChangeClusterState(in *ms.ClusterStateChangeMessageProto) (*ms.MessageResponseProto, error) {
// todo: add your logic here and delete this line
return &ms.MessageResponseProto{}, nil
}

View File

@ -0,0 +1,30 @@
package logic
import (
"context"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
"github.com/zeromicro/go-zero/core/logx"
)
type RegisterAckLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewRegisterAckLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RegisterAckLogic {
return &RegisterAckLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *RegisterAckLogic) RegisterAck(in *ms.ClusterRegisterAckMessageProto) (*ms.MessageResponseProto, error) {
// todo: add your logic here and delete this line
return &ms.MessageResponseProto{}, nil
}

View File

@ -0,0 +1,30 @@
package logic
import (
"context"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
"github.com/zeromicro/go-zero/core/logx"
)
type RequireReRegisterLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewRequireReRegisterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RequireReRegisterLogic {
return &RequireReRegisterLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *RequireReRegisterLogic) RequireReRegister(in *ms.ClusterReRegisterMessageProto) (*ms.MessageResponseProto, error) {
// todo: add your logic here and delete this line
return &ms.MessageResponseProto{}, nil
}

View File

@ -0,0 +1,38 @@
// Code generated by goctl. DO NOT EDIT.
// Source: pcm-ms.proto
package server
import (
"context"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/logic"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
)
type AgentServiceServer struct {
svcCtx *svc.ServiceContext
ms.UnimplementedAgentServiceServer
}
func NewAgentServiceServer(svcCtx *svc.ServiceContext) *AgentServiceServer {
return &AgentServiceServer{
svcCtx: svcCtx,
}
}
func (s *AgentServiceServer) RequireReRegister(ctx context.Context, in *ms.ClusterReRegisterMessageProto) (*ms.MessageResponseProto, error) {
l := logic.NewRequireReRegisterLogic(ctx, s.svcCtx)
return l.RequireReRegister(in)
}
func (s *AgentServiceServer) RegisterAck(ctx context.Context, in *ms.ClusterRegisterAckMessageProto) (*ms.MessageResponseProto, error) {
l := logic.NewRegisterAckLogic(ctx, s.svcCtx)
return l.RegisterAck(in)
}
func (s *AgentServiceServer) ChangeClusterState(ctx context.Context, in *ms.ClusterStateChangeMessageProto) (*ms.MessageResponseProto, error) {
l := logic.NewChangeClusterStateLogic(ctx, s.svcCtx)
return l.ChangeClusterState(in)
}

View File

@ -0,0 +1,13 @@
package svc
import "PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/config"
type ServiceContext struct {
Config config.Config
}
func NewServiceContext(c config.Config) *ServiceContext {
return &ServiceContext{
Config: c,
}
}

View File

@ -0,0 +1,613 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v3.19.4
// source: pcm-ms.proto
package ms
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type MessageStatus int32
const (
MessageStatus_FAIL MessageStatus = 0
MessageStatus_SUCCESS MessageStatus = 1
MessageStatus_UNKNOWN MessageStatus = 2
)
// Enum value maps for MessageStatus.
var (
MessageStatus_name = map[int32]string{
0: "FAIL",
1: "SUCCESS",
2: "UNKNOWN",
}
MessageStatus_value = map[string]int32{
"FAIL": 0,
"SUCCESS": 1,
"UNKNOWN": 2,
}
)
func (x MessageStatus) Enum() *MessageStatus {
p := new(MessageStatus)
*p = x
return p
}
func (x MessageStatus) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MessageStatus) Descriptor() protoreflect.EnumDescriptor {
return file_pcm_ms_proto_enumTypes[0].Descriptor()
}
func (MessageStatus) Type() protoreflect.EnumType {
return &file_pcm_ms_proto_enumTypes[0]
}
func (x MessageStatus) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MessageStatus.Descriptor instead.
func (MessageStatus) EnumDescriptor() ([]byte, []int) {
return file_pcm_ms_proto_rawDescGZIP(), []int{0}
}
type ClusterReRegisterMessageProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgProducer *MessageProducerProto `protobuf:"bytes,1,opt,name=msg_producer,json=msgProducer,proto3" json:"msg_producer,omitempty"`
}
func (x *ClusterReRegisterMessageProto) Reset() {
*x = ClusterReRegisterMessageProto{}
if protoimpl.UnsafeEnabled {
mi := &file_pcm_ms_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClusterReRegisterMessageProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClusterReRegisterMessageProto) ProtoMessage() {}
func (x *ClusterReRegisterMessageProto) ProtoReflect() protoreflect.Message {
mi := &file_pcm_ms_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClusterReRegisterMessageProto.ProtoReflect.Descriptor instead.
func (*ClusterReRegisterMessageProto) Descriptor() ([]byte, []int) {
return file_pcm_ms_proto_rawDescGZIP(), []int{0}
}
func (x *ClusterReRegisterMessageProto) GetMsgProducer() *MessageProducerProto {
if x != nil {
return x.MsgProducer
}
return nil
}
type MessageProducerProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsNetId string `protobuf:"bytes,1,opt,name=ms_net_id,json=msNetId,proto3" json:"ms_net_id,omitempty"`
ClusterId string `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
AgentServiceHost string `protobuf:"bytes,3,opt,name=agent_service_host,json=agentServiceHost,proto3" json:"agent_service_host,omitempty"`
AgentServicePort int32 `protobuf:"varint,4,opt,name=agent_service_port,json=agentServicePort,proto3" json:"agent_service_port,omitempty"`
}
func (x *MessageProducerProto) Reset() {
*x = MessageProducerProto{}
if protoimpl.UnsafeEnabled {
mi := &file_pcm_ms_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageProducerProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageProducerProto) ProtoMessage() {}
func (x *MessageProducerProto) ProtoReflect() protoreflect.Message {
mi := &file_pcm_ms_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageProducerProto.ProtoReflect.Descriptor instead.
func (*MessageProducerProto) Descriptor() ([]byte, []int) {
return file_pcm_ms_proto_rawDescGZIP(), []int{1}
}
func (x *MessageProducerProto) GetMsNetId() string {
if x != nil {
return x.MsNetId
}
return ""
}
func (x *MessageProducerProto) GetClusterId() string {
if x != nil {
return x.ClusterId
}
return ""
}
func (x *MessageProducerProto) GetAgentServiceHost() string {
if x != nil {
return x.AgentServiceHost
}
return ""
}
func (x *MessageProducerProto) GetAgentServicePort() int32 {
if x != nil {
return x.AgentServicePort
}
return 0
}
type ClusterRegisterAckMessageProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgProducer *MessageProducerProto `protobuf:"bytes,1,opt,name=msg_producer,json=msgProducer,proto3" json:"msg_producer,omitempty"`
Configs []*StringStringMapProto `protobuf:"bytes,3,rep,name=configs,proto3" json:"configs,omitempty"`
}
func (x *ClusterRegisterAckMessageProto) Reset() {
*x = ClusterRegisterAckMessageProto{}
if protoimpl.UnsafeEnabled {
mi := &file_pcm_ms_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClusterRegisterAckMessageProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClusterRegisterAckMessageProto) ProtoMessage() {}
func (x *ClusterRegisterAckMessageProto) ProtoReflect() protoreflect.Message {
mi := &file_pcm_ms_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClusterRegisterAckMessageProto.ProtoReflect.Descriptor instead.
func (*ClusterRegisterAckMessageProto) Descriptor() ([]byte, []int) {
return file_pcm_ms_proto_rawDescGZIP(), []int{2}
}
func (x *ClusterRegisterAckMessageProto) GetMsgProducer() *MessageProducerProto {
if x != nil {
return x.MsgProducer
}
return nil
}
func (x *ClusterRegisterAckMessageProto) GetConfigs() []*StringStringMapProto {
if x != nil {
return x.Configs
}
return nil
}
type StringStringMapProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *StringStringMapProto) Reset() {
*x = StringStringMapProto{}
if protoimpl.UnsafeEnabled {
mi := &file_pcm_ms_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StringStringMapProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StringStringMapProto) ProtoMessage() {}
func (x *StringStringMapProto) ProtoReflect() protoreflect.Message {
mi := &file_pcm_ms_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StringStringMapProto.ProtoReflect.Descriptor instead.
func (*StringStringMapProto) Descriptor() ([]byte, []int) {
return file_pcm_ms_proto_rawDescGZIP(), []int{3}
}
func (x *StringStringMapProto) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *StringStringMapProto) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
type ClusterStateChangeMessageProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgProducer *MessageProducerProto `protobuf:"bytes,1,opt,name=msg_producer,json=msgProducer,proto3" json:"msg_producer,omitempty"`
ClusterState int32 `protobuf:"varint,2,opt,name=cluster_state,json=clusterState,proto3" json:"cluster_state,omitempty"`
}
func (x *ClusterStateChangeMessageProto) Reset() {
*x = ClusterStateChangeMessageProto{}
if protoimpl.UnsafeEnabled {
mi := &file_pcm_ms_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClusterStateChangeMessageProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClusterStateChangeMessageProto) ProtoMessage() {}
func (x *ClusterStateChangeMessageProto) ProtoReflect() protoreflect.Message {
mi := &file_pcm_ms_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClusterStateChangeMessageProto.ProtoReflect.Descriptor instead.
func (*ClusterStateChangeMessageProto) Descriptor() ([]byte, []int) {
return file_pcm_ms_proto_rawDescGZIP(), []int{4}
}
func (x *ClusterStateChangeMessageProto) GetMsgProducer() *MessageProducerProto {
if x != nil {
return x.MsgProducer
}
return nil
}
func (x *ClusterStateChangeMessageProto) GetClusterState() int32 {
if x != nil {
return x.ClusterState
}
return 0
}
type MessageResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MessageStatus MessageStatus `protobuf:"varint,1,opt,name=message_status,json=messageStatus,proto3,enum=ms.MessageStatus" json:"message_status,omitempty"`
}
func (x *MessageResponseProto) Reset() {
*x = MessageResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_pcm_ms_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageResponseProto) ProtoMessage() {}
func (x *MessageResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_pcm_ms_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageResponseProto.ProtoReflect.Descriptor instead.
func (*MessageResponseProto) Descriptor() ([]byte, []int) {
return file_pcm_ms_proto_rawDescGZIP(), []int{5}
}
func (x *MessageResponseProto) GetMessageStatus() MessageStatus {
if x != nil {
return x.MessageStatus
}
return MessageStatus_FAIL
}
var File_pcm_ms_proto protoreflect.FileDescriptor
var file_pcm_ms_proto_rawDesc = []byte{
0x0a, 0x0c, 0x70, 0x63, 0x6d, 0x2d, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02,
0x6d, 0x73, 0x22, 0x5c, 0x0a, 0x1d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x3b, 0x0a, 0x0c, 0x6d, 0x73, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x73, 0x2e, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72,
0x22, 0xad, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x09, 0x6d, 0x73, 0x5f,
0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x73,
0x4e, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x10, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x6f,
0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10,
0x61, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74,
0x22, 0x91, 0x01, 0x0a, 0x1e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x3b, 0x0a, 0x0c, 0x6d, 0x73, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x73, 0x2e, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72,
0x12, 0x32, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x73, 0x22, 0x3e, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x1e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3b, 0x0a, 0x0c, 0x6d, 0x73, 0x67, 0x5f, 0x70,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
0x6d, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x50, 0x0a, 0x14, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x38, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6d, 0x73, 0x2e, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x33, 0x0a, 0x0d, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04,
0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53,
0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x02,
0x32, 0x87, 0x02, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x12, 0x52, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x52, 0x65, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x6d, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x52, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x2e, 0x6d, 0x73, 0x2e, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
0x72, 0x41, 0x63, 0x6b, 0x12, 0x22, 0x2e, 0x6d, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x2e, 0x6d, 0x73, 0x2e, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x73, 0x2e,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18,
0x2e, 0x6d, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x00, 0x42, 0x05, 0x5a, 0x03, 0x2f, 0x6d,
0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_pcm_ms_proto_rawDescOnce sync.Once
file_pcm_ms_proto_rawDescData = file_pcm_ms_proto_rawDesc
)
func file_pcm_ms_proto_rawDescGZIP() []byte {
file_pcm_ms_proto_rawDescOnce.Do(func() {
file_pcm_ms_proto_rawDescData = protoimpl.X.CompressGZIP(file_pcm_ms_proto_rawDescData)
})
return file_pcm_ms_proto_rawDescData
}
var file_pcm_ms_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_pcm_ms_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_pcm_ms_proto_goTypes = []interface{}{
(MessageStatus)(0), // 0: ms.MessageStatus
(*ClusterReRegisterMessageProto)(nil), // 1: ms.ClusterReRegisterMessageProto
(*MessageProducerProto)(nil), // 2: ms.MessageProducerProto
(*ClusterRegisterAckMessageProto)(nil), // 3: ms.ClusterRegisterAckMessageProto
(*StringStringMapProto)(nil), // 4: ms.StringStringMapProto
(*ClusterStateChangeMessageProto)(nil), // 5: ms.ClusterStateChangeMessageProto
(*MessageResponseProto)(nil), // 6: ms.MessageResponseProto
}
var file_pcm_ms_proto_depIdxs = []int32{
2, // 0: ms.ClusterReRegisterMessageProto.msg_producer:type_name -> ms.MessageProducerProto
2, // 1: ms.ClusterRegisterAckMessageProto.msg_producer:type_name -> ms.MessageProducerProto
4, // 2: ms.ClusterRegisterAckMessageProto.configs:type_name -> ms.StringStringMapProto
2, // 3: ms.ClusterStateChangeMessageProto.msg_producer:type_name -> ms.MessageProducerProto
0, // 4: ms.MessageResponseProto.message_status:type_name -> ms.MessageStatus
1, // 5: ms.AgentService.requireReRegister:input_type -> ms.ClusterReRegisterMessageProto
3, // 6: ms.AgentService.registerAck:input_type -> ms.ClusterRegisterAckMessageProto
5, // 7: ms.AgentService.changeClusterState:input_type -> ms.ClusterStateChangeMessageProto
6, // 8: ms.AgentService.requireReRegister:output_type -> ms.MessageResponseProto
6, // 9: ms.AgentService.registerAck:output_type -> ms.MessageResponseProto
6, // 10: ms.AgentService.changeClusterState:output_type -> ms.MessageResponseProto
8, // [8:11] is the sub-list for method output_type
5, // [5:8] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
}
func init() { file_pcm_ms_proto_init() }
func file_pcm_ms_proto_init() {
if File_pcm_ms_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_pcm_ms_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClusterReRegisterMessageProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pcm_ms_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageProducerProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pcm_ms_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClusterRegisterAckMessageProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pcm_ms_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StringStringMapProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pcm_ms_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClusterStateChangeMessageProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pcm_ms_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pcm_ms_proto_rawDesc,
NumEnums: 1,
NumMessages: 6,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_pcm_ms_proto_goTypes,
DependencyIndexes: file_pcm_ms_proto_depIdxs,
EnumInfos: file_pcm_ms_proto_enumTypes,
MessageInfos: file_pcm_ms_proto_msgTypes,
}.Build()
File_pcm_ms_proto = out.File
file_pcm_ms_proto_rawDesc = nil
file_pcm_ms_proto_goTypes = nil
file_pcm_ms_proto_depIdxs = nil
}

View File

@ -0,0 +1,177 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.19.4
// source: pcm-ms.proto
package ms
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
// AgentServiceClient is the client API for AgentService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type AgentServiceClient interface {
RequireReRegister(ctx context.Context, in *ClusterReRegisterMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
RegisterAck(ctx context.Context, in *ClusterRegisterAckMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
ChangeClusterState(ctx context.Context, in *ClusterStateChangeMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
}
type agentServiceClient struct {
cc grpc.ClientConnInterface
}
func NewAgentServiceClient(cc grpc.ClientConnInterface) AgentServiceClient {
return &agentServiceClient{cc}
}
func (c *agentServiceClient) RequireReRegister(ctx context.Context, in *ClusterReRegisterMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
out := new(MessageResponseProto)
err := c.cc.Invoke(ctx, "/ms.AgentService/requireReRegister", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *agentServiceClient) RegisterAck(ctx context.Context, in *ClusterRegisterAckMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
out := new(MessageResponseProto)
err := c.cc.Invoke(ctx, "/ms.AgentService/registerAck", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *agentServiceClient) ChangeClusterState(ctx context.Context, in *ClusterStateChangeMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
out := new(MessageResponseProto)
err := c.cc.Invoke(ctx, "/ms.AgentService/changeClusterState", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// AgentServiceServer is the server API for AgentService service.
// All implementations must embed UnimplementedAgentServiceServer
// for forward compatibility
type AgentServiceServer interface {
RequireReRegister(context.Context, *ClusterReRegisterMessageProto) (*MessageResponseProto, error)
RegisterAck(context.Context, *ClusterRegisterAckMessageProto) (*MessageResponseProto, error)
ChangeClusterState(context.Context, *ClusterStateChangeMessageProto) (*MessageResponseProto, error)
mustEmbedUnimplementedAgentServiceServer()
}
// UnimplementedAgentServiceServer must be embedded to have forward compatible implementations.
type UnimplementedAgentServiceServer struct {
}
func (UnimplementedAgentServiceServer) RequireReRegister(context.Context, *ClusterReRegisterMessageProto) (*MessageResponseProto, error) {
return nil, status.Errorf(codes.Unimplemented, "method RequireReRegister not implemented")
}
func (UnimplementedAgentServiceServer) RegisterAck(context.Context, *ClusterRegisterAckMessageProto) (*MessageResponseProto, error) {
return nil, status.Errorf(codes.Unimplemented, "method RegisterAck not implemented")
}
func (UnimplementedAgentServiceServer) ChangeClusterState(context.Context, *ClusterStateChangeMessageProto) (*MessageResponseProto, error) {
return nil, status.Errorf(codes.Unimplemented, "method ChangeClusterState not implemented")
}
func (UnimplementedAgentServiceServer) mustEmbedUnimplementedAgentServiceServer() {}
// UnsafeAgentServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to AgentServiceServer will
// result in compilation errors.
type UnsafeAgentServiceServer interface {
mustEmbedUnimplementedAgentServiceServer()
}
func RegisterAgentServiceServer(s grpc.ServiceRegistrar, srv AgentServiceServer) {
s.RegisterService(&AgentService_ServiceDesc, srv)
}
func _AgentService_RequireReRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ClusterReRegisterMessageProto)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AgentServiceServer).RequireReRegister(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/ms.AgentService/requireReRegister",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AgentServiceServer).RequireReRegister(ctx, req.(*ClusterReRegisterMessageProto))
}
return interceptor(ctx, in, info, handler)
}
func _AgentService_RegisterAck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ClusterRegisterAckMessageProto)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AgentServiceServer).RegisterAck(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/ms.AgentService/registerAck",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AgentServiceServer).RegisterAck(ctx, req.(*ClusterRegisterAckMessageProto))
}
return interceptor(ctx, in, info, handler)
}
func _AgentService_ChangeClusterState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ClusterStateChangeMessageProto)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AgentServiceServer).ChangeClusterState(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/ms.AgentService/changeClusterState",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AgentServiceServer).ChangeClusterState(ctx, req.(*ClusterStateChangeMessageProto))
}
return interceptor(ctx, in, info, handler)
}
// AgentService_ServiceDesc is the grpc.ServiceDesc for AgentService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var AgentService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "ms.AgentService",
HandlerType: (*AgentServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "requireReRegister",
Handler: _AgentService_RequireReRegister_Handler,
},
{
MethodName: "registerAck",
Handler: _AgentService_RegisterAck_Handler,
},
{
MethodName: "changeClusterState",
Handler: _AgentService_ChangeClusterState_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "pcm-ms.proto",
}

View File

@ -0,0 +1,47 @@
syntax = "proto3";
package ms;
option go_package = "/ms";
message ClusterReRegisterMessageProto {
MessageProducerProto msg_producer = 1;
}
message MessageProducerProto {
string ms_net_id = 1;
string cluster_id = 2;
string agent_service_host = 3;
int32 agent_service_port = 4;
}
message ClusterRegisterAckMessageProto {
MessageProducerProto msg_producer = 1;
repeated StringStringMapProto configs = 3;
}
message StringStringMapProto {
string key = 1;
string value = 2;
}
message ClusterStateChangeMessageProto {
MessageProducerProto msg_producer = 1;
int32 cluster_state = 2;
}
enum MessageStatus {
FAIL = 0;
SUCCESS = 1;
UNKNOWN = 2;
}
message MessageResponseProto {
MessageStatus message_status = 1;
}
service AgentService {
rpc requireReRegister (ClusterReRegisterMessageProto) returns (MessageResponseProto) {};
rpc registerAck (ClusterRegisterAckMessageProto) returns (MessageResponseProto) {};
rpc changeClusterState (ClusterStateChangeMessageProto) returns (MessageResponseProto) {};
}

View File

@ -0,0 +1,39 @@
package main
import (
"flag"
"fmt"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/config"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/server"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
"github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/core/service"
"github.com/zeromicro/go-zero/zrpc"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
)
var configFile = flag.String("f", "etc/pcmms.yaml", "the config file")
func main() {
flag.Parse()
var c config.Config
conf.MustLoad(*configFile, &c)
ctx := svc.NewServiceContext(c)
s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
ms.RegisterAgentServiceServer(grpcServer, server.NewAgentServiceServer(ctx))
if c.Mode == service.DevMode || c.Mode == service.TestMode {
reflection.Register(grpcServer)
}
})
defer s.Stop()
fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)
s.Start()
}

View File

@ -0,0 +1,2 @@
rpc-gen:
goctl rpc protoc ./pb/*.proto --go_out=./ --go-grpc_out=./ --zrpc_out=.

View File

@ -0,0 +1,16 @@
NacosConfig:
DataId: pcm-octopus-rpc.yaml
Group: DEFAULT_GROUP
ServerConfigs:
- IpAddr: nacos.jcce.dev
Port: 8848
# - IpAddr: nacos-headless
# Port: 8848
ClientConfig:
NamespaceId: test_octopus
TimeoutMs: 5000
NotLoadCacheAtStart: true
LogDir:
CacheDir:
LogLevel: debug

View File

@ -0,0 +1,110 @@
package common
type TokenResp struct {
Success bool `json:"success"`
Payload struct {
Token string `json:"token"`
Expiration int `json:"expiration"`
} `json:"payload"`
Error interface{} `json:"error"`
}
type SuiyuanResp struct {
Success bool `json:"success"`
Payload struct {
MapResourceSpecIdList struct {
Debug struct {
ResourceSpecs []struct {
Id string `json:"id"`
Name string `json:"name"`
Price int `json:"price"`
ResourceQuantity struct {
Cpu string `json:"cpu,omitempty"`
EnflameComDtu string `json:"enflame.com/dtu,omitempty"`
Memory string `json:"memory"`
Shm string `json:"shm,omitempty"`
CpuCpu string `json:"cpu_cpu,omitempty"`
} `json:"resourceQuantity"`
} `json:"resourceSpecs"`
} `json:"debug"`
Deploy struct {
ResourceSpecs []interface{} `json:"resourceSpecs"`
} `json:"deploy"`
Train struct {
ResourceSpecs []struct {
Id string `json:"id"`
Name string `json:"name"`
Price int `json:"price"`
ResourceQuantity struct {
Cpu string `json:"cpu"`
EnflameComDtu string `json:"enflame.com/dtu"`
Memory string `json:"memory"`
Shm string `json:"shm"`
} `json:"resourceQuantity"`
} `json:"resourceSpecs"`
} `json:"train"`
} `json:"mapResourceSpecIdList"`
} `json:"payload"`
Error interface{} `json:"error"`
}
type HanwujiResp struct {
Success bool `json:"success"`
Payload struct {
MapResourceSpecIdList struct {
Debug struct {
ResourceSpecs []struct {
Id string `json:"id"`
Name string `json:"name"`
Price int `json:"price"`
ResourceQuantity struct {
CambriconComMlu string `json:"cambricon.com/mlu,omitempty"`
Cpu string `json:"cpu"`
Memory string `json:"memory"`
Shm string `json:"shm,omitempty"`
} `json:"resourceQuantity"`
} `json:"resourceSpecs"`
} `json:"debug"`
Deploy struct {
ResourceSpecs []interface{} `json:"resourceSpecs"`
} `json:"deploy"`
Train struct {
ResourceSpecs []struct {
Id string `json:"id"`
Name string `json:"name"`
Price int `json:"price"`
ResourceQuantity struct {
CambriconComMlu string `json:"cambricon.com/mlu,omitempty"`
Cpu string `json:"cpu"`
Memory string `json:"memory"`
Shm string `json:"shm,omitempty"`
} `json:"resourceQuantity"`
} `json:"resourceSpecs"`
} `json:"train"`
} `json:"mapResourceSpecIdList"`
} `json:"payload"`
Error interface{} `json:"error"`
}
type SailingsiResp struct {
Success bool `json:"success"`
Payload struct {
MapResourceSpecIdList struct {
Debug struct {
ResourceSpecs []interface{} `json:"resourceSpecs"`
} `json:"debug"`
Deploy struct {
ResourceSpecs []interface{} `json:"resourceSpecs"`
} `json:"deploy"`
Train struct {
ResourceSpecs []interface{} `json:"resourceSpecs"`
} `json:"train"`
} `json:"mapResourceSpecIdList"`
} `json:"payload"`
Error interface{} `json:"error"`
}
type Login struct {
Username string `json:"username"`
Password string `json:"password"`
}

View File

@ -0,0 +1,36 @@
package common
import (
"io"
"log"
"net/http"
"os"
"time"
)
func OctopusHttpClient(method string, url string, payload io.Reader, token string) ([]byte, error) {
request, err := http.NewRequest(method, url, payload)
if token != "" {
request.Header.Set("Authorization", "Bearer "+token)
} else {
request.Header.Set("Content-Type", "application/json")
}
client := http.Client{Timeout: time.Duration(2) * time.Second}
res, err := client.Do(request)
if err != nil {
if os.IsTimeout(err) {
log.Println("接口调用超时 : ", err)
request.Body.Close()
return nil, err
}
log.Println(err)
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
log.Println("body转换错误: ", err)
return nil, err
}
return body, err
}

View File

@ -0,0 +1,93 @@
package common
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config"
"PCM/common/tool"
"bytes"
"encoding/json"
"log"
"time"
)
const (
Hanwuji = "hanwuji"
Suiyuan = "suiyuan"
Sailingsi = "sailingsi"
)
type TokenTimePair struct {
Token string
ExpiredAt time.Time
}
var (
tokenMap = generateTokenMap()
OctopusUrls = getOctopusUrls()
)
func generateTokenMap() map[string]TokenTimePair {
var tokenMap = make(map[string]TokenTimePair)
octopusConfig := config.Cfg
login := Login{
Username: octopusConfig.OctopusConfig.Username,
Password: octopusConfig.OctopusConfig.Password,
}
jsonStr, _ := json.Marshal(login)
urlMap := map[string]string{
Hanwuji: octopusConfig.OctopusConfig.HanwujiUrl + octopusConfig.OctopusConfig.OctopusTokenUrl,
Suiyuan: octopusConfig.OctopusConfig.SuiyuanUrl + octopusConfig.OctopusConfig.OctopusTokenUrl,
Sailingsi: octopusConfig.OctopusConfig.SailingsiUrl + octopusConfig.OctopusConfig.OctopusTokenUrl,
}
for k, v := range urlMap {
token, expiredAt := generateToken(jsonStr, v)
tokenTimePair := TokenTimePair{
Token: token,
ExpiredAt: expiredAt,
}
tokenMap[k] = tokenTimePair
}
return tokenMap
}
func generateToken(jsonStr []byte, tokenUrl string) (string, time.Time) {
body, err := OctopusHttpClient(tool.POST, tokenUrl, bytes.NewBuffer(jsonStr), "")
var tokenResp TokenResp
err = json.Unmarshal(body, &tokenResp)
if err != nil {
log.Println("token json转换失败 : ", err)
return "", time.Time{}
}
var d time.Duration
d = time.Second * time.Duration(tokenResp.Payload.Expiration)
return tokenResp.Payload.Token, time.Now().Add(d)
}
func GetToken(kForToken string) string {
if tokenMap[kForToken].Token == "" {
tokenMap = generateTokenMap()
}
tokenTimePair := tokenMap[kForToken]
if tokenTimePair.Token == "" {
return ""
}
if time.Now().After(tokenTimePair.ExpiredAt) {
tokenMap = generateTokenMap()
}
return tokenTimePair.Token
}
func getOctopusUrls() map[string]string {
octopusConfig := config.Cfg
urlMap := map[string]string{
Hanwuji: octopusConfig.OctopusConfig.HanwujiUrl,
Suiyuan: octopusConfig.OctopusConfig.SuiyuanUrl,
Sailingsi: octopusConfig.OctopusConfig.SailingsiUrl,
}
return urlMap
}

View File

@ -0,0 +1,49 @@
package config
import (
commonConfig "PCM/common/config"
"flag"
"github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/core/logx"
"github.com/zeromicro/go-zero/core/stores/redis"
"github.com/zeromicro/go-zero/zrpc"
)
type Config struct {
zrpc.RpcServerConf
OctopusConfig OctopusConfig
OctopusApi OctopusApi
PcmCoreRpcConf zrpc.RpcClientConf
LogConf logx.LogConf
RedisConf redis.RedisConf
}
var configFile = flag.String("f", "adaptor/PCM-AI/PCM-OCTOPUS/rpc/etc/octopus.yaml", "the config file")
var Cfg = getConfig()
func getConfig() Config {
var bootstrapConfig commonConfig.BootstrapConfig
conf.MustLoad(*configFile, &bootstrapConfig)
//解析业务配置
var c Config
nacosConfig := bootstrapConfig.NacosConfig
serviceConfigContent := nacosConfig.InitConfig(func(data string) {
err := conf.LoadFromYamlBytes([]byte(data), &c)
if err != nil {
panic(err)
}
})
err := conf.LoadFromYamlBytes([]byte(serviceConfigContent), &c)
if err != nil {
panic(err)
}
// start log component
logx.MustSetup(c.LogConf)
// 注册到nacos
nacosConfig.Discovery(&c.RpcServerConf)
return c
}

View File

@ -0,0 +1,67 @@
package config
type OctopusConfig struct {
Username string
Password string
HanwujiUrl string
SuiyuanUrl string
SailingsiUrl string
OctopusResouceSpec string
OctopusTokenUrl string
CambriconMLU290 int32
EnflameT20 int32
OctopusCp string
}
type OctopusApi struct {
GetUserImageList string
GetMyAlgorithmList string
GetNotebookList string
GetMydatasetList string
CreateImage string
DeleteImage string
CreateDataSet string
DeleteDataSet string
GetAlgorithmApplyList string
GetAlgorithmFrameworkList string
DeleteMyAlgorithm string
CreateMyAlgorithm string
GetAlgorithmList string
GetAlgorithm string
DownloadAlgorithm string
UploadAlgorithm string
UploadAlgorithmConfirm string
UploadImage string
UploadImageConfirm string
UploadDataSet string
UploadDataSetConfirm string
CreateDataSetVersion string
DeleteDataSetVersion string
GetDatasetVersionList string
DeleteNotebook string
StartNotebook string
StopNotebook string
CreateNotebook string
GetNotebook string
CreateTrainJob string
GetDatasetApplyList string
GetDatasetTypeList string
GetTrainJobList string
GetMyModelList string
GetModelVersionList string
DeleteMyModel string
DeleteModelVersion string
DownloadModelVersion string
GetTrainJob string
DeleteTrainJob string
StopTrainJob string
GetTrainJobEvent string
GetTrainJobMetric string
CreateModelDeploy string
GetModelDeployList string
GetModelDeploy string
GetModelDeployEvent string
StopModelDeploy string
DeleteModelDeploy string
InferModelDeploy string
}

View File

@ -0,0 +1,45 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"PCM/common/tool"
"context"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateDataSetLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewCreateDataSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateDataSetLogic {
return &CreateDataSetLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *CreateDataSetLogic) CreateDataSet(in *octopus.CreateDataSetReq) (*octopus.CreateDataSetResp, error) {
resp := &octopus.CreateDataSetResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateDataSet
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetBody(in.CreateDataSet).
SetResult(resp).
Post(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,48 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateDataSetVersionLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewCreateDataSetVersionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateDataSetVersionLogic {
return &CreateDataSetVersionLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *CreateDataSetVersionLogic) CreateDataSetVersion(in *octopus.CreateDataSetVersionReq) (*octopus.CreateDataSetVersionResp, error) {
resp := &octopus.CreateDataSetVersionResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateDataSetVersion
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("datasetId", in.DatasetId).
SetBody(in.Params).
SetResult(resp).
Post(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,46 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"PCM/common/tool"
"context"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateImageLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewCreateImageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateImageLogic {
return &CreateImageLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *CreateImageLogic) CreateImage(in *octopus.CreateImageReq) (*octopus.CreateImageResp, error) {
resp := &octopus.CreateImageResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateImage
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetBody(in.CreateImage).
SetResult(resp).
Post(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,48 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateModelDeployLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewCreateModelDeployLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateModelDeployLogic {
return &CreateModelDeployLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
// ModelDeployService
func (l *CreateModelDeployLogic) CreateModelDeploy(in *octopus.CreateModelDeployReq) (*octopus.CreateModelDeployResp, error) {
resp := &octopus.CreateModelDeployResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateModelDeploy
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetBody(in.Params).
SetResult(resp).
Post(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,47 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateMyAlgorithmLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewCreateMyAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateMyAlgorithmLogic {
return &CreateMyAlgorithmLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *CreateMyAlgorithmLogic) CreateMyAlgorithm(in *octopus.CreateMyAlgorithmReq) (*octopus.CreateMyAlgorithmResp, error) {
resp := &octopus.CreateMyAlgorithmResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateMyAlgorithm
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetBody(in.CreateMyAlgorithm).
SetResult(resp).
Post(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,47 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateNotebookLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewCreateNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateNotebookLogic {
return &CreateNotebookLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *CreateNotebookLogic) CreateNotebook(in *octopus.CreateNotebookReq) (*octopus.CreateNotebookResp, error) {
resp := &octopus.CreateNotebookResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateNotebook
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetBody(in.Params).
SetResult(resp).
Post(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,48 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateTrainJobLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewCreateTrainJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateTrainJobLogic {
return &CreateTrainJobLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
// TrainJobService
func (l *CreateTrainJobLogic) CreateTrainJob(in *octopus.CreateTrainJobReq) (*octopus.CreateTrainJobResp, error) {
resp := &octopus.CreateTrainJobResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateTrainJob
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetBody(in.Params).
SetResult(resp).
Post(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,47 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteDataSetLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDeleteDataSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteDataSetLogic {
return &DeleteDataSetLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DeleteDataSetLogic) DeleteDataSet(in *octopus.DeleteDataSetReq) (*octopus.DeleteDataSetResp, error) {
resp := &octopus.DeleteDataSetResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteDataSet
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("id", in.Id).
SetResult(resp).
Delete(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,48 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteDataSetVersionLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDeleteDataSetVersionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteDataSetVersionLogic {
return &DeleteDataSetVersionLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DeleteDataSetVersionLogic) DeleteDataSetVersion(in *octopus.DeleteDataSetVersionReq) (*octopus.DeleteDataSetVersionResp, error) {
resp := &octopus.DeleteDataSetVersionResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteDataSetVersion
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("datasetId", in.DatasetId).
SetPathParam("version", in.Version).
SetResult(resp).
Delete(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,47 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteImageLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDeleteImageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteImageLogic {
return &DeleteImageLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DeleteImageLogic) DeleteImage(in *octopus.DeleteImageReq) (*octopus.DeleteImageResp, error) {
resp := &octopus.DeleteImageResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteImage
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("imageId", in.ImageId).
SetResult(resp).
Delete(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,52 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteModelDeployLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDeleteModelDeployLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteModelDeployLogic {
return &DeleteModelDeployLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DeleteModelDeployLogic) DeleteModelDeploy(in *octopus.DeleteModelDeployReq) (*octopus.DeleteModelDeployResp, error) {
resp := &octopus.DeleteModelDeployResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteModelDeploy
token := common.GetToken(in.Platform)
var queryStr string
for _, s := range in.GetJobIds() {
queryStr += "jobIds=" + s + "&"
}
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetQueryString(queryStr).
SetResult(resp).
Delete(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,48 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"PCM/common/tool"
"context"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteModelVersionLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDeleteModelVersionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteModelVersionLogic {
return &DeleteModelVersionLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DeleteModelVersionLogic) DeleteModelVersion(in *octopus.DeleteModelVersionReq) (*octopus.DeleteModelVersionResp, error) {
resp := &octopus.DeleteModelVersionResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteModelVersion
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("modelId", in.ModelId).
SetPathParam("version", in.Version).
SetResult(resp).
Delete(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,47 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteMyAlgorithmLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDeleteMyAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteMyAlgorithmLogic {
return &DeleteMyAlgorithmLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DeleteMyAlgorithmLogic) DeleteMyAlgorithm(in *octopus.DeleteMyAlgorithmReq) (*octopus.DeleteMyAlgorithmResp, error) {
resp := &octopus.DeleteMyAlgorithmResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteMyAlgorithm
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("algorithmId", in.AlgorithmId).
SetResult(resp).
Delete(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,48 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteMyModelLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDeleteMyModelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteMyModelLogic {
return &DeleteMyModelLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DeleteMyModelLogic) DeleteMyModel(in *octopus.DeleteMyModelReq) (*octopus.DeleteMyModelResp, error) {
resp := &octopus.DeleteMyModelResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteMyModel
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("modelId", in.ModelId).
SetResult(resp).
Delete(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,47 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteNotebookLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDeleteNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteNotebookLogic {
return &DeleteNotebookLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DeleteNotebookLogic) DeleteNotebook(in *octopus.DeleteNotebookReq) (*octopus.DeleteNotebookResp, error) {
resp := &octopus.DeleteNotebookResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteNotebook
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("id", in.Id).
SetResult(resp).
Delete(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,52 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteTrainJobLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDeleteTrainJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteTrainJobLogic {
return &DeleteTrainJobLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DeleteTrainJobLogic) DeleteTrainJob(in *octopus.DeleteTrainJobReq) (*octopus.DeleteTrainJobResp, error) {
resp := &octopus.DeleteTrainJobResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteTrainJob
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
var queryStr string
for _, s := range in.GetJobIds() {
queryStr += "jobIds=" + s + "&"
}
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetQueryString(queryStr).
SetResult(resp).
Delete(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,48 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type DownloadAlgorithmLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDownloadAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DownloadAlgorithmLogic {
return &DownloadAlgorithmLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DownloadAlgorithmLogic) DownloadAlgorithm(in *octopus.DownloadAlgorithmReq) (*octopus.DownloadAlgorithmResp, error) {
resp := &octopus.DownloadAlgorithmResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DownloadAlgorithm
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("algorithmId", in.AlgorithmId).
SetPathParam("version", in.Version).
SetResult(resp).
Get(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,48 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"PCM/common/tool"
"context"
"github.com/zeromicro/go-zero/core/logx"
)
type DownloadModelVersionLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDownloadModelVersionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DownloadModelVersionLogic {
return &DownloadModelVersionLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DownloadModelVersionLogic) DownloadModelVersion(in *octopus.DownloadModelVersionReq) (*octopus.DownloadModelVersionResp, error) {
resp := &octopus.DownloadModelVersionResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DownloadModelVersion
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("modelId", in.ModelId).
SetPathParam("version", in.Version).
SetQueryString("domain=" + in.Domain).
SetResult(resp).
Get(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,50 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"strconv"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type GetAlgorithmApplyListLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetAlgorithmApplyListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmApplyListLogic {
return &GetAlgorithmApplyListLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetAlgorithmApplyListLogic) GetAlgorithmApplyList(in *octopus.GetAlgorithmApplyListReq) (*octopus.GetAlgorithmApplyListResp, error) {
resp := &octopus.GetAlgorithmApplyListResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithmApplyList
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))).
SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))).
SetResult(resp).
Get(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,50 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"strconv"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type GetAlgorithmFrameworkListLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetAlgorithmFrameworkListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmFrameworkListLogic {
return &GetAlgorithmFrameworkListLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetAlgorithmFrameworkListLogic) GetAlgorithmFrameworkList(in *octopus.GetAlgorithmFrameworkListReq) (*octopus.GetAlgorithmFrameworkListResp, error) {
resp := &octopus.GetAlgorithmFrameworkListResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithmFrameworkList
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))).
SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))).
SetResult(resp).
Get(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,51 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"strconv"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type GetAlgorithmListLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetAlgorithmListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmListLogic {
return &GetAlgorithmListLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetAlgorithmListLogic) GetAlgorithmList(in *octopus.GetAlgorithmListReq) (*octopus.GetAlgorithmListResp, error) {
resp := &octopus.GetAlgorithmListResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithmList
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetQueryString("pageIndex="+strconv.Itoa(int(in.PageIndex))).
SetQueryString("pageSize="+strconv.Itoa(int(in.PageSize))).
SetPathParam("algorithmId", in.AlgorithmId).
SetResult(resp).
Get(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,48 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type GetAlgorithmLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmLogic {
return &GetAlgorithmLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetAlgorithmLogic) GetAlgorithm(in *octopus.GetAlgorithmReq) (*octopus.GetAlgorithmResp, error) {
resp := &octopus.GetAlgorithmResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithm
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("algorithmId", in.AlgorithmId).
SetPathParam("version", in.Version).
SetResult(resp).
Get(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,125 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"context"
"encoding/json"
"github.com/go-redis/redis"
"github.com/zeromicro/go-zero/core/logx"
"log"
"strconv"
"time"
)
type GetComputingPowerLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetComputingPowerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetComputingPowerLogic {
return &GetComputingPowerLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetComputingPowerLogic) GetComputingPower(in *octopus.ResourceReq) (*octopus.CpResp, error) {
var resp octopus.CpResp
var cp float32
redisClient := redis.NewClient(&redis.Options{
Addr: l.svcCtx.Config.RedisConf.Host,
Password: l.svcCtx.Config.RedisConf.Pass,
})
defer redisClient.Close()
_, err := redisClient.Ping().Result()
if err != nil {
log.Println("redis连接失败", err)
cp = getCPFromOctopus()
redisClient.Set(l.svcCtx.Config.OctopusConfig.OctopusCp, cp, 168*time.Hour)
} else {
res, err := redisClient.Get(l.svcCtx.Config.OctopusConfig.OctopusCp).Float32()
if err == redis.Nil {
log.Println("redis key未找到或已过期重新请求")
cp = getCPFromOctopus()
redisClient.Set(l.svcCtx.Config.OctopusConfig.OctopusCp, cp, 168*time.Hour)
} else {
cp = res
}
}
resp.POpsAtFp16 = cp
return &resp, nil
}
func getCPFromOctopus() float32 {
octopusConfig := config.Cfg
urlMap := map[string]string{
common.Hanwuji: octopusConfig.OctopusConfig.HanwujiUrl + octopusConfig.OctopusConfig.OctopusResouceSpec,
common.Suiyuan: octopusConfig.OctopusConfig.SuiyuanUrl + octopusConfig.OctopusConfig.OctopusResouceSpec,
common.Sailingsi: octopusConfig.OctopusConfig.SailingsiUrl + octopusConfig.OctopusConfig.OctopusResouceSpec,
}
var computingPowerInTops int32
for k, v := range urlMap {
token := common.GetToken(k)
body, err := common.OctopusHttpClient("GET", v, nil, token)
if err != nil {
continue
}
//获取训练资源算力
switch k {
case common.Hanwuji:
resourceSpec := common.HanwujiResp{}
err := json.Unmarshal(body, &resourceSpec)
if err != nil {
log.Println("Hanwuji json转换失败 : ", err)
continue
}
if !resourceSpec.Success {
log.Println("Hanwuji 获取训练资源失败 : ", resourceSpec.Error)
continue
}
for _, spec := range resourceSpec.Payload.MapResourceSpecIdList.Train.ResourceSpecs {
numOfCards, err := strconv.ParseInt(spec.ResourceQuantity.CambriconComMlu, 10, 32)
if err != nil {
continue
}
computingPowerInTops += octopusConfig.OctopusConfig.CambriconMLU290 * int32(numOfCards)
}
case common.Suiyuan:
resourceSpec := common.SuiyuanResp{}
err := json.Unmarshal(body, &resourceSpec)
if err != nil {
log.Println("Suiyuan json转换失败 : ", err)
continue
}
if !resourceSpec.Success {
log.Println("Suiyuan 获取训练资源失败 : ", resourceSpec.Error)
continue
}
for _, spec := range resourceSpec.Payload.MapResourceSpecIdList.Train.ResourceSpecs {
numOfCards, err := strconv.ParseInt(spec.ResourceQuantity.EnflameComDtu, 10, 32)
if err != nil {
continue
}
computingPowerInTops += octopusConfig.OctopusConfig.EnflameT20 * int32(numOfCards)
}
}
}
if computingPowerInTops == 0 {
return 0
}
return float32(computingPowerInTops) / 1024
}

View File

@ -0,0 +1,50 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"strconv"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type GetDatasetApplyListLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetDatasetApplyListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDatasetApplyListLogic {
return &GetDatasetApplyListLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetDatasetApplyListLogic) GetDatasetApplyList(in *octopus.GetDatasetApplyListReq) (*octopus.GetDatasetApplyListResp, error) {
resp := &octopus.GetDatasetApplyListResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetDatasetApplyList
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))).
SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))).
SetResult(resp).
Get(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,50 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"strconv"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type GetDatasetTypeListLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetDatasetTypeListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDatasetTypeListLogic {
return &GetDatasetTypeListLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetDatasetTypeListLogic) GetDatasetTypeList(in *octopus.GetDatasetTypeListRep) (*octopus.GetDatasetTypeListResp, error) {
resp := &octopus.GetDatasetTypeListResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetDatasetTypeList
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))).
SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))).
SetResult(resp).
Get(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,51 @@
package logic
import (
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
"PCM/common/tool"
"context"
"strconv"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
"github.com/zeromicro/go-zero/core/logx"
)
type GetDatasetVersionListLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetDatasetVersionListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDatasetVersionListLogic {
return &GetDatasetVersionListLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetDatasetVersionListLogic) GetDatasetVersionList(in *octopus.GetDatasetVersionListReq) (*octopus.GetDatasetVersionListResp, error) {
resp := &octopus.GetDatasetVersionListResp{}
var url_prefix = common.OctopusUrls[in.Platform]
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetDatasetVersionList
token := common.GetToken(in.Platform)
req := tool.GetACHttpRequest()
_, err := req.
SetHeader("Authorization", "Bearer "+token).
SetPathParam("datasetId", in.DatasetId).
SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))).
SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))).
SetResult(resp).
Get(reqUrl)
if err != nil {
return nil, err
}
return resp, nil
}

Some files were not shown because too many files have changed in this diff Show More