You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by bh...@apache.org on 2019/07/05 13:22:39 UTC
[incubator-dlab] 04/04: DLAB-837 added project_name param to status
command
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch feature/projects
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 8d2d545a3bb3fc1d14d2c8d2aefef91f5d6039d7
Author: bhliva <bo...@epam.com>
AuthorDate: Fri Jul 5 16:22:15 2019 +0300
DLAB-837 added project_name param to status command
---
.../java/com/epam/dlab/dto/status/EnvResource.java | 5 ++-
.../mock_response/gcp/notebook_create.json | 1 +
.../java/com/epam/dlab/backendapi/dao/EnvDAO.java | 39 ++++++++--------------
3 files changed, 18 insertions(+), 27 deletions(-)
diff --git a/services/dlab-model/src/main/java/com/epam/dlab/dto/status/EnvResource.java b/services/dlab-model/src/main/java/com/epam/dlab/dto/status/EnvResource.java
index 84e33f9..3f5aef2 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/dto/status/EnvResource.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/dto/status/EnvResource.java
@@ -42,14 +42,17 @@ public class EnvResource {
private String name;
@JsonProperty
private ResourceType resourceType;
+ @JsonProperty("project_name")
+ private String project;
@JsonDeserialize(using = IsoLocalDateTimeDeSerializer.class)
@JsonProperty
private LocalDateTime lastActivity;
- public EnvResource(String id, String name, ResourceType resourceType) {
+ public EnvResource(String id, String name, ResourceType resourceType, String project) {
this.id = id;
this.name = name;
this.resourceType = resourceType;
+ this.project = project;
}
/**
diff --git a/services/provisioning-service/src/main/resources/mock_response/gcp/notebook_create.json b/services/provisioning-service/src/main/resources/mock_response/gcp/notebook_create.json
index 4de53d0..7d7bad5 100644
--- a/services/provisioning-service/src/main/resources/mock_response/gcp/notebook_create.json
+++ b/services/provisioning-service/src/main/resources/mock_response/gcp/notebook_create.json
@@ -14,6 +14,7 @@
"description": "Ungit"
}
],
+ "instance_id": "${INSTANCE_ID}",
"notebook_name": "${CONF_SERVICE_BASE_NAME}-${EDGE_USER_NAME}-nb-${EXPLORATORY_NAME}-${NOTEBOOK_ID}",
"Action": "Create new notebook server",
"master_keyname": "${CONF_KEY_NAME}"
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/EnvDAO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/EnvDAO.java
index 2fb7b9a..b2c6c2b 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/EnvDAO.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/EnvDAO.java
@@ -69,9 +69,10 @@ public class EnvDAO extends BaseDAO {
private static final String COMPUTATIONAL_STATUS_FILTER = COMPUTATIONAL_RESOURCES + FIELD_SET_DELIMETER + STATUS;
private static final String COMPUTATIONAL_SPOT = "slave_node_spot";
private static final String IMAGE = "image";
+ private static final String PROJECT = "project";
private static final Bson INCLUDE_EDGE_FIELDS = include(INSTANCE_ID, EDGE_STATUS, EDGE_PUBLIC_IP);
- private static final Bson INCLUDE_EXP_FIELDS = include(INSTANCE_ID, STATUS,
+ private static final Bson INCLUDE_EXP_FIELDS = include(INSTANCE_ID, STATUS, PROJECT,
COMPUTATIONAL_RESOURCES + "." + INSTANCE_ID, COMPUTATIONAL_RESOURCES + "." + IMAGE, COMPUTATIONAL_STATUS,
EXPLORATORY_NAME, COMPUTATIONAL_RESOURCES + "." + ComputationalDAO.COMPUTATIONAL_NAME);
private static final Bson INCLUDE_EXP_UPDATE_FIELDS = include(EXPLORATORY_NAME, INSTANCE_ID, STATUS,
@@ -92,12 +93,13 @@ public class EnvDAO extends BaseDAO {
List<EnvResource> hostList = new ArrayList<>();
List<EnvResource> clusterList = new ArrayList<>();
- getEdgeNode(user).ifPresent(edge -> addResource(hostList, edge, EDGE_STATUS, ResourceType.EDGE, null));
+ //getEdgeNode(user).ifPresent(edge -> addResource(hostList, edge, EDGE_STATUS, ResourceType.EDGE, null));
stream(find(USER_INSTANCES, eq(USER, user), fields(INCLUDE_EXP_FIELDS, excludeId())))
.forEach(exp -> {
final String exploratoryName = exp.getString(EXPLORATORY_NAME);
- addResource(hostList, exp, STATUS, ResourceType.EXPLORATORY, exploratoryName);
+ final String project = exp.getString(PROJECT);
+ addResource(hostList, exp, STATUS, ResourceType.EXPLORATORY, exploratoryName, project);
addComputationalResources(hostList, clusterList, exp, exploratoryName);
});
return new EnvResourceList()
@@ -113,31 +115,16 @@ public class EnvDAO extends BaseDAO {
.collect(Collectors.toList());
}
- private List<EnvResource> getRunningEnvResources(Document ui) {
- final String exploratoryName = ui.getString(EXPLORATORY_NAME);
- final List<EnvResource> envResources = getComputationalResources(ui)
- .stream()
- .filter(comp -> RUNNING.toString().equals(comp.getString(STATUS)))
- .map(comp -> toEnvResource(String.join("_", exploratoryName,
- comp.getString(COMPUTATIONAL_NAME)), comp.getString(INSTANCE_ID),
- ResourceType.COMPUTATIONAL))
- .collect(Collectors.toList());
- if (UserInstanceStatus.of(ui.getString(STATUS)) == RUNNING) {
- envResources.add(toEnvResource(exploratoryName, ui.getString(INSTANCE_ID),
- ResourceType.EXPLORATORY));
- }
- return envResources;
- }
-
- private EnvResource toEnvResource(String name, String instanceId, ResourceType resType) {
- return new EnvResource(instanceId, name, resType);
+ private EnvResource toEnvResource(String name, String instanceId, ResourceType resType, String project) {
+ return new EnvResource(instanceId, name, resType, project);
}
@SuppressWarnings("unchecked")
private void addComputationalResources(List<EnvResource> hostList, List<EnvResource> clusterList, Document exp,
String exploratoryName) {
+ final String project = exp.getString(PROJECT);
getComputationalResources(exp)
- .forEach(comp -> addComputational(hostList, clusterList, exploratoryName, comp));
+ .forEach(comp -> addComputational(hostList, clusterList, exploratoryName, comp, project));
}
private List<Document> getComputationalResources(Document userInstanceDocument) {
@@ -145,12 +132,12 @@ public class EnvDAO extends BaseDAO {
}
private void addComputational(List<EnvResource> hostList, List<EnvResource> clusterList, String exploratoryName,
- Document computational) {
+ Document computational, String project) {
final List<EnvResource> resourceList = DataEngineType.CLOUD_SERVICE ==
DataEngineType.fromDockerImageName(computational.getString(IMAGE)) ? clusterList :
hostList;
addResource(resourceList, computational, STATUS, ResourceType.COMPUTATIONAL,
- String.join("_", exploratoryName, computational.getString(COMPUTATIONAL_NAME)));
+ String.join("_", exploratoryName, computational.getString(COMPUTATIONAL_NAME)), project);
}
/**
@@ -522,13 +509,13 @@ public class EnvDAO extends BaseDAO {
* @param resourceType type if resource EDGE/NOTEBOOK
*/
private void addResource(List<EnvResource> list, Document document, String statusFieldName,
- ResourceType resourceType, String name) {
+ ResourceType resourceType, String name, String project) {
LOGGER.trace("Add resource from {}", document);
getInstanceId(document).ifPresent(instanceId ->
Optional.ofNullable(UserInstanceStatus.of(document.getString(statusFieldName)))
.filter(s -> s.in(CONFIGURING, CREATING, RUNNING, STARTING, STOPPED, STOPPING, TERMINATING) ||
(FAILED == s && ResourceType.EDGE == resourceType))
- .ifPresent(s -> list.add(toEnvResource(name, instanceId, resourceType))));
+ .ifPresent(s -> list.add(toEnvResource(name, instanceId, resourceType, project))));
}
private boolean notEmpty(List<EnvResource> hostList) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org