You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2019/11/15 15:48:41 UTC
[incubator-dlab] branch develop updated: Fixed issue with scheduler
and quote
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/develop by this push:
new 0dc62b7 Fixed issue with scheduler and quote
0dc62b7 is described below
commit 0dc62b76fcf49332751e904a0aecb29cc3c56f27
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Fri Nov 15 17:47:13 2019 +0200
Fixed issue with scheduler and quote
---
.../dlab/backendapi/service/SecurityService.java | 2 +-
.../backendapi/service/SecurityServiceImpl.java | 5 ++--
.../service/impl/EnvironmentServiceImpl.java | 4 +--
.../service/impl/SchedulerJobServiceImpl.java | 10 +++----
.../service/impl/EnvironmentServiceImplTest.java | 5 ++--
.../service/impl/SchedulerJobServiceImplTest.java | 32 +++++++++++-----------
6 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/SecurityService.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/SecurityService.java
index fb1179f..6f78ad2 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/SecurityService.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/SecurityService.java
@@ -7,5 +7,5 @@ public interface SecurityService {
UserInfo getUserInfoOffline(String username);
- UserInfo getServiceAccountInfo();
+ UserInfo getServiceAccountInfo(String username);
}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/SecurityServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/SecurityServiceImpl.java
index b62e3fc..b43128d 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/SecurityServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/SecurityServiceImpl.java
@@ -38,9 +38,8 @@ public class SecurityServiceImpl implements SecurityService {
}
@Override
- public UserInfo getServiceAccountInfo() {
+ public UserInfo getServiceAccountInfo(String username) {
AccessTokenResponse accessTokenResponse = keycloakService.generateServiceAccountToken();
- return new UserInfo(KeycloakUtil.parseToken(accessTokenResponse.getToken()).getPreferredUsername(),
- accessTokenResponse.getToken());
+ return new UserInfo(username, accessTokenResponse.getToken());
}
}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EnvironmentServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EnvironmentServiceImpl.java
index f062c7f..09428c4 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EnvironmentServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EnvironmentServiceImpl.java
@@ -139,7 +139,7 @@ public class EnvironmentServiceImpl implements EnvironmentService {
projectService.get(project).getEndpoints().stream()
.filter(e -> UserInstanceStatus.RUNNING == e.getStatus())
- .forEach(endpoint -> projectService.stop(securityService.getServiceAccountInfo(),
+ .forEach(endpoint -> projectService.stop(securityService.getServiceAccountInfo("admin"),
endpoint.getName(), project));
}
@@ -210,7 +210,7 @@ public class EnvironmentServiceImpl implements EnvironmentService {
}
private void stopNotebookWithServiceAccount(UserInstanceDTO instance) {
- final UserInfo userInfo = securityService.getServiceAccountInfo();
+ final UserInfo userInfo = securityService.getServiceAccountInfo(instance.getUser());
exploratoryService.stop(userInfo, instance.getExploratoryName());
}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/SchedulerJobServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/SchedulerJobServiceImpl.java
index 2d67665..e84908e 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/SchedulerJobServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/SchedulerJobServiceImpl.java
@@ -207,14 +207,14 @@ public class SchedulerJobServiceImpl implements SchedulerJobService {
final String compName = job.getComputationalName();
final String user = job.getUser();
log.debug("Stopping exploratory {} computational {} for user {} by scheduler", expName, compName, user);
- computationalService.stopSparkCluster(securityService.getServiceAccountInfo(), expName, compName);
+ computationalService.stopSparkCluster(securityService.getServiceAccountInfo(user), expName, compName);
}
private void terminateComputational(SchedulerJobData job) {
final String user = job.getUser();
final String expName = job.getExploratoryName();
final String compName = job.getComputationalName();
- final UserInfo userInfo = securityService.getServiceAccountInfo();
+ final UserInfo userInfo = securityService.getServiceAccountInfo(user);
log.debug("Terminating exploratory {} computational {} for user {} by scheduler", expName, compName, user);
computationalService.terminateComputational(userInfo, expName, compName);
}
@@ -223,7 +223,7 @@ public class SchedulerJobServiceImpl implements SchedulerJobService {
final String expName = job.getExploratoryName();
final String user = job.getUser();
log.debug("Stopping exploratory {} for user {} by scheduler", expName, user);
- exploratoryService.stop(securityService.getServiceAccountInfo(), expName);
+ exploratoryService.stop(securityService.getServiceAccountInfo(user), expName);
}
private List<SchedulerJobData> getExploratorySchedulersForTerminating(OffsetDateTime now) {
@@ -245,7 +245,7 @@ public class SchedulerJobServiceImpl implements SchedulerJobService {
final String exploratoryName = schedulerJobData.getExploratoryName();
final String project = schedulerJobData.getProject();
log.debug("Starting exploratory {} for user {} by scheduler", exploratoryName, user);
- exploratoryService.start(securityService.getServiceAccountInfo(), exploratoryName, project);
+ exploratoryService.start(securityService.getServiceAccountInfo(user), exploratoryName, project);
if (schedulerJobData.getJobDTO().isSyncStartRequired()) {
log.trace("Starting computational for exploratory {} for user {} by scheduler", exploratoryName, user);
final DataEngineType sparkCluster = DataEngineType.SPARK_STANDALONE;
@@ -268,7 +268,7 @@ public class SchedulerJobServiceImpl implements SchedulerJobService {
private void startSpark(String user, String expName, String compName, String project) {
log.debug("Starting exploratory {} computational {} for user {} by scheduler", expName, compName, user);
- computationalService.startSparkCluster(securityService.getServiceAccountInfo(), expName, compName, project);
+ computationalService.startSparkCluster(securityService.getServiceAccountInfo(user), expName, compName, project);
}
private boolean shouldClusterBeStarted(DataEngineType sparkCluster, UserComputationalResource compResource) {
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/EnvironmentServiceImplTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/EnvironmentServiceImplTest.java
index 3344ad3..1df2245 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/EnvironmentServiceImplTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/EnvironmentServiceImplTest.java
@@ -211,7 +211,7 @@ public class EnvironmentServiceImplTest {
final UserInfo userInfo = getUserInfo();
final ProjectDTO projectDTO = getProjectDTO();
when(exploratoryDAO.fetchRunningExploratoryFieldsForProject(anyString())).thenReturn(getUserInstances());
- when(securityService.getServiceAccountInfo()).thenReturn(userInfo);
+ when(securityService.getServiceAccountInfo(anyString())).thenReturn(userInfo);
when(exploratoryService.stop(any(UserInfo.class), anyString())).thenReturn(UUID);
when(projectService.get(anyString())).thenReturn(projectDTO);
doNothing().when(projectService).stop(any(UserInfo.class), anyString(), anyString());
@@ -221,7 +221,8 @@ public class EnvironmentServiceImplTest {
verify(exploratoryDAO).fetchRunningExploratoryFieldsForProject(PROJECT_NAME);
verify(exploratoryService).stop(refEq(userInfo), eq(EXPLORATORY_NAME_1));
verify(exploratoryService).stop(refEq(userInfo), eq(EXPLORATORY_NAME_2));
- verify(securityService, times(3)).getServiceAccountInfo();
+ verify(securityService, times(2)).getServiceAccountInfo(USER);
+ verify(securityService).getServiceAccountInfo(ADMIN);
verify(projectService).get(eq(PROJECT_NAME));
verify(projectService).stop(refEq(userInfo), eq(ENDPOINT_NAME), eq(PROJECT_NAME));
verify(exploratoryDAO).fetchProjectExploratoriesWhereStatusIn(PROJECT_NAME, Arrays.asList(UserInstanceStatus.CREATING,
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/SchedulerJobServiceImplTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/SchedulerJobServiceImplTest.java
index 0cd0cd3..8a7d8ec 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/SchedulerJobServiceImplTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/SchedulerJobServiceImplTest.java
@@ -392,11 +392,11 @@ public class SchedulerJobServiceImplTest {
LocalDateTime.of(LocalDate.now(),
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)), false, USER,
LocalTime.now().truncatedTo(ChronoUnit.MINUTES))));
- when(securityService.getServiceAccountInfo()).thenReturn(getUserInfo());
+ when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
schedulerJobService.startComputationalByScheduler();
- verify(securityService).getServiceAccountInfo();
+ verify(securityService).getServiceAccountInfo(USER);
verify(schedulerJobDAO)
.getComputationalSchedulerDataWithOneOfStatus(RUNNING, DataEngineType.SPARK_STANDALONE, STOPPED);
verify(computationalService).startSparkCluster(refEq(getUserInfo()), eq(EXPLORATORY_NAME),
@@ -492,11 +492,11 @@ public class SchedulerJobServiceImplTest {
LocalDateTime.of(LocalDate.now(),
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)), false, USER,
LocalTime.now().truncatedTo(ChronoUnit.MINUTES))));
- when(securityService.getServiceAccountInfo()).thenReturn(getUserInfo());
+ when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
schedulerJobService.stopComputationalByScheduler();
- verify(securityService).getServiceAccountInfo();
+ verify(securityService).getServiceAccountInfo(USER);
verify(schedulerJobDAO)
.getComputationalSchedulerDataWithOneOfStatus(RUNNING, DataEngineType.SPARK_STANDALONE, RUNNING);
verify(computationalService).stopSparkCluster(refEq(getUserInfo()), eq(EXPLORATORY_NAME),
@@ -590,11 +590,11 @@ public class SchedulerJobServiceImplTest {
LocalDateTime.of(LocalDate.now(),
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)), false, USER,
LocalTime.now().truncatedTo(ChronoUnit.MINUTES))));
- when(securityService.getServiceAccountInfo()).thenReturn(getUserInfo());
+ when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
schedulerJobService.stopExploratoryByScheduler();
- verify(securityService).getServiceAccountInfo();
+ verify(securityService).getServiceAccountInfo(USER);
verify(schedulerJobDAO).getExploratorySchedulerWithStatusAndClusterLastActivityLessThan(eq(RUNNING),
any(Date.class));
verify(exploratoryService).stop(refEq(getUserInfo()), eq(EXPLORATORY_NAME));
@@ -686,11 +686,11 @@ public class SchedulerJobServiceImplTest {
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)), false, USER,
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)
)));
- when(securityService.getServiceAccountInfo()).thenReturn(getUserInfo());
+ when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
schedulerJobService.startExploratoryByScheduler();
- verify(securityService).getServiceAccountInfo();
+ verify(securityService).getServiceAccountInfo(USER);
verify(schedulerJobDAO).getExploratorySchedulerDataWithStatus(STOPPED);
verify(exploratoryService).start(refEq(getUserInfo()), eq(EXPLORATORY_NAME), eq(PROJECT));
verifyNoMoreInteractions(securityService, schedulerJobDAO, exploratoryService);
@@ -709,14 +709,14 @@ public class SchedulerJobServiceImplTest {
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)), true, USER,
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)
)));
- when(securityService.getServiceAccountInfo()).thenReturn(getUserInfo());
+ when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
when(computationalDAO.findComputationalResourcesWithStatus(anyString(), anyString(),
any(UserInstanceStatus.class))).thenReturn(singletonList(getComputationalResource(
DataEngineType.SPARK_STANDALONE, true)));
schedulerJobService.startExploratoryByScheduler();
- verify(securityService, times(2)).getServiceAccountInfo();
+ verify(securityService, times(2)).getServiceAccountInfo(USER);
verify(schedulerJobDAO).getExploratorySchedulerDataWithStatus(STOPPED);
verify(exploratoryService).start(refEq(getUserInfo()), eq(EXPLORATORY_NAME), eq(PROJECT));
verify(computationalDAO).findComputationalResourcesWithStatus(USER, EXPLORATORY_NAME, STOPPED);
@@ -736,14 +736,14 @@ public class SchedulerJobServiceImplTest {
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)), true, USER,
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)
)));
- when(securityService.getServiceAccountInfo()).thenReturn(getUserInfo());
+ when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
when(computationalDAO.findComputationalResourcesWithStatus(anyString(), anyString(),
any(UserInstanceStatus.class))).thenReturn(singletonList(getComputationalResource(
DataEngineType.CLOUD_SERVICE, true)));
schedulerJobService.startExploratoryByScheduler();
- verify(securityService).getServiceAccountInfo();
+ verify(securityService).getServiceAccountInfo(USER);
verify(schedulerJobDAO).getExploratorySchedulerDataWithStatus(STOPPED);
verify(exploratoryService).start(refEq(getUserInfo()), eq(EXPLORATORY_NAME), eq(PROJECT));
verify(computationalDAO).findComputationalResourcesWithStatus(USER, EXPLORATORY_NAME, STOPPED);
@@ -761,14 +761,14 @@ public class SchedulerJobServiceImplTest {
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)), true, USER,
LocalTime.now().truncatedTo(ChronoUnit.MINUTES)
)));
- when(securityService.getServiceAccountInfo()).thenReturn(getUserInfo());
+ when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
when(computationalDAO.findComputationalResourcesWithStatus(anyString(), anyString(),
any(UserInstanceStatus.class))).thenReturn(singletonList(getComputationalResource(
DataEngineType.SPARK_STANDALONE, false)));
schedulerJobService.startExploratoryByScheduler();
- verify(securityService).getServiceAccountInfo();
+ verify(securityService).getServiceAccountInfo(USER);
verify(schedulerJobDAO).getExploratorySchedulerDataWithStatus(STOPPED);
verify(exploratoryService).start(refEq(getUserInfo()), eq(EXPLORATORY_NAME), eq(PROJECT));
verify(computationalDAO).findComputationalResourcesWithStatus(USER, EXPLORATORY_NAME, STOPPED);
@@ -855,11 +855,11 @@ public class SchedulerJobServiceImplTest {
);
when(schedulerJobDAO.getComputationalSchedulerDataWithOneOfStatus(any(UserInstanceStatus.class),
anyVararg())).thenReturn(singletonList(schedulerJobData));
- when(securityService.getServiceAccountInfo()).thenReturn(getUserInfo());
+ when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
schedulerJobService.terminateComputationalByScheduler();
- verify(securityService).getServiceAccountInfo();
+ verify(securityService).getServiceAccountInfo(USER);
verify(schedulerJobDAO)
.getComputationalSchedulerDataWithOneOfStatus(RUNNING, STOPPED, RUNNING);
verify(computationalService).terminateComputational(refEq(getUserInfo()), eq(EXPLORATORY_NAME),
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org