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/03 10:03:05 UTC

[incubator-dlab] branch feature/projects updated (43faea5 -> 3ec5b41)

This is an automated email from the ASF dual-hosted git repository.

bhliva pushed a change to branch feature/projects
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git.


    from 43faea5  Merge branch 'feature/projects' of github.com:apache/incubator-dlab into feature/projects
     new 7ea4cc0  DLAB-000 added project parameter for start/stop exploratory
     new 3ec5b41  DLAB-835 added project_name param for start/stop actions

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../dto/base/computational/ComputationalBase.java  | 12 +++++++++
 .../service/impl/ComputationalServiceImpl.java     |  6 +++--
 .../epam/dlab/backendapi/util/RequestBuilder.java  | 26 ++++++++++++-------
 .../service/impl/ComputationalServiceImplTest.java | 29 ++++++++++++----------
 .../dlab/backendapi/util/RequestBuilderTest.java   |  6 ++---
 5 files changed, 52 insertions(+), 27 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org


[incubator-dlab] 02/02: DLAB-835 added project_name param for start/stop actions

Posted by bh...@apache.org.
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 3ec5b41921f17dd894c0a31ca714b2e11cbb5f10
Author: bhliva <bo...@epam.com>
AuthorDate: Wed Jul 3 11:23:37 2019 +0300

    DLAB-835 added project_name param for start/stop actions
---
 .../dto/base/computational/ComputationalBase.java  | 12 +++++++++
 .../service/impl/ComputationalServiceImpl.java     |  6 +++--
 .../epam/dlab/backendapi/util/RequestBuilder.java  | 17 ++++++++-----
 .../service/impl/ComputationalServiceImplTest.java | 29 ++++++++++++----------
 .../dlab/backendapi/util/RequestBuilderTest.java   |  6 ++---
 5 files changed, 46 insertions(+), 24 deletions(-)

diff --git a/services/dlab-model/src/main/java/com/epam/dlab/dto/base/computational/ComputationalBase.java b/services/dlab-model/src/main/java/com/epam/dlab/dto/base/computational/ComputationalBase.java
index 0b233b5..f33e0ec 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/dto/base/computational/ComputationalBase.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/dto/base/computational/ComputationalBase.java
@@ -36,6 +36,9 @@ public abstract class ComputationalBase<T extends ComputationalBase<?>> extends
 	@JsonProperty("notebook_template_name")
 	private String notebookTemplateName;
 
+	@JsonProperty("project_name")
+	private String project;
+
 	public String getComputationalName() {
 		return computationalName;
 	}
@@ -75,6 +78,15 @@ public abstract class ComputationalBase<T extends ComputationalBase<?>> extends
 		return self;
 	}
 
