You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ad...@apache.org on 2017/05/10 16:13:10 UTC

[1/7] airavata git commit: Correcting yaml configuration file

Repository: airavata
Updated Branches:
  refs/heads/feature-workload-mgmt cc1ca3d59 -> 2defa8f1d


Correcting yaml configuration file


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/1846b98b
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/1846b98b
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/1846b98b

Branch: refs/heads/feature-workload-mgmt
Commit: 1846b98b8b2f82fa20b6c150f5e3cafc2641a7c6
Parents: cc1ca3d
Author: Ajinkya Dhamnaskar <ad...@apache.org>
Authored: Wed May 10 12:08:30 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@apache.org>
Committed: Wed May 10 12:08:30 2017 -0400

----------------------------------------------------------------------
 .../src/main/resources/worker-config.yaml       | 185 ++++++++++++-------
 .../src/main/resources/worker-config.yaml       |  32 ----
 2 files changed, 114 insertions(+), 103 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1846b98b/modules/worker/worker-core/src/main/resources/worker-config.yaml
----------------------------------------------------------------------
diff --git a/modules/worker/worker-core/src/main/resources/worker-config.yaml b/modules/worker/worker-core/src/main/resources/worker-config.yaml
index 5fef110..9d856cd 100644
--- a/modules/worker/worker-core/src/main/resources/worker-config.yaml
+++ b/modules/worker/worker-core/src/main/resources/worker-config.yaml
@@ -18,76 +18,119 @@
 #
 ################################################################
 
