From 350bff0c46ed4ab23fe308b07d09cf4e0d67494c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E5=A4=A7=E9=94=90?= <1070211640@qq.com> Date: Mon, 17 Jun 2024 10:22:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9Ejupyter=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=8A=B6=E6=80=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/service/impl/DevEnvironmentServiceImpl.java | 1 + .../ruoyi/platform/service/impl/JupyterServiceImpl.java | 8 ++++++-- .../ruoyi/platform/service/impl/WorkflowServiceImpl.java | 7 +++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DevEnvironmentServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DevEnvironmentServiceImpl.java index 8f211a5..58cf493 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DevEnvironmentServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DevEnvironmentServiceImpl.java @@ -68,6 +68,7 @@ public class DevEnvironmentServiceImpl implements DevEnvironmentService { devEnvironment.setUpdateBy(loginUser.getUsername()); devEnvironment.setUpdateTime(new Date()); devEnvironment.setCreateTime(new Date()); + devEnvironment.setState(1); this.devEnvironmentDao.insert(devEnvironment); return devEnvironment; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/JupyterServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/JupyterServiceImpl.java index c57b498..cdb8731 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/JupyterServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/JupyterServiceImpl.java @@ -89,10 +89,12 @@ public class JupyterServiceImpl implements JupyterService { String modelPath = (String) model.get("path"); LoginUser loginUser = SecurityUtils.getLoginUser(); - String podName = loginUser.getUsername().toLowerCase() + "-editor-pod"; + //手动构造pod名称 + String podName = loginUser.getUsername().toLowerCase() + "-" + "-editor-pod" + id; String pvcName = loginUser.getUsername().toLowerCase() + "-editor-pvc"; V1PersistentVolumeClaim pvc = k8sClientUtil.createPvc(namespace, pvcName, storage, storageClassName); + //TODO 设置镜像可配置,这里先用默认镜像启动pod // 调用修改后的 createPod 方法,传入额外的参数 @@ -110,7 +112,8 @@ public class JupyterServiceImpl implements JupyterService { } LoginUser loginUser = SecurityUtils.getLoginUser(); - String podName = loginUser.getUsername().toLowerCase() + "-editor-pod"; + //手动构造pod名称 + String podName = loginUser.getUsername().toLowerCase() + "-" + devEnvironment.getName() +"-editor-pod" + id; //得到pod V1Pod pod = k8sClientUtil.getNSPodList(namespace, podName); if(pod == null){ @@ -119,6 +122,7 @@ public class JupyterServiceImpl implements JupyterService { // 使用 Kubernetes API 删除 Pod String deleteResult = k8sClientUtil.deletePod(podName, namespace); + return deleteResult + ",编辑器已停止"; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/WorkflowServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/WorkflowServiceImpl.java index 22c736c..9c36d27 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/WorkflowServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/WorkflowServiceImpl.java @@ -133,7 +133,9 @@ public class WorkflowServiceImpl implements WorkflowService { public String removeById(Long id) throws Exception { //先根据id提取出对应的流水线 Workflow workflow = workflowDao.queryById(id); - + if (workflow == null){ + throw new Exception("流水线不存在"); + } //判断权限,只有admin和创建者本身可以删除该流水线 LoginUser loginUser = SecurityUtils.getLoginUser(); String username = loginUser.getUsername(); @@ -142,9 +144,6 @@ public class WorkflowServiceImpl implements WorkflowService { throw new Exception("无权限删除该流水线"); } - if (workflow == null){ - throw new Exception("流水线不存在"); - } //判断这个流水线是否有相关实验存在 List experimentList = experimentService.queryByWorkflowId(id); if (experimentList!=null&&experimentList.size()>0){