You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by dy...@apache.org on 2022/09/06 11:43:45 UTC
[incubator-datalab] branch develop updated: fix hdinsight creation
This is an automated email from the ASF dual-hosted git repository.
dyankiv pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git
The following commit(s) were added to refs/heads/develop by this push:
new 2ffbf5d3e fix hdinsight creation
2ffbf5d3e is described below
commit 2ffbf5d3e0c2f3c9a78fad67dc7d6d4015e60777
Author: Denys Yankiv <de...@gmail.com>
AuthorDate: Tue Sep 6 14:43:33 2022 +0300
fix hdinsight creation
---
.../computational/ComputationalCreateAzure.java | 55 +++++++++++++++++++++-
.../azure/ComputationalResourceAzure.java | 4 +-
.../dto/azure/AzureComputationalCreateForm.java | 8 ++--
.../datalab/backendapi/util/RequestBuilder.java | 12 ++++-
4 files changed, 71 insertions(+), 8 deletions(-)
diff --git a/services/datalab-model/src/main/java/com/epam/datalab/dto/azure/computational/ComputationalCreateAzure.java b/services/datalab-model/src/main/java/com/epam/datalab/dto/azure/computational/ComputationalCreateAzure.java
index 16449bb93..449921072 100644
--- a/services/datalab-model/src/main/java/com/epam/datalab/dto/azure/computational/ComputationalCreateAzure.java
+++ b/services/datalab-model/src/main/java/com/epam/datalab/dto/azure/computational/ComputationalCreateAzure.java
@@ -1,11 +1,19 @@
package com.epam.datalab.dto.azure.computational;
+import com.epam.datalab.dto.aws.computational.ClusterConfig;
+import com.epam.datalab.dto.aws.computational.ComputationalCreateAws;
import com.epam.datalab.dto.base.computational.ComputationalBase;
import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.util.List;
+
+@Getter
+@Setter
public class ComputationalCreateAzure extends ComputationalBase<ComputationalCreateAzure> {
@JsonProperty("hdinsight_count")
- private String count;
+ private String instanceCount;
@JsonProperty("hdinsight_slave_count")
private String slaveInstanceCount;
@JsonProperty("hdinsight_master_instance_type")
@@ -14,6 +22,51 @@ public class ComputationalCreateAzure extends ComputationalBase<ComputationalCre
private String slaveInstanceType;
@JsonProperty("hdinsight_version")
private String version;
+ @JsonProperty("config")
+ private List<ClusterConfig> config;
@JsonProperty("conf_shared_image_enabled")
private String sharedImageEnabled;
+
+ public String getInstanceCount() {
+ return instanceCount;
+ }
+
+ public void setInstanceCount(String instanceCount) {
+ this.instanceCount = instanceCount;
+ }
+
+ public ComputationalCreateAzure withInstanceCount(String instanceCount) {
+ setInstanceCount(instanceCount);
+ return this;
+ }
+
+ public ComputationalCreateAzure withMasterInstanceType(String masterInstanceType) {
+ setMasterInstanceType(masterInstanceType);
+ return this;
+ }
+
+ public ComputationalCreateAzure withSlaveInstanceType(String slaveInstanceType) {
+ setSlaveInstanceType(slaveInstanceType);
+ return this;
+ }
+
+ public ComputationalCreateAzure withVersion(String version) {
+ setVersion(version);
+ return this;
+ }
+
+ public ComputationalCreateAzure withConfig(List<ClusterConfig> config) {
+ setConfig(config);
+ return this;
+ }
+
+ public ComputationalCreateAzure withSharedImageEnabled(String sharedImageEnabled) {
+ setSharedImageEnabled(sharedImageEnabled);
+ return this;
+ }
+
+ public ComputationalCreateAzure withNotebookName(String name) {
+ setNotebookInstanceName(name);
+ return this;
+ }
}
diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/azure/ComputationalResourceAzure.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/azure/ComputationalResourceAzure.java
index 514d5f127..49abd6ab9 100644
--- a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/azure/ComputationalResourceAzure.java
+++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/azure/ComputationalResourceAzure.java
@@ -97,7 +97,7 @@ public class ComputationalResourceAzure {
.status(CREATING.toString())
.masterShape(form.getMasterInstanceType())
.slaveShape(form.getSlaveInstanceType())
- .slaveInstanceCount(form.getSlaveInstanceCount())
+ .totalInstanceCount(Integer.parseInt(form.getInstanceCount()))
.config(form.getConfig())
.version(form.getVersion())
.build();
@@ -223,7 +223,7 @@ public class ComputationalResourceAzure {
throw new DatalabException("You do not have the privileges to create a " + formDTO.getTemplateName());
}
- int slaveInstanceCount = Integer.parseInt(formDTO.getSlaveInstanceCount());
+ int slaveInstanceCount = Integer.parseInt(formDTO.getInstanceCount());
if (slaveInstanceCount < configuration.getMinHDInsightInstanceCount() || slaveInstanceCount > configuration.getMaxHDInsightInstanceCount()) {
log.debug("Creating computational resource {} for user {} fail: Limit exceeded to creation slave " +
diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/azure/AzureComputationalCreateForm.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/azure/AzureComputationalCreateForm.java
index c65fcf938..9572107a2 100644
--- a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/azure/AzureComputationalCreateForm.java
+++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/azure/AzureComputationalCreateForm.java
@@ -14,6 +14,10 @@ import org.hibernate.validator.constraints.NotBlank;
@JsonIgnoreProperties
public class AzureComputationalCreateForm extends ComputationalCreateFormDTO {
+ @NotBlank
+ @JsonProperty("hdinsight_instance_count")
+ private String instanceCount;
+
@NotBlank
@JsonProperty("hdinsight_master_instance_type")
private String masterInstanceType;
@@ -24,9 +28,5 @@ public class AzureComputationalCreateForm extends ComputationalCreateFormDTO {
@JsonProperty("hdinsight_version")
private String version;
- @NotBlank
- @JsonProperty("hdinsight_slave_instance_count")
- private String slaveInstanceCount;
-
}
diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/util/RequestBuilder.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/util/RequestBuilder.java
index 832a332f4..84a27c81e 100644
--- a/services/self-service/src/main/java/com/epam/datalab/backendapi/util/RequestBuilder.java
+++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/util/RequestBuilder.java
@@ -30,6 +30,7 @@ import com.epam.datalab.backendapi.resources.dto.BackupFormDTO;
import com.epam.datalab.backendapi.resources.dto.ComputationalCreateFormDTO;
import com.epam.datalab.backendapi.resources.dto.SparkStandaloneClusterCreateForm;
import com.epam.datalab.backendapi.resources.dto.aws.AwsComputationalCreateForm;
+import com.epam.datalab.backendapi.resources.dto.azure.AzureComputationalCreateForm;
import com.epam.datalab.backendapi.resources.dto.gcp.GcpComputationalCreateForm;
import com.epam.datalab.cloud.CloudProvider;
import com.epam.datalab.dto.*;
@@ -41,6 +42,7 @@ import com.epam.datalab.dto.aws.computational.SparkComputationalCreateAws;
import com.epam.datalab.dto.aws.exploratory.ExploratoryCreateAws;
import com.epam.datalab.dto.azure.AzureCloudSettings;
import com.epam.datalab.dto.azure.computational.AzureComputationalTerminateDTO;
+import com.epam.datalab.dto.azure.computational.ComputationalCreateAzure;
import com.epam.datalab.dto.azure.computational.SparkComputationalCreateAzure;
import com.epam.datalab.dto.azure.exploratory.ExploratoryActionStartAzure;
import com.epam.datalab.dto.azure.exploratory.ExploratoryActionStopAzure;
@@ -340,7 +342,15 @@ public class RequestBuilder {
CloudProvider cloudProvider = endpointDTO.getCloudProvider();
switch (cloudProvider) {
case AZURE:
- throw new UnsupportedOperationException("Creating dataengine service is not supported yet");
+ AzureComputationalCreateForm azureForm = (AzureComputationalCreateForm) form;
+ computationalCreate = (T) newResourceSysBaseDTO(userInfo.getName(), cloudProvider, ComputationalCreateAzure.class)
+ .withInstanceCount(azureForm.getInstanceCount())
+ .withMasterInstanceType(azureForm.getMasterInstanceType())
+ .withSlaveInstanceType(azureForm.getSlaveInstanceType())
+ .withVersion(azureForm.getVersion())
+ .withConfig((azureForm.getConfig()))
+ .withSharedImageEnabled(String.valueOf(projectDTO.isSharedImageEnabled()));
+ break;
case AWS:
AwsComputationalCreateForm awsForm = (AwsComputationalCreateForm) form;
computationalCreate = (T) newResourceSysBaseDTO(userInfo.getName(), cloudProvider, ComputationalCreateAws.class)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org