-config:
- jobSubmitters:
-   - submissionProtocol: SSH
-     taskClass: org.apache.airavata.task.adapters.SSHJobSubmissionTask
-     properties:
-      - password: pwd123
-      - passPhrase: test
-      - privateKey: key
-      - publicKey: pubkey
-
-   - submissionProtocol: GSISSH
-     taskClass: org.apache.airavata.task.adapters.GSISSHJobSubmissionTask
-
- commonTasks:
-    - type: SETUP
-      taskClass: org.apache.airavata.task.common.SetupTask
-
-    - type: CLEANUP
-      taskClass: org.apache.airavata.task.common.CleanupTask
-
- fileTransferTasks:
-   - transferProtocol: SCP
-     taskClass: org.apache.airavata.task.adapters.SCPFileTransferTask
-     properties:
-      - password: pwd123
-      - passPhrase: test
-      - privateKey: key
-      - publicKey: pubkey
-
-   - transferProtocol: HTTP
-     taskClass: org.apache.airavata.task.adapters.HTTPFileTransferTask
-
-   - transferProtocol: GRIDFTP
-     taskClass: org.apache.airavata.task.adapters.GRIDFTPFileTransferTask
-
- resources:
-   - jobManagerType: PBS
-     commandOutputParser: org.apache.airavata.commmand.PBSOutputParser
-     emailParser: org.apache.airavata.email.parser.PBSEmailParser
-     resourceEmailAddresses:
-       - pbsconsult@sdsc.edu  # gordon
-       - adm@trident.bigred2.uits.iu.edu # Bigred2
-       - root <ad...@trident.bigred2.uits.iu.edu> # Bigred2
-       - root <ad...@scyld.localdomain> # alamo
-
-   - jobManagerType: SLURM
-     commandOutputParser: org.apache.airavata.commmand.SLURMOutputParser
-     emailParser: org.apache.airavata.email.parser.SLURMEmailParser
-     resourceEmailAddresses:
-       - SDSC Admin <sl...@comet-fe3.sdsc.edu> # comet
-       - slurm@batch1.stampede.tacc.utexas.edu # stampede
-
-   - jobManagerType: UGE
-     commandOutputParser: org.apache.airavata.commmand.UGEOutputParser
-     emailParser: org.apache.airavata.email.parser.UGEEmailParser
-     resourceEmailAddresses:
-       - ls4.tacc.utexas.edu # contain Lonestar
-
-
- taskImplementations:
-   - task: ENV_SETUP
-     taskClass: org.apache.airavata.worker.task.envsetup.impl.EnvironmentSetupTask
-
-   - task: DATA_STAGING
-       taskClass: org.apache.airavata.worker.task.datastaging.impl.DataStageTask
-
-   - task: JOB_SUBMISSION
-       taskClass: org.apache.airavata.worker.task.jobsubmission.impl.DefaultJobSubmissionTask
-
-   - task: MONITORING
-       taskClass: org.apache.airavata.worker.task.envsetup.impl.EnvironmentSetupTask
+jobSubmitters:
+  - submissionProtocol: SSH
+    taskClass: org.apache.airavata.gfac.impl.task.DefaultJobSubmissionTask
+#   properties:
+#     - userName: airavata
+#       passPhrase: airavata
+#       privateKeyPath: /path/to/the/privatekey
+#       publicKeyPath: /path/to/the/publickey
+#       hostName: remote.client.hostName
+
+  - submissionProtocol: SSH_FORK
+    taskClass: org.apache.airavata.gfac.impl.task.ForkJobSubmissionTask
+
+  - submissionProtocol: LOCAL
+    taskClass: org.apache.airavata.gfac.impl.task.LocalJobSubmissionTask
+
+  - submissionProtocol: CLOUD
+    taskClass: org.apache.airavata.gfac.impl.task.AuroraJobSubmissionTask
+
+# Following job subbmitters are not yet implemented.
+
+ # - submissionProtocol: GSISSH
+ #   taskClass: org.apache.airavata.task.adapters.GSISSHJobSubmissionTask
+commonTasks:
+   - type: SETUP
+     taskClass: org.apache.airavata.task.common.SetupTask
+
+   - type: CLEANUP
+     taskClass: org.apache.airavata.task.common.CleanupTask
+
+fileTransferTasks:
+  - transferProtocol: SCP
+    taskClass: org.apache.airavata.gfac.impl.task.SCPDataStageTask
+  - transferProtocol: LOCAL
+    taskClass: org.apache.airavata.gfac.impl.task.SCPDataStageTask
+
+# If your client doen't run the same instance where airavata server is running then you need to comment above
+# DataStageTask and uncomment SCPDataStageTask. To work with SCPDataStageTask, you either need to
+# provide ssh keys or password.
+
+#  - transferProtocol: SCP
+#    taskClass: org.apache.airavata.gfac.impl.task.SCPDataStageTask
+#    properties:
+#     - userName: airavata
+#       passPhrase: airavata
+#       privateKeyPath: /path/to/the/privatekey
+#       publicKeyPath: /path/to/the/publickey
+#       hostName: remote.client.hostName
+#       inputPath: /path/to/data/dir
+##      password: password
+
+# Following transfer tasks are not yet implemented.
+  #- transferProtocol: SFTP
+  #  taskClass: org.apache.airavata.task.adapters.SFTPFileTransferTask
+
+  #- transferProtocol: GRIDFTP
+  #  taskClass: org.apache.airavata.task.adapters.GRIDFTPFileTransferTask
+
+  #- transferProtocol: LOCAL
+  #  taskClass: org.apache.airavata.task.adapters.LocalFileTransferTask
+
+resources:
+  - jobManagerType: PBS
+    commandOutputParser: org.apache.airavata.gfac.impl.job.PBSOutputParser
+    emailParser: org.apache.airavata.gfac.monitor.email.parser.PBSEmailParser
+    resourceEmailAddresses:
+      - pbsconsult@sdsc.edu  # gordon
+      - adm@trident.bigred2.uits.iu.edu # Bigred2
+      - root <ad...@trident.bigred2.uits.iu.edu> # Bigred2
+      - root <ad...@scyld.localdomain> # alamo
+      - gordon-fe2.local # Gordon
+
+  - jobManagerType: SLURM
+    commandOutputParser: org.apache.airavata.gfac.impl.job.SlurmOutputParser
+    emailParser: org.apache.airavata.gfac.monitor.email.parser.SLURMEmailParser
+    resourceEmailAddresses:
+      - slurm@comet # comet
+      - slurm@batch1.stampede.tacc.utexas.edu # stampede
+      - root@master.ls5.tacc.utexas.edu # Lonestar 5
+      - slurm@jurecab01.zam.kfa-juelich.de # Jureca
+
+  - jobManagerType: UGE
+    commandOutputParser: org.apache.airavata.gfac.impl.job.UGEOutputParser
+    emailParser: org.apache.airavata.gfac.monitor.email.parser.UGEEmailParser
+    resourceEmailAddresses:
+      - ls4.tacc.utexas.edu # contain Lonestar
+
+  - jobManagerType: LSF
+    commandOutputParser: org.apache.airavata.gfac.impl.job.LSFOutputParser
+    emailParser: org.apache.airavata.gfac.monitor.email.parser.LSFEmailParser
+    resourceEmailAddresses:
+      - iu.xsede.edu # test resource mail address
+
+  - jobManagerType: FORK
+    commandOutputParser: org.apache.airavata.gfac.impl.job.ForkOutputParser
+
+  - jobManagerType: AIRAVATA_CUSTOM
+    commandOutputParser: org.apache.airavata.gfac.impl.job.AiravataCustomCommandOutputParser
+    emailParser: org.apache.airavata.gfac.monitor.email.parser.AiravataCustomMailParser
+    resourceEmailAddresses:
+      - gw56jobs@scigap.org
+
+taskImplementations:
+ - task: ENV_SETUP
+   taskClass: org.apache.airavata.worker.task.envsetup.impl.EnvironmentSetupTask
+
+ - task: DATA_STAGING
+   taskClass: org.apache.airavata.worker.task.datastaging.impl.DataStageTask
+
+ - task: JOB_SUBMISSION
+   taskClass: org.apache.airavata.worker.task.jobsubmission.impl.DefaultJobSubmissionTask
+
+ - task: MONITORING
+   taskClass: org.apache.airavata.worker.task.envsetup.impl.EnvironmentSetupTask
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/1846b98b/modules/worker/worker-messaging/src/main/resources/worker-config.yaml
----------------------------------------------------------------------
diff --git a/modules/worker/worker-messaging/src/main/resources/worker-config.yaml b/modules/worker/worker-messaging/src/main/resources/worker-config.yaml
deleted file mode 100644
index 87b8310..0000000
--- a/modules/worker/worker-messaging/src/main/resources/worker-config.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-##################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-################################################################
-
-taskImplementations:
-  - task: ENV_SETUP
-    taskClass: org.apache.airavata.worker.task.envsetup.impl.EnvironmentSetupTask
-
-  - task: DATA_STAGING
-      taskClass: org.apache.airavata.worker.task.datastaging.impl.DataStageTask
-
-  - task: JOB_SUBMISSION
-      taskClass: org.apache.airavata.worker.task.jobsubmission.impl.DefaultJobSubmissionTask
-
-  - task: MONITORING
-      taskClass: org.apache.airavata.worker.task.envsetup.impl.EnvironmentSetupTask
\ No newline at end of file


