You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by yk...@apache.org on 2021/08/11 13:03:25 UTC
[incubator-datalab] 01/01: [DATALAB-2500] -- fixed status checker
using
This is an automated email from the ASF dual-hosted git repository.
ykinash pushed a commit to branch DATALAB-2500
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git
commit 518af624d7671c4655c2d867b4a3861cabfa6700
Author: KinashYurii <ur...@gmail.com>
AuthorDate: Wed Aug 11 16:02:59 2021 +0300
[DATALAB-2500] -- fixed status checker using
---
.../java/com/epam/datalab/dto/ResourceSysBaseDTO.java | 8 +++-----
.../java/com/epam/datalab/dto/base/edge/EdgeInfo.java | 11 ++++++-----
.../datalab/dto/exploratory/ExploratoryActionDTO.java | 1 -
.../java/com/epam/datalab/dto/gcp/edge/EdgeInfoGcp.java | 2 ++
.../core/response/handlers/EdgeCallbackHandler.java | 11 ++++++++++-
.../core/response/handlers/ProjectCallbackHandler.java | 16 ++++++++++++++++
.../core/response/handlers/ResourceCallbackHandler.java | 8 ++++++++
.../handlers/ResourcesStatusCallbackHandler.java | 5 -----
.../backendapi/resources/callback/ProjectCallback.java | 12 +++++++++++-
.../backendapi/resources/dto/ProjectActionFormDTO.java | 1 -
10 files changed, 56 insertions(+), 19 deletions(-)
diff --git a/services/datalab-model/src/main/java/com/epam/datalab/dto/ResourceSysBaseDTO.java b/services/datalab-model/src/main/java/com/epam/datalab/dto/ResourceSysBaseDTO.java
index 2c3cf35..bf522fd 100644
--- a/services/datalab-model/src/main/java/com/epam/datalab/dto/ResourceSysBaseDTO.java
+++ b/services/datalab-model/src/main/java/com/epam/datalab/dto/ResourceSysBaseDTO.java
@@ -23,8 +23,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.MoreObjects.ToStringHelper;
public class ResourceSysBaseDTO<T extends ResourceSysBaseDTO<?>> extends ResourceBaseDTO<T> {
- @SuppressWarnings("unchecked")
- private final T self = (T) this;
@JsonProperty("conf_service_base_name")
private String serviceBaseName;
@JsonProperty("conf_os_family")
@@ -42,7 +40,7 @@ public class ResourceSysBaseDTO<T extends ResourceSysBaseDTO<?>> extends Resourc
public T withServiceBaseName(String serviceBaseName) {
setServiceBaseName(serviceBaseName);
- return self;
+ return (T) this;
}
public String getConfOsFamily() {
@@ -55,7 +53,7 @@ public class ResourceSysBaseDTO<T extends ResourceSysBaseDTO<?>> extends Resourc
public T withConfOsFamily(String confOsFamily) {
setConfOsFamily(confOsFamily);
- return self;
+ return (T) this;
}
@@ -69,7 +67,7 @@ public class ResourceSysBaseDTO<T extends ResourceSysBaseDTO<?>> extends Resourc
public T withConfKeyDir(String confKeyDir) {
setConfKeyDir(confKeyDir);
- return self;
+ return (T) this;
}
@Override
diff --git a/services/datalab-model/src/main/java/com/epam/datalab/dto/base/edge/EdgeInfo.java b/services/datalab-model/src/main/java/com/epam/datalab/dto/base/edge/EdgeInfo.java
index 18b16a6..290164c 100644
--- a/services/datalab-model/src/main/java/com/epam/datalab/dto/base/edge/EdgeInfo.java
+++ b/services/datalab-model/src/main/java/com/epam/datalab/dto/base/edge/EdgeInfo.java
@@ -19,17 +19,18 @@
package com.epam.datalab.dto.base.edge;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.epam.datalab.dto.gcp.edge.EdgeInfoGcp;
+import com.fasterxml.jackson.annotation.*;
import lombok.Data;
import java.util.List;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.WRAPPER_ARRAY)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = EdgeInfoGcp.class, name = "gcp")
+})
public class EdgeInfo {
@JsonProperty("_id")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
diff --git a/services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryActionDTO.java b/services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryActionDTO.java
index c8295cb..c191f78 100644
--- a/services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryActionDTO.java
+++ b/services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryActionDTO.java
@@ -29,7 +29,6 @@ public class ExploratoryActionDTO<T extends ExploratoryActionDTO<?>> extends Exp
@JsonProperty("reupload_key_required")
private boolean reuploadKeyRequired;
-
public boolean isReuploadKeyRequired() {
return reuploadKeyRequired;
}
diff --git a/services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/edge/EdgeInfoGcp.java b/services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/edge/EdgeInfoGcp.java
index 490ce54..851b1b9 100644
--- a/services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/edge/EdgeInfoGcp.java
+++ b/services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/edge/EdgeInfoGcp.java
@@ -22,6 +22,7 @@ package com.epam.datalab.dto.gcp.edge;
import com.epam.datalab.dto.base.edge.EdgeInfo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeName;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
@@ -32,6 +33,7 @@ import lombok.ToString;
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonTypeName("gcp")
public class EdgeInfoGcp extends EdgeInfo {
@JsonProperty("user_own_bucket_name")
private String userOwnBucketName;
diff --git a/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/EdgeCallbackHandler.java b/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/EdgeCallbackHandler.java
index 22ffa31..89395c9 100644
--- a/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/EdgeCallbackHandler.java
+++ b/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/EdgeCallbackHandler.java
@@ -59,12 +59,21 @@ public class EdgeCallbackHandler<E extends EdgeInfo, T extends UploadFileResult<
}
protected T parseOutResponse(JsonNode resultNode, T baseStatus) {
- if (resultNode != null && (getAction() == DockerAction.CREATE || getAction() == DockerAction.START)
+ log.info("TEST LOG!!!: edge Call back Handler");
+
+ log.info("TEST LOG!!!: resultNode: {}, baseStatus: {}", resultNode, baseStatus);
+ log.info("TEST LOG!!!: getAction: {}, UserInstanceStatus.of(baseStatus.getStatus()): {}",
+ getAction(), UserInstanceStatus.of(baseStatus.getStatus()));
+ if (resultNode != null
+ && (getAction() == DockerAction.CREATE || getAction() == DockerAction.START)
&& UserInstanceStatus.of(baseStatus.getStatus()) != UserInstanceStatus.FAILED) {
try {
+ log.info("TEST LOG!!!: TRY");
E credential = mapper.readValue(resultNode.toString(), responseType);
+ log.info("TEST LOG!!!: credential: {}", credential);
credential.setEdgeStatus(UserInstanceStatus.RUNNING.toString());
baseStatus.withEdgeInfo(credential);
+ log.info("TEST LOG!!!: baseStatus: {}", baseStatus);
} catch (IOException e) {
throw new DatalabException("Cannot parse the EDGE info in JSON: " + e.getLocalizedMessage(), e);
}
diff --git a/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ProjectCallbackHandler.java b/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ProjectCallbackHandler.java
index a0c699e..6f82d46 100644
--- a/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ProjectCallbackHandler.java
+++ b/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ProjectCallbackHandler.java
@@ -48,6 +48,7 @@ public class ProjectCallbackHandler extends ResourceCallbackHandler<ProjectResul
this.projectName = projectName;
this.clazz = clazz;
this.endpointName = endpointName;
+ log.info("TEST LOG!!!: CREATED ProjectCallbackHandler: clazz:{}, selfService:{}, action: {}", clazz, selfService, action);
}
@Override
@@ -58,18 +59,33 @@ public class ProjectCallbackHandler extends ResourceCallbackHandler<ProjectResul
@Override
protected ProjectResult parseOutResponse(JsonNode resultNode, ProjectResult baseStatus) {
+ log.info("TEST LOG!!!: resultNode: {} , base status: {}", resultNode, baseStatus);
+
baseStatus.setProjectName(projectName);
baseStatus.setEndpointName(endpointName);
+ log.info("TEST LOG!!!:base status: {},getAction() {}, UserInstanceStatus.of(baseStatus.getStatus()) {}",
+ baseStatus.getStatus(), getAction(), UserInstanceStatus.of(baseStatus.getStatus()));
if (resultNode != null &&
Arrays.asList(DockerAction.CREATE, DockerAction.RECREATE, DockerAction.START).contains(getAction()) &&
UserInstanceStatus.of(baseStatus.getStatus()) != UserInstanceStatus.FAILED) {
try {
+ log.info("TEST LOG!!!: if");
+ log.info("TEST LOG!!!: clazz: {}, resultNode: {}", clazz, resultNode.toString());
+
+ Object o = mapper.readValue(resultNode.toString(), Object.class);
+ log.info("TEST LOG!!!: o:{}", o);
final EdgeInfo projectEdgeInfo = mapper.readValue(resultNode.toString(), clazz);
+ log.info("TEST LOG!!!: projectEdgeInfo: {}", projectEdgeInfo);
+
baseStatus.setEdgeInfo(projectEdgeInfo);
+ log.info("TEST LOG!!!: baseStatus: {}", baseStatus);
+
} catch (IOException e) {
throw new DatalabException("Cannot parse the EDGE info in JSON: " + e.getLocalizedMessage(), e);
}
}
+ log.info("TEST LOG!!!: baseStatus: {}", baseStatus);
+
return baseStatus;
}
}
diff --git a/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ResourceCallbackHandler.java b/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ResourceCallbackHandler.java
index 677a658..e566754 100644
--- a/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ResourceCallbackHandler.java
+++ b/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ResourceCallbackHandler.java
@@ -114,14 +114,21 @@ public abstract class ResourceCallbackHandler<T extends StatusBaseDTO<?>> implem
@Override
public boolean handle(String fileName, byte[] content) throws Exception {
+ log.info("TEST LOG!!!: class name: {}", this.getClass().getCanonicalName());
+ log.info("TEST LOG!!!: URI: {}", this.getCallbackURI());
debugMessage("Got file {} while waiting for UUID {}, for action {}, docker response: {}",
fileName, uuid, action.name(), new String(content));
JsonNode document = mapper.readTree(content);
+ log.info("TEST LOG!!!: document: {}", document);
boolean success = isSuccess(document);
UserInstanceStatus status = calcStatus(action, success);
T result = getBaseStatusDTO(status);
+ log.info("TEST LOG!!!: result: {}", result);
+
JsonNode resultNode = document.get(RESPONSE_NODE).get(RESULT_NODE);
+ log.info("TEST LOG!!!: resultNode: {}", resultNode);
+
if (success) {
debugMessage("Did {} resource for user: {}, UUID: {}", action, user, uuid);
} else {
@@ -129,6 +136,7 @@ public abstract class ResourceCallbackHandler<T extends StatusBaseDTO<?>> implem
result.setErrorMessage(getTextValue(resultNode.get(ERROR_NODE)));
}
result = parseOutResponse(resultNode, result);
+ log.info("TEST LOG!!!: result: {}", result);
selfServicePost(result);
return !UserInstanceStatus.FAILED.equals(status);
}
diff --git a/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ResourcesStatusCallbackHandler.java b/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ResourcesStatusCallbackHandler.java
index db08a7c..0acb3a4 100644
--- a/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ResourcesStatusCallbackHandler.java
+++ b/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ResourcesStatusCallbackHandler.java
@@ -71,8 +71,6 @@ public class ResourcesStatusCallbackHandler extends ResourceCallbackHandler<EnvS
} catch (IOException e) {
throw new DatalabException("Docker response for UUID " + getUUID() + " not valid: " + e.getLocalizedMessage(), e);
}
- log.info("TEST LOG!!!: envList: {}", cloudResourceList);
-
EnvResourceList envResourceList = EnvResourceList.builder()
.hostList(getListOrEmpty(cloudResourceList.getHostList()))
.clusterList(getListOrEmpty(cloudResourceList.getClusterList()))
@@ -98,8 +96,6 @@ public class ResourcesStatusCallbackHandler extends ResourceCallbackHandler<EnvS
@Override
public boolean handle(String fileName, byte[] content) {
- log.info("TEST LOG!!!: content: {}", Strings.fromByteArray(content));
-
try {
return super.handle(fileName, content);
} catch (Exception e) {
@@ -136,7 +132,6 @@ public class ResourcesStatusCallbackHandler extends ResourceCallbackHandler<EnvS
}
private List<EnvResource> getListOrEmpty(List<EnvResource> source) {
- log.info("TEST LOG!!!: source: {}", source);
return getChangedEnvResources(source);
}
}
diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ProjectCallback.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ProjectCallback.java
index b8aa5a6..d9e5093 100644
--- a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ProjectCallback.java
+++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ProjectCallback.java
@@ -69,12 +69,22 @@ public class ProjectCallback {
requestId.checkAndRemove(projectResult.getRequestId());
final String projectName = projectResult.getProjectName();
final UserInstanceStatus status = UserInstanceStatus.of(projectResult.getStatus());
- saveGpuForProject(projectResult, projectName);
+ if (projectResult.getEdgeInfo() != null) {
+ saveGpuForProject(projectResult, projectName);
+ }
+ log.info("TEST LOG!!!: projectResult: {}", projectResult);
if (UserInstanceStatus.RUNNING == status && Objects.nonNull(projectResult.getEdgeInfo())) {
+ log.info("TEST LOG!!!: before RUNNING update: {}, {}, {}",
+ projectName, projectResult.getEndpointName(), projectResult.getEdgeInfo());
projectDAO.updateEdgeInfo(projectName, projectResult.getEndpointName(), projectResult.getEdgeInfo());
} else {
+ log.info("TEST LOG!!!: before updateExploratoriesStatusIfNeeded: {}, {}, {}",
+ status, projectResult.getProjectName(), projectResult.getEndpointName());
updateExploratoriesStatusIfNeeded(status, projectResult.getProjectName(), projectResult.getEndpointName());
+ log.info("TEST LOG!!!: before update: {}, {}, {}"
+ , projectName, projectResult.getEndpointName(), status);
projectDAO.updateEdgeStatus(projectName, projectResult.getEndpointName(), status);
+ log.info("TEST LOG!!!: after update");
}
} catch (Exception e) {
log.error(e.toString());
diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ProjectActionFormDTO.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ProjectActionFormDTO.java
index 4fc0b36..20a7b67 100644
--- a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ProjectActionFormDTO.java
+++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ProjectActionFormDTO.java
@@ -33,7 +33,6 @@ public class ProjectActionFormDTO {
@NotNull
@JsonProperty("endpoint")
private final List<String> endpoints;
- @NotNull
@JsonProperty("edge_status")
private final String edgeStatus;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org