Repository: airavata Updated Branches: refs/heads/develop 644bf8962 -> 1480cd3b4
Added logs to track session life cycle Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/1480cd3b Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/1480cd3b Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/1480cd3b Branch: refs/heads/develop Commit: 1480cd3b498fe90bc3f5fac7a35c24cee31110b6 Parents: 644bf89 Author: Shameera Rathnayaka <[email protected]> Authored: Fri Dec 30 16:38:24 2016 -0500 Committer: Shameera Rathnayaka <[email protected]> Committed: Fri Dec 30 16:38:24 2016 -0500 ---------------------------------------------------------------------- .../org/apache/airavata/gfac/impl/Factory.java | 82 ++++++++++---------- 1 file changed, 42 insertions(+), 40 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/1480cd3b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/Factory.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/Factory.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/Factory.java index fda5386..6d2fa28 100644 --- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/Factory.java +++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/Factory.java @@ -134,6 +134,46 @@ public abstract class Factory { return engine; } + public static void loadConfiguration() throws GFacException { + GFacYamlConfigruation config = new GFacYamlConfigruation(); + try { + for (JobSubmitterTaskConfig jobSubmitterTaskConfig : config.getJobSbumitters()) { + String taskClass = jobSubmitterTaskConfig.getTaskClass(); + Class<?> aClass = Class.forName(taskClass); + Constructor<?> constructor = aClass.getConstructor(); + JobSubmissionTask task = (JobSubmissionTask) constructor.newInstance(); + task.init(jobSubmitterTaskConfig.getProperties()); + jobSubmissionTask.put(jobSubmitterTaskConfig.getSubmissionProtocol(), task); + } + + for (DataTransferTaskConfig dataTransferTaskConfig : config.getFileTransferTasks()) { + String taskClass = dataTransferTaskConfig.getTaskClass(); + Class<?> aClass = Class.forName(taskClass); + Constructor<?> constructor = aClass.getConstructor(); + Task task = (Task) constructor.newInstance(); + task.init(dataTransferTaskConfig.getProperties()); + dataMovementTask.put(dataTransferTaskConfig.getTransferProtocol(), task); + } + + for (ResourceConfig resourceConfig : config.getResourceConfiguration()) { + resources.put(resourceConfig.getJobManagerType(), resourceConfig); + } + } catch (Exception e) { + throw new GFacException("Gfac config issue", e); + } + + sessionCache = CacheBuilder.newBuilder() + .expireAfterAccess(ServerSettings.getSessionCacheAccessTimeout(), TimeUnit.MINUTES) + .removalListener((RemovalListener<String, Session>) removalNotification -> { + if (removalNotification.getValue().isConnected()) { + log.info("Disconnecting ssh session with key: " + removalNotification.getKey()); + removalNotification.getValue().disconnect(); + } + log.info("Removed ssh session with key: " + removalNotification.getKey()); + }) + .build(); + } + public static GFacContext getGfacContext() { if (gfacContext == null) { gfacContext = GFacContext.getInstance(); @@ -225,11 +265,11 @@ public abstract class Factory { } + public static HostScheduler getHostScheduler() { return new DefaultHostScheduler(); } - /** * Factory class manage reomete cluster map, this will solve too many connections/ sessions issues with cluster * communications. @@ -364,6 +404,7 @@ public abstract class Factory { } } + private static SSHKeyAuthentication getSshKeyAuthentication(String gatewayId, String loginUserName, String credentialStoreToken) @@ -394,7 +435,6 @@ public abstract class Factory { } } - public static JobSubmissionTask getJobSubmissionTask(JobSubmissionProtocol jobSubmissionProtocol) { return jobSubmissionTask.get(jobSubmissionProtocol); } @@ -411,44 +451,6 @@ public abstract class Factory { return resources; } - public static void loadConfiguration() throws GFacException { - GFacYamlConfigruation config = new GFacYamlConfigruation(); - try { - for (JobSubmitterTaskConfig jobSubmitterTaskConfig : config.getJobSbumitters()) { - String taskClass = jobSubmitterTaskConfig.getTaskClass(); - Class<?> aClass = Class.forName(taskClass); - Constructor<?> constructor = aClass.getConstructor(); - JobSubmissionTask task = (JobSubmissionTask) constructor.newInstance(); - task.init(jobSubmitterTaskConfig.getProperties()); - jobSubmissionTask.put(jobSubmitterTaskConfig.getSubmissionProtocol(), task); - } - - for (DataTransferTaskConfig dataTransferTaskConfig : config.getFileTransferTasks()) { - String taskClass = dataTransferTaskConfig.getTaskClass(); - Class<?> aClass = Class.forName(taskClass); - Constructor<?> constructor = aClass.getConstructor(); - Task task = (Task) constructor.newInstance(); - task.init(dataTransferTaskConfig.getProperties()); - dataMovementTask.put(dataTransferTaskConfig.getTransferProtocol(), task); - } - - for (ResourceConfig resourceConfig : config.getResourceConfiguration()) { - resources.put(resourceConfig.getJobManagerType(), resourceConfig); - } - } catch (Exception e) { - throw new GFacException("Gfac config issue", e); - } - - sessionCache = CacheBuilder.newBuilder() - .expireAfterAccess(ServerSettings.getSessionCacheAccessTimeout(), TimeUnit.MINUTES) - .removalListener((RemovalListener<String, Session>) removalNotification -> { - if (removalNotification.getValue().isConnected()) { - removalNotification.getValue().disconnect(); - } - }) - .build(); - } - public static JobMonitor getMonitorService(MonitorMode monitorMode) throws AiravataException, GFacException { JobMonitor jobMonitor = jobMonitorServices.get(monitorMode); if (jobMonitor == null) {