[3/7] airavata git commit: Adding tasks dependency in messaging module

Posted by ad...@apache.org.
Adding tasks dependency in messaging module


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c9309df5
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c9309df5
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c9309df5

Branch: refs/heads/feature-workload-mgmt
Commit: c9309df53ff0b8acc9530300fcb512215ebc19ee
Parents: acd6223
Author: Ajinkya Dhamnaskar <ad...@apache.org>
Authored: Wed May 10 12:10:04 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@apache.org>
Committed: Wed May 10 12:10:04 2017 -0400

----------------------------------------------------------------------
 modules/worker/worker-messaging/pom.xml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c9309df5/modules/worker/worker-messaging/pom.xml
----------------------------------------------------------------------
diff --git a/modules/worker/worker-messaging/pom.xml b/modules/worker/worker-messaging/pom.xml
index 49793a3..1d9848f 100644
--- a/modules/worker/worker-messaging/pom.xml
+++ b/modules/worker/worker-messaging/pom.xml
@@ -31,6 +31,21 @@
             <version>${project.parent.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-task-envsetup</artifactId>
+            <version>${project.parent.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-task-jobsubmission</artifactId>
+            <version>${project.parent.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-task-datastaging</artifactId>
+            <version>${project.parent.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.testng</groupId>
             <artifactId>testng</artifactId>
             <version>${testng.version}</version>


[7/7] airavata git commit: Adding test for task implementation reflection

Posted by ad...@apache.org.
Adding test for task implementation reflection


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/2defa8f1
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/2defa8f1
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/2defa8f1

Branch: refs/heads/feature-workload-mgmt
Commit: 2defa8f1d85fbbaa015519d438d518953b6bb664
Parents: 7341de2
Author: Ajinkya Dhamnaskar <ad...@apache.org>
Authored: Wed May 10 12:12:57 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@apache.org>
Committed: Wed May 10 12:12:57 2017 -0400

----------------------------------------------------------------------
 .../src/test/java/TestWorkerMessaging.java      | 38 ++++++++++++++++----
 1 file changed, 32 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2defa8f1/modules/worker/worker-messaging/src/test/java/TestWorkerMessaging.java
----------------------------------------------------------------------
diff --git a/modules/worker/worker-messaging/src/test/java/TestWorkerMessaging.java b/modules/worker/worker-messaging/src/test/java/TestWorkerMessaging.java
index b353ce7..d61f34d 100644
--- a/modules/worker/worker-messaging/src/test/java/TestWorkerMessaging.java
+++ b/modules/worker/worker-messaging/src/test/java/TestWorkerMessaging.java
@@ -1,6 +1,13 @@
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.model.task.TaskTypes;
+import org.apache.airavata.worker.core.exceptions.WorkerException;
+import org.apache.airavata.worker.core.task.Task;
+import org.apache.airavata.worker.core.utils.WorkerFactory;
 import org.apache.airavata.worker.messaging.utils.WorkerMessagingFactory;
+import org.apache.airavata.worker.task.datastaging.impl.DataStageTask;
+import org.apache.airavata.worker.task.datastaging.utils.DataStagingFactory;
+import org.apache.airavata.worker.task.envsetup.impl.EnvironmentSetupTask;
+import org.apache.airavata.worker.task.jobsubmission.impl.DefaultJobSubmissionTask;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
@@ -12,17 +19,36 @@ import java.util.List;
  */
 public class TestWorkerMessaging {
 
+//    @Test
+//    public void testSubscriberCreation(){
+//        List<String> tasks = new ArrayList<String>(){{add(TaskTypes.ENV_SETUP.toString());add(TaskTypes.DATA_STAGING.toString());}};
+//        try {
+//
+//            WorkerMessagingFactory.createSubscribers(tasks);
+//            Assert.assertEquals(WorkerMessagingFactory.getSubscriberMap().size(), tasks.size());
+//
+//        } catch (AiravataException e) {
+//            Assert.fail("Fail to start subscribers.", e);
+//        }
+//    }
+
     @Test
-    public void testSubscriberCreation(){
-        List<String> tasks = new ArrayList<String>(){{add(TaskTypes.ENV_SETUP.toString());add(TaskTypes.DATA_STAGING.toString());}};
+    public void testTaskImplementationFactory(){
+
         try {
+            WorkerMessagingFactory.loadConfiguration();
+            Task task = WorkerMessagingFactory.getTaskImplementation(TaskTypes.ENV_SETUP);
+            Assert.assertEquals(task instanceof EnvironmentSetupTask, true);
 
-            WorkerMessagingFactory.createSubscribers(tasks);
-            Assert.assertEquals(WorkerMessagingFactory.getSubscriberMap().size(), tasks.size());
+            task = WorkerMessagingFactory.getTaskImplementation(TaskTypes.DATA_STAGING);
+            Assert.assertEquals(task instanceof DataStageTask, true);
 
-        } catch (AiravataException e) {
-            Assert.fail("Fail to start subscribers.", e);
+            task = WorkerMessagingFactory.getTaskImplementation(TaskTypes.JOB_SUBMISSION);
+            Assert.assertEquals(task instanceof DefaultJobSubmissionTask, true);
+        } catch (WorkerException e) {
+            Assert.fail("Failed to load worker configuration.", e);
         }
+
     }
 
 }


[5/7] airavata git commit: Moving task implementation class load patch to messaging

Posted by ad...@apache.org.
Moving task implementation class load patch to messaging


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/2180f05f
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/2180f05f
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/2180f05f

Branch: refs/heads/feature-workload-mgmt
Commit: 2180f05fec67eca5a82143d1e83925f568307bb7
Parents: 2df27e6
Author: Ajinkya Dhamnaskar <ad...@apache.org>
Authored: Wed May 10 12:11:44 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@apache.org>
Committed: Wed May 10 12:11:44 2017 -0400

----------------------------------------------------------------------
 .../messaging/utils/WorkerMessagingFactory.java | 36 ++++++++++++++++++++
 1 file changed, 36 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2180f05f/modules/worker/worker-messaging/src/main/java/org/apache/airavata/worker/messaging/utils/WorkerMessagingFactory.java
----------------------------------------------------------------------
diff --git a/modules/worker/worker-messaging/src/main/java/org/apache/airavata/worker/messaging/utils/WorkerMessagingFactory.java b/modules/worker/worker-messaging/src/main/java/org/apache/airavata/worker/messaging/utils/WorkerMessagingFactory.java
index d33bc8b..aae0490 100644
--- a/modules/worker/worker-messaging/src/main/java/org/apache/airavata/worker/messaging/utils/WorkerMessagingFactory.java
+++ b/modules/worker/worker-messaging/src/main/java/org/apache/airavata/worker/messaging/utils/WorkerMessagingFactory.java
@@ -1,15 +1,27 @@
 package org.apache.airavata.worker.messaging.utils;
 
+import com.google.common.cache.CacheBuilder;
+import com.google.common.cache.RemovalListener;
+import com.jcraft.jsch.Session;
 import org.apache.airavata.common.exception.AiravataException;
+import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.messaging.core.MessagingFactory;
 import org.apache.airavata.messaging.core.Subscriber;
+import org.apache.airavata.model.task.TaskTypes;
+import org.apache.airavata.worker.core.config.ResourceConfig;
+import org.apache.airavata.worker.core.config.TaskImplementationConfig;
+import org.apache.airavata.worker.core.config.WorkerYamlConfigruation;
+import org.apache.airavata.worker.core.exceptions.WorkerException;
+import org.apache.airavata.worker.core.task.Task;
 import org.apache.airavata.worker.messaging.handler.WorkerMessageHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.lang.reflect.Constructor;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.TimeUnit;
 
 /**
  * Created by Ajinkya on 5/2/17.
@@ -18,11 +30,35 @@ public class WorkerMessagingFactory {
 
     private final static Logger log = LoggerFactory.getLogger(WorkerMessagingFactory.class);
     private final static Map<String, Subscriber> SUBSCRIBER_MAP;
+    private static boolean isWorkerConfigurationLoaded = false;
+    private static Map<TaskTypes, Task> taskImplementations = new HashMap<>();
 
     static{
         SUBSCRIBER_MAP = new HashMap<>();
     }
 
+    public static void loadConfiguration() throws WorkerException {
+        if (!isWorkerConfigurationLoaded) {
+            WorkerYamlConfigruation config = new WorkerYamlConfigruation();
+            try {
+                for (TaskImplementationConfig taskImplementationConfig : config.getTaskImplementations()) {
+                    String taskClass = taskImplementationConfig.getImplementationClass();
+                    Class<?> aClass = Class.forName(taskClass);
+                    Constructor<?> constructor = aClass.getConstructor();
+                    Task task = (Task) constructor.newInstance();
+                    taskImplementations.put(taskImplementationConfig.getTaskType(), task);
+                }
+            }catch (Exception e) {
+                throw new WorkerException("Worker config issue", e);
+            }
+            isWorkerConfigurationLoaded =  true;
+        }
+    }
+
+    public static Task getTaskImplementation(TaskTypes taskType) {
+        return taskImplementations.get(taskType);
+    }
+
     public static Map<String, Subscriber> getSubscriberMap(){
         return SUBSCRIBER_MAP;
     }


[4/7] airavata git commit: Refactoring worker-core yaml

Posted by ad...@apache.org.
Refactoring worker-core yaml


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/2df27e6a
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/2df27e6a
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/2df27e6a

Branch: refs/heads/feature-workload-mgmt
Commit: 2df27e6a1206d40dd3d96670a75b683f77bf25bd
Parents: c9309df
Author: Ajinkya Dhamnaskar <ad...@apache.org>
Authored: Wed May 10 12:10:42 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@apache.org>
Committed: Wed May 10 12:10:42 2017 -0400

----------------------------------------------------------------------
 .../worker/core/config/TaskImplementationConfig.java     |  6 +++---
 .../worker/core/config/WorkerYamlConfigruation.java      |  3 ++-
 .../apache/airavata/worker/core/utils/WorkerFactory.java | 11 -----------
 3 files changed, 5 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2df27e6a/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/config/TaskImplementationConfig.java
----------------------------------------------------------------------
diff --git a/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/config/TaskImplementationConfig.java b/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/config/TaskImplementationConfig.java
index a5f0df1..6be6577 100644
--- a/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/config/TaskImplementationConfig.java
+++ b/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/config/TaskImplementationConfig.java
@@ -10,14 +10,14 @@ import java.util.Map;
  */
 public class TaskImplementationConfig {
 
-    private String taskType;
+    private TaskTypes taskType;
     private String implementationClass;
 
-    public String getTaskType() {
+    public TaskTypes getTaskType() {
         return taskType;
     }
 
-    public void setTaskType(String taskType) {
+    public void setTaskType(TaskTypes taskType) {
         this.taskType = taskType;
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/2df27e6a/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/config/WorkerYamlConfigruation.java
----------------------------------------------------------------------
diff --git a/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/config/WorkerYamlConfigruation.java b/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/config/WorkerYamlConfigruation.java
index b745b81..7f03dc0 100644
--- a/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/config/WorkerYamlConfigruation.java
+++ b/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/config/WorkerYamlConfigruation.java
@@ -22,6 +22,7 @@ package org.apache.airavata.worker.core.config;
 import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
 import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
 import org.apache.airavata.model.data.movement.DataMovementProtocol;
+import org.apache.airavata.model.task.TaskTypes;
 import org.apache.airavata.worker.core.exceptions.WorkerException;
 import org.yaml.snakeyaml.Yaml;
 
@@ -141,7 +142,7 @@ public class WorkerYamlConfigruation {
 				for (Map<String, Object> taskImplementations : taskImplementationYaml) {
 					taskImplementationConfig = new TaskImplementationConfig();
 					identifier = ((String) taskImplementations.get(TASK));
-					taskImplementationConfig.setTaskType(identifier);
+					taskImplementationConfig.setTaskType(TaskTypes.valueOf(identifier));
 					taskImplementationConfig.setImplementationClass(((String) taskImplementations.get(TASK_CLASS)));
 					this.taskImplementations.add(taskImplementationConfig);
 				}

http://git-wip-us.apache.org/repos/asf/airavata/blob/2df27e6a/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/utils/WorkerFactory.java
----------------------------------------------------------------------
diff --git a/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/utils/WorkerFactory.java b/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/utils/WorkerFactory.java
index 4a0a02f..866d2f9 100644
--- a/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/utils/WorkerFactory.java
+++ b/modules/worker/worker-core/src/main/java/org/apache/airavata/worker/core/utils/WorkerFactory.java
@@ -59,7 +59,6 @@ public class WorkerFactory {
     private static boolean isWorkerConfigurationLoaded = false;
     private static Map<ResourceJobManagerType, ResourceConfig> resources = new HashMap<>();
     private static Cache<String,Session> sessionCache;
-    private static Map<String, Task> taskImplementations = new HashMap<>();
 
     public static void loadConfiguration() throws WorkerException {
         if (!isWorkerConfigurationLoaded) {
@@ -68,20 +67,10 @@ public class WorkerFactory {
                 for (ResourceConfig resourceConfig : config.getResourceConfiguration()) {
                     resources.put(resourceConfig.getJobManagerType(), resourceConfig);
                 }
-
-                for (TaskImplementationConfig taskImplementationConfig : config.getTaskImplementations()) {
-                    String taskClass = taskImplementationConfig.getImplementationClass();
-                    Class<?> aClass = Class.forName(taskClass);
-                    Constructor<?> constructor = aClass.getConstructor();
-                    Task task = (Task) constructor.newInstance();
-                    taskImplementations.put(taskImplementationConfig.getTaskType(), task);
-                }
             }catch (Exception e) {
                 throw new WorkerException("Worker config issue", e);
             }
 
-
-
             sessionCache = CacheBuilder.newBuilder()
                     .expireAfterAccess(ServerSettings.getSessionCacheAccessTimeout(), TimeUnit.MINUTES)
                     .removalListener((RemovalListener<String, Session>) removalNotification -> {


[6/7] airavata git commit: Moving task implementation class load patch to messaging

Posted by ad...@apache.org.
Moving task implementation class load patch to messaging


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/7341de24
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/7341de24
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/7341de24

Branch: refs/heads/feature-workload-mgmt
Commit: 7341de2444e4f37a3311a2d818d8de8b7ce2369a
Parents: 2180f05
Author: Ajinkya Dhamnaskar <ad...@apache.org>
Authored: Wed May 10 12:12:26 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@apache.org>
Committed: Wed May 10 12:12:26 2017 -0400

----------------------------------------------------------------------
 .../airavata/worker/messaging/utils/WorkerMessagingFactory.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/7341de24/modules/worker/worker-messaging/src/main/java/org/apache/airavata/worker/messaging/utils/WorkerMessagingFactory.java
----------------------------------------------------------------------
diff --git a/modules/worker/worker-messaging/src/main/java/org/apache/airavata/worker/messaging/utils/WorkerMessagingFactory.java b/modules/worker/worker-messaging/src/main/java/org/apache/airavata/worker/messaging/utils/WorkerMessagingFactory.java
index aae0490..605ceb6 100644
--- a/modules/worker/worker-messaging/src/main/java/org/apache/airavata/worker/messaging/utils/WorkerMessagingFactory.java
+++ b/modules/worker/worker-messaging/src/main/java/org/apache/airavata/worker/messaging/utils/WorkerMessagingFactory.java
@@ -55,7 +55,7 @@ public class WorkerMessagingFactory {
         }
     }
 
-    public static Task getTaskImplementation(TaskTypes taskType) {
+    public static Task getTaskImplementation(TaskTypes  taskType) {
         return taskImplementations.get(taskType);
     }
 


[2/7] airavata git commit: Adding testng dependency to worker-core

Posted by ad...@apache.org.
Adding testng dependency to worker-core


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/acd62233
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/acd62233
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/acd62233

Branch: refs/heads/feature-workload-mgmt
Commit: acd62233c228281d7d9839a8a27d3ab664d91f55
Parents: 1846b98
Author: Ajinkya Dhamnaskar <ad...@apache.org>
Authored: Wed May 10 12:09:16 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@apache.org>
Committed: Wed May 10 12:09:16 2017 -0400

----------------------------------------------------------------------
 modules/worker/worker-core/pom.xml | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/acd62233/modules/worker/worker-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/worker/worker-core/pom.xml b/modules/worker/worker-core/pom.xml
index 32d37d1..59dca86 100644
--- a/modules/worker/worker-core/pom.xml
+++ b/modules/worker/worker-core/pom.xml
@@ -16,6 +16,10 @@
     <description>Environment setup task implementation.</description>
     <url>http://airavata.apache.org/</url>
 
+    <properties>
+        <testng.version>6.9.10</testng.version>
+    </properties>
+
     <dependencies>
         <!-- Logging -->
         <dependency>
@@ -69,6 +73,13 @@
             <artifactId>curator-framework</artifactId>
             <version>${curator.version}</version>
         </dependency>
+
+        <!-- testng dependency -->
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <version>${testng.version}</version>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file