+	public T withProject(String project) {
+		this.project = project;
+		return self;
+	}
+
+	public String getProject() {
+		return project;
+	}
+
 	@Override
 	public ToStringHelper toStringHelper(Object self) {
 		return super.toStringHelper(self)
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImpl.java
index 4a6ab80..1fe97d5 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImpl.java
@@ -131,13 +131,15 @@ public class ComputationalServiceImpl implements ComputationalService {
 
 			updateComputationalStatus(userInfo.getName(), exploratoryName, computationalName, TERMINATING);
 
-			String exploratoryId = exploratoryDAO.fetchExploratoryId(userInfo.getName(), exploratoryName);
+			final UserInstanceDTO userInstanceDTO = exploratoryDAO.fetchExploratoryFields(userInfo.getName(),
+					exploratoryName);
 			UserComputationalResource compResource = computationalDAO.fetchComputationalFields(userInfo
 					.getName(), exploratoryName, computationalName);
 
 			final DataEngineType dataEngineType = compResource.getDataEngineType();
 			ComputationalTerminateDTO dto = requestBuilder.newComputationalTerminate(userInfo, exploratoryName,
-					exploratoryId, computationalName, compResource.getComputationalId(), dataEngineType);
+					userInstanceDTO.getExploratoryId(), computationalName, compResource.getComputationalId(),
+					dataEngineType, userInstanceDTO.getProject());
 
 			final String provisioningUrl = Optional.ofNullable(DATA_ENGINE_TYPE_TERMINATE_URLS.get(dataEngineType))
 					.orElseThrow(UnsupportedOperationException::new);
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/util/RequestBuilder.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/util/RequestBuilder.java
index 0cab73a..1d1aa12 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/util/RequestBuilder.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/util/RequestBuilder.java
@@ -403,7 +403,8 @@ public class RequestBuilder {
 				.withComputationalName(form.getName())
 				.withNotebookTemplateName(userInstance.getTemplateName())
 				.withApplicationName(getApplicationNameFromImage(userInstance.getImageName()))
-				.withNotebookInstanceName(userInstance.getExploratoryId());
+				.withNotebookInstanceName(userInstance.getExploratoryId())
+				.withProject(userInstance.getProject());
 	}
 
 	@SuppressWarnings("unchecked")
@@ -452,7 +453,8 @@ public class RequestBuilder {
 				.withComputationalName(form.getName())
 				.withNotebookTemplateName(userInstance.getTemplateName())
 				.withApplicationName(getApplicationNameFromImage(userInstance.getImageName()))
-				.withNotebookInstanceName(userInstance.getExploratoryId());
+				.withNotebookInstanceName(userInstance.getExploratoryId())
+				.withProject(userInstance.getProject());
 	}
 
 	@SuppressWarnings("unchecked")
@@ -461,7 +463,7 @@ public class RequestBuilder {
 																		String exploratoryId,
 																		String computationalName,
 																		String computationalId,
-																		DataEngineType dataEngineType) {
+																		DataEngineType dataEngineType, String project) {
 		T computationalTerminate;
 
 		switch (cloudProvider()) {
@@ -492,7 +494,8 @@ public class RequestBuilder {
 		return computationalTerminate
 				.withExploratoryName(exploratoryName)
 				.withComputationalName(computationalName)
-				.withNotebookInstanceName(exploratoryId);
+				.withNotebookInstanceName(exploratoryId)
+				.withProject(project);
 	}
 
 	@SuppressWarnings("unchecked")
@@ -503,7 +506,8 @@ public class RequestBuilder {
 				.withExploratoryName(exploratory.getExploratoryName())
 				.withComputationalName(computationalName)
 				.withNotebookInstanceName(exploratory.getExploratoryId())
-				.withApplicationName(getApplicationNameFromImage(exploratory.getImageName()));
+				.withApplicationName(getApplicationNameFromImage(exploratory.getImageName()))
+				.withProject(exploratory.getProject());
 	}
 
 	@SuppressWarnings("unchecked")
@@ -513,7 +517,8 @@ public class RequestBuilder {
 				.withExploratoryName(exploratory.getExploratoryName())
 				.withComputationalName(computationalName)
 				.withNotebookInstanceName(exploratory.getExploratoryId())
-				.withApplicationName(getApplicationNameFromImage(exploratory.getImageName()));
+				.withApplicationName(getApplicationNameFromImage(exploratory.getImageName()))
+				.withProject(exploratory.getProject());
 	}
 
 	@SuppressWarnings("unchecked")
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImplTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImplTest.java
index 6da6ee8..78e8459 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImplTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImplTest.java
@@ -184,7 +184,8 @@ public class ComputationalServiceImplTest {
 		}
 
 		verify(computationalDAO, never()).addComputational(USER, EXPLORATORY_NAME, sparkClusterResource);
-		verify(computationalDAO, never()).updateComputationalStatus(refEq(computationalStatusDTOWithStatusFailed, "self"));
+		verify(computationalDAO, never()).updateComputationalStatus(refEq(computationalStatusDTOWithStatusFailed,
+				"self"));
 		verify(exploratoryDAO).fetchExploratoryFields(USER, EXPLORATORY_NAME);
 		verifyNoMoreInteractions(configuration, computationalDAO, exploratoryDAO);
 	}
@@ -220,7 +221,7 @@ public class ComputationalServiceImplTest {
 		when(computationalDAO.updateComputationalStatus(any(ComputationalStatusDTO.class)))
 				.thenReturn(mock(UpdateResult.class));
 		String explId = "explId";
-		when(exploratoryDAO.fetchExploratoryId(anyString(), anyString())).thenReturn(explId);
+		when(exploratoryDAO.fetchExploratoryFields(anyString(), anyString())).thenReturn(userInstance);
 
 		String compId = "compId";
 		UserComputationalResource ucResource = new UserComputationalResource();
@@ -233,7 +234,7 @@ public class ComputationalServiceImplTest {
 		ctDto.setComputationalName(COMP_NAME);
 		ctDto.setExploratoryName(EXPLORATORY_NAME);
 		when(requestBuilder.newComputationalTerminate(any(UserInfo.class), anyString(), anyString(), anyString(),
-				anyString(), any(DataEngineType.class))).thenReturn(ctDto);
+				anyString(), any(DataEngineType.class), anyString())).thenReturn(ctDto);
 
 		when(provisioningService.post(anyString(), anyString(), any(ComputationalTerminateDTO.class), any()))
 				.thenReturn(UUID);
@@ -244,15 +245,14 @@ public class ComputationalServiceImplTest {
 		verify(computationalDAO).updateComputationalStatus(refEq(computationalStatusDTOWithStatusTerminating, "self"));
 		verify(computationalDAO).fetchComputationalFields(USER, EXPLORATORY_NAME, COMP_NAME);
 
-		verify(exploratoryDAO).fetchExploratoryId(USER, EXPLORATORY_NAME);
-
 		verify(requestBuilder).newComputationalTerminate(userInfo, EXPLORATORY_NAME, explId, COMP_NAME, compId,
-				DataEngineType.CLOUD_SERVICE);
+				DataEngineType.CLOUD_SERVICE, null);
 
 		verify(provisioningService).post(ComputationalAPI.COMPUTATIONAL_TERMINATE_CLOUD_SPECIFIC, TOKEN, ctDto,
 				String.class);
 
 		verify(requestId).put(USER, UUID);
+		verify(exploratoryDAO).fetchExploratoryFields(USER, EXPLORATORY_NAME);
 		verifyNoMoreInteractions(computationalDAO, exploratoryDAO, requestBuilder, provisioningService, requestId);
 	}
 
@@ -297,7 +297,7 @@ public class ComputationalServiceImplTest {
 		verify(computationalDAO).updateComputationalStatus(refEq(computationalStatusDTOWithStatusTerminating, "self"));
 		verify(computationalDAO).fetchComputationalFields(USER, EXPLORATORY_NAME, COMP_NAME);
 		verify(computationalDAO).updateComputationalStatus(refEq(computationalStatusDTOWithStatusFailed, "self"));
-		verify(exploratoryDAO).fetchExploratoryId(USER, EXPLORATORY_NAME);
+		verify(exploratoryDAO).fetchExploratoryFields(USER, EXPLORATORY_NAME);
 		verifyNoMoreInteractions(computationalDAO, exploratoryDAO);
 	}
 
@@ -306,7 +306,7 @@ public class ComputationalServiceImplTest {
 		when(computationalDAO.updateComputationalStatus(any(ComputationalStatusDTO.class)))
 				.thenReturn(mock(UpdateResult.class));
 		String explId = "explId";
-		when(exploratoryDAO.fetchExploratoryId(anyString(), anyString())).thenReturn(explId);
+		when(exploratoryDAO.fetchExploratoryFields(anyString(), anyString())).thenReturn(userInstance);
 
 		String compId = "compId";
 		UserComputationalResource ucResource = new UserComputationalResource();
@@ -317,7 +317,7 @@ public class ComputationalServiceImplTest {
 
 		doThrow(new DlabException("Cannot create instance of resource class "))
 				.when(requestBuilder).newComputationalTerminate(any(UserInfo.class), anyString(), anyString(),
-				anyString(), anyString(), any(DataEngineType.class));
+				anyString(), anyString(), any(DataEngineType.class), anyString());
 
 		when(computationalDAO.updateComputationalStatus(any(ComputationalStatusDTO.class)))
 				.thenReturn(mock(UpdateResult.class));
@@ -331,10 +331,10 @@ public class ComputationalServiceImplTest {
 		verify(computationalDAO).updateComputationalStatus(refEq(computationalStatusDTOWithStatusTerminating, "self"));
 		verify(computationalDAO).fetchComputationalFields(USER, EXPLORATORY_NAME, COMP_NAME);
 
-		verify(exploratoryDAO).fetchExploratoryId(USER, EXPLORATORY_NAME);
+		verify(exploratoryDAO).fetchExploratoryFields(USER, EXPLORATORY_NAME);
 
 		verify(requestBuilder).newComputationalTerminate(userInfo, EXPLORATORY_NAME, explId, COMP_NAME, compId,
-				DataEngineType.CLOUD_SERVICE);
+				DataEngineType.CLOUD_SERVICE, null);
 		verify(computationalDAO).updateComputationalStatus(refEq(computationalStatusDTOWithStatusFailed, "self"));
 		verifyNoMoreInteractions(computationalDAO, exploratoryDAO, requestBuilder);
 	}
@@ -405,7 +405,8 @@ public class ComputationalServiceImplTest {
 
 		verify(exploratoryDAO).fetchExploratoryFields(USER, EXPLORATORY_NAME);
 
-		verify(computationalDAO, never()).updateComputationalStatus(refEq(computationalStatusDTOWithStatusFailed, "self"));
+		verify(computationalDAO, never()).updateComputationalStatus(refEq(computationalStatusDTOWithStatusFailed,
+				"self"));
 		verifyNoMoreInteractions(computationalDAO, exploratoryDAO);
 	}
 
@@ -665,7 +666,9 @@ public class ComputationalServiceImplTest {
 	}
 
 	private UserInstanceDTO getUserInstanceDto() {
-		return new UserInstanceDTO().withUser(USER).withExploratoryName(EXPLORATORY_NAME).withTags(Collections.emptyMap());
+		return new UserInstanceDTO().withUser(USER).withExploratoryName(EXPLORATORY_NAME)
+				.withExploratoryId("explId")
+				.withTags(Collections.emptyMap());
 	}
 
 	private List<ComputationalCreateFormDTO> getFormList() {
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/util/RequestBuilderTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/util/RequestBuilderTest.java
index ff3e765..82fd834 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/util/RequestBuilderTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/util/RequestBuilderTest.java
@@ -972,7 +972,7 @@ public class RequestBuilderTest {
 		when(settingsDAO.getConfTagResourceId()).thenReturn("someConfTagResourceId");
 
 		requestBuilder.newComputationalTerminate(userInfo, "explName", "explId", "compName",
-				"compId", DataEngineType.CLOUD_SERVICE);
+				"compId", DataEngineType.CLOUD_SERVICE, "");
 
 		verify(configuration, times(3)).getCloudProvider();
 		verify(settingsDAO).getServiceBaseName();
@@ -999,7 +999,7 @@ public class RequestBuilderTest {
 		when(settingsDAO.getAzureVpcName()).thenReturn("someAzureVpcId");
 
 		requestBuilder.newComputationalTerminate(userInfo, "explName", "explId", "compName",
-				"compId", DataEngineType.CLOUD_SERVICE);
+				"compId", DataEngineType.CLOUD_SERVICE, "");
 
 		verify(configuration, times(3)).getCloudProvider();
 		verify(settingsDAO).getServiceBaseName();
@@ -1020,7 +1020,7 @@ public class RequestBuilderTest {
 		when(settingsDAO.getConfOsFamily()).thenReturn("someConfOsFamily");
 
 		requestBuilder.newComputationalTerminate(userInfo, "explName", "explId", "compName",
-				"compId", DataEngineType.CLOUD_SERVICE);
+				"compId", DataEngineType.CLOUD_SERVICE, "");
 
 		verify(configuration, times(3)).getCloudProvider();
 		verify(configuration).getMaxUserNameLength();


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org


[incubator-dlab] 01/02: DLAB-000 added project parameter for start/stop exploratory

Posted by bh...@apache.org.
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 7ea4cc0404c10cff64a9a46736f84a982978d00d
Author: bhliva <bo...@epam.com>
AuthorDate: Wed Jul 3 11:10:45 2019 +0300

    DLAB-000 added project parameter for start/stop exploratory
---
 .../main/java/com/epam/dlab/backendapi/util/RequestBuilder.java  | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/util/RequestBuilder.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/util/RequestBuilder.java
index 350fa0e..0cab73a 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/util/RequestBuilder.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/util/RequestBuilder.java
@@ -251,14 +251,16 @@ public class RequestBuilder {
 						.withGitCreds(exploratoryGitCredsDTO.getGitCreds())
 						.withNotebookImage(userInstance.getImageName())
 						.withExploratoryName(userInstance.getExploratoryName())
-						.withReuploadKeyRequired(userInstance.isReuploadKeyRequired());
+						.withReuploadKeyRequired(userInstance.isReuploadKeyRequired())
+						.withProject(userInstance.getProject());
 			case AZURE:
 				T exploratoryStart = (T) newResourceSysBaseDTO(userInfo, ExploratoryActionStartAzure.class)
 						.withNotebookInstanceName(userInstance.getExploratoryId())
 						.withGitCreds(exploratoryGitCredsDTO.getGitCreds())
 						.withNotebookImage(userInstance.getImageName())
 						.withExploratoryName(userInstance.getExploratoryName())
-						.withReuploadKeyRequired(userInstance.isReuploadKeyRequired());
+						.withReuploadKeyRequired(userInstance.isReuploadKeyRequired())
+						.withProject(userInstance.getProject());
 
 				if (settingsDAO.isAzureDataLakeEnabled()) {
 					((ExploratoryActionStartAzure) exploratoryStart)
@@ -296,7 +298,8 @@ public class RequestBuilder {
 				.withNotebookImage(userInstance.getImageName())
 				.withExploratoryName(userInstance.getExploratoryName())
 				.withNotebookImage(userInstance.getImageName())
-				.withReuploadKeyRequired(userInstance.isReuploadKeyRequired());
+				.withReuploadKeyRequired(userInstance.isReuploadKeyRequired())
+				.withProject(userInstance.getProject());
 	}
 
 	public ExploratoryGitCredsUpdateDTO newGitCredentialsUpdate(UserInfo userInfo, UserInstanceDTO instanceDTO,


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org