|
|
@@ -6,6 +6,7 @@ import nju.seec.SEECdemo.logic.api.k8s.LimitRangeApi;
|
|
|
import nju.seec.SEECdemo.logic.api.k8s.NamespaceApi;
|
|
|
import nju.seec.SEECdemo.logic.api.k8s.ResourceQuotaApi;
|
|
|
import nju.seec.SEECdemo.logic.api.k8s.SecretApi;
|
|
|
+import nju.seec.SEECdemo.logic.api.k8s.dto.NamespaceDTO;
|
|
|
import nju.seec.SEECdemo.logic.api.k8s.exception.K8sApiException;
|
|
|
import nju.seec.SEECdemo.logic.api.k8s.vo.*;
|
|
|
import nju.seec.SEECdemo.logic.service.DBService;
|
|
|
@@ -62,7 +63,7 @@ public class ProjectServiceImpl implements ProjectService{
|
|
|
try {
|
|
|
//创建部署空间
|
|
|
String type = seecIITemplate.getName();
|
|
|
- Namespace namespace = buildNamespace(projectName, type, description, startsAt, endsAt);
|
|
|
+ NamespaceDTO namespace = buildNamespace(projectName, type, description, startsAt, endsAt);
|
|
|
namespaceApi.create(namespace);
|
|
|
} catch (K8sApiException e) {
|
|
|
LoggerUtil.error(logger, e, "创建项目失败,projectName={}, projectType={}", projectName, seecIITemplate.getName());
|
|
|
@@ -85,8 +86,8 @@ public class ProjectServiceImpl implements ProjectService{
|
|
|
|
|
|
//配置应用的默认配额
|
|
|
Map<String, Integer> defaultValue = new HashMap<>();
|
|
|
- defaultValue.put("cpu", resourceConfig.getDefaultCPU().getQuantity());
|
|
|
- defaultValue.put("memory", resourceConfig.getDefaultMemory().getQuantity().intValue());
|
|
|
+ defaultValue.put("cpu", resourceConfig.getDefaultCPU().getQuantityIntValue());
|
|
|
+ defaultValue.put("memory", resourceConfig.getDefaultMemory().getQuantityIntValue());
|
|
|
V1LimitRange v1LimitRange = limitRangeApi.toLimitRange(projectName, projectName, defaultValue, defaultValue, null, null);
|
|
|
limitRangeApi.createLimitRange(projectName, v1LimitRange);
|
|
|
|
|
|
@@ -99,8 +100,6 @@ public class ProjectServiceImpl implements ProjectService{
|
|
|
data.put("DB_PASSWORD", dbDetailVO.getPassword().getBytes());
|
|
|
secretApi.createGenericSecret(projectName, projectName + "-" + DB_SECRET_NAME, data);
|
|
|
|
|
|
- //@todo密码存在哪里?
|
|
|
-
|
|
|
//封装返回数据
|
|
|
ProjectVO projectVO = new ProjectVO();
|
|
|
projectVO.setName(projectName);
|
|
|
@@ -126,8 +125,17 @@ public class ProjectServiceImpl implements ProjectService{
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- private Namespace buildNamespace(String projectName, String type, String description, LocalDate startsAt, LocalDate endsAt){
|
|
|
- Namespace namespace = new Namespace();
|
|
|
+ /**
|
|
|
+ * 根据项目信息构建Namespace
|
|
|
+ * @param projectName Namespace的名称
|
|
|
+ * @param type 项目的类型,存在Namespace的标签中
|
|
|
+ * @param description 项目的描述,可以存在Namespace的标签或者注释中
|
|
|
+ * @param startsAt 项目开始时间,存在Namespace的标签中
|
|
|
+ * @param endsAt 项目的结束时间,存在Namespace的标签中
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private NamespaceDTO buildNamespace(String projectName, String type, String description, LocalDate startsAt, LocalDate endsAt){
|
|
|
+ NamespaceDTO namespace = new NamespaceDTO();
|
|
|
namespace.setName(projectName);
|
|
|
namespace.addToLabel(TYPE_LABEL, type);
|
|
|
namespace.addToLabel(DESCRIPTION_LABEL, description);
|
|
|
@@ -135,4 +143,5 @@ public class ProjectServiceImpl implements ProjectService{
|
|
|
namespace.addToLabel(ENDS_AT_LABEL, DateUtil.fromDateToString(endsAt, DateUtil.BASE_DATE_FORMAT));
|
|
|
return namespace;
|
|
|
}
|
|
|
+
|
|
|
}
|