use of org.ow2.proactive.resourcemanager.exception.NotConnectedException in project scheduling by ow2-proactive.
the class SchedulerStateRestLiveLogsTest method verifyListenAndGetAppender.
private Appender verifyListenAndGetAppender(String jobId) throws NotConnectedException, UnknownJobException, PermissionException, LogForwardingException {
ArgumentCaptor<AppenderProvider> appenderProviderArgumentCaptor = ArgumentCaptor.forClass(AppenderProvider.class);
verify(scheduler).listenJobLogs(eq(jobId), appenderProviderArgumentCaptor.capture());
AppenderProvider appenderProvider = appenderProviderArgumentCaptor.getValue();
return appenderProvider.getAppender();
}
use of org.ow2.proactive.resourcemanager.exception.NotConnectedException in project scheduling by ow2-proactive.
the class SchedulerStateRestSecurityTest method testAllMethodsAreSecured.
// call all interface's methods using reflection
@Test
public void testAllMethodsAreSecured() throws Exception {
for (Method method : SchedulerRestInterface.class.getMethods()) {
if (methodShouldBeSecured(method)) {
Object[] params = createMethodParameters(method);
try {
// by default we are not connected, any call should fail
method.invoke(restInterface, params);
fail(method + " should throw a NotConnectedException");
} catch (InvocationTargetException exception) {
if (!exception.getCause().getClass().equals(NotConnectedRestException.class) && !exception.getCause().getCause().getClass().equals(NotConnectedRestException.class)) {
fail(method + " should throw a NotConnectedException");
}
}
}
}
}
use of org.ow2.proactive.resourcemanager.exception.NotConnectedException in project scheduling by ow2-proactive.
the class NoVncSecuredTargetResolverTest method mockSchedulerState.
@Before
public void mockSchedulerState() throws NotConnectedException, UnknownJobException, PermissionException {
JobState jobState = mock(JobState.class);
when(schedulerMock.getJobState("42")).thenReturn(jobState);
TaskState taskState = mock(TaskState.class);
when(taskState.getName()).thenReturn("remoteVisuTask");
TaskId taskId = mock(TaskId.class);
when(taskId.value()).thenReturn("1");
when(taskState.getId()).thenReturn(taskId);
when(jobState.getHMTasks()).thenReturn(Collections.singletonMap(taskId, taskState));
}
use of org.ow2.proactive.resourcemanager.exception.NotConnectedException in project scheduling by ow2-proactive.
the class SessionSharingTest method sessions_are_shared_rm_login.
@Test
public void sessions_are_shared_rm_login() throws Exception {
String sessionId = rmRest.rmConnect("login", "pw");
assertTrue(studioRest.getWorkflows(sessionId).isEmpty());
when(schedulerMock.freeze()).thenReturn(true);
boolean frozen = schedulerRest.freezeScheduler(sessionId);
assertTrue(frozen);
when(rmMock.getState()).thenReturn(new RMState(new RMStateNodeUrls(new HashSet<String>(), new HashSet<String>(), new HashSet<String>()), Long.valueOf(-1)));
RMState rmState = rmRest.getState(sessionId);
assertNotNull(rmState);
rmRest.rmDisconnect(sessionId);
try {
rmRest.getState(sessionId);
fail();
} catch (NotConnectedException expected) {
// expected
}
try {
schedulerRest.freezeScheduler(sessionId);
fail();
} catch (NotConnectedRestException expected) {
// expected
}
}
use of org.ow2.proactive.resourcemanager.exception.NotConnectedException in project scheduling by ow2-proactive.
the class RestJobTrackerImpl method removeAwaitedJob.
@Override
public void removeAwaitedJob(String id) {
AwaitedJob aj = jobDatabase.getAwaitedJob(id);
if (aj == null) {
logger.warn("Job " + id + " not in the awaited list");
return;
}
logger.debug("Removing knowledge of job " + id);
String pullUrl = aj.getPullURL();
String pushUrl = aj.getPushURL();
Path remotePullFolder = null;
Path remotePushFolder = null;
try {
remotePullFolder = Paths.get(new URI(pullUrl));
remotePushFolder = Paths.get(new URI(pushUrl));
} catch (Exception e) {
logger.error("Could not remove data for job " + id, e);
return;
}
if (aj.isIsolateTaskOutputs()) {
Path tmp = remotePullFolder.getParent();
if (tmp != null) {
remotePullFolder = tmp;
}
}
Set<Path> foldersToDelete = new HashSet<>();
foldersToDelete.add(remotePullFolder.getParent());
if (!remotePullFolder.getParent().equals(remotePushFolder.getParent())) {
foldersToDelete.add(remotePushFolder.getParent());
}
RemoteSource remoteSource = new RemoteSource(IDataSpaceClient.Dataspace.USER);
remoteSource.setType(FileType.FOLDER);
for (Path path : foldersToDelete) {
String location = path.toUri().toString();
try {
if (!logger.isTraceEnabled()) {
logger.debug("Deleting directory " + location);
remoteSource.setPath(location);
restDataSpaceClient.delete(remoteSource);
}
} catch (NotConnectedException | PermissionException e) {
logger.warn("Could not delete temporary files at location " + location + " .", e);
}
}
jobDatabase.removeAwaitedJob(id);
try {
jobDatabase.commit();
} catch (IOException e) {
logger.error("Could not save status file after removing job " + id, e);
}
}
Aggregations