You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2016/11/02 03:30:12 UTC

[01/20] airavata git commit: Update aurora schedulear period to 5 sec

Repository: airavata
Updated Branches:
  refs/heads/auroraMesosIntegration 6d51651ca -> bf5d8c796


Update aurora schedulear period to 5 sec


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

Branch: refs/heads/auroraMesosIntegration
Commit: ba9d60d3e532987d4a25cdfb84e441271f7281d7
Parents: 6d51651
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 12:23:34 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 12:23:34 2016 -0400

----------------------------------------------------------------------
 .../org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java  | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/ba9d60d3/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
index 5fe9dd8..477f1db 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
@@ -85,7 +85,7 @@ public class AuroraJobMonitor implements JobMonitor, Runnable {
         AuroraTimer task = null;
         try {
             task = new AuroraTimer();
-            timer.schedule(task, 5000, 2000);
+            timer.schedule(task, 5000, 5000);
         } catch (Exception e) {
             log.error("Error couldn't run Aurora status poll timer task");
         }
@@ -96,7 +96,6 @@ public class AuroraJobMonitor implements JobMonitor, Runnable {
         jobMonitoringMap.put(jobId, taskContext);
         log.info("Added JobId : {} to Aurora Job Monitoring map", jobId);
         taskContext.getParentProcessContext().setPauseTaskExecution(true);
-
     }
 
     @Override


[07/20] airavata git commit: Added create Cloud job submission method to AppCatalogJPAUtils

Posted by sh...@apache.org.
Added create Cloud job submission method to AppCatalogJPAUtils


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

Branch: refs/heads/auroraMesosIntegration
Commit: 9d2497c3a46c14d998acd4e28bb273b1f29c2338
Parents: e3da091
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 17:54:46 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 17:54:46 2016 -0400

----------------------------------------------------------------------
 .../app/catalog/util/AppCatalogJPAUtils.java     | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/9d2497c3/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
index 0c3918d..bd7b442 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
@@ -174,6 +174,13 @@ public class AppCatalogJPAUtils {
                     logger.error("Object should be a Ssh Job Submission.", new IllegalArgumentException());
                     throw new IllegalArgumentException("Object should be a Ssh Job Submission.");
                 }
+            case ClOUD_SUBMISSION:
+                if (o instanceof CloudJobSubmission) {
+                    return createCloudJobSubmission(((CloudJobSubmission) o));
+                }else {
+                    logger.error("Object should be a Cloud Job Submission.", new IllegalArgumentException());
+                    throw new IllegalArgumentException("Object should be a Cloud Job Submission.");
+                }
             case SCP_DATA_MOVEMENT:
                 if (o instanceof ScpDataMovement) {
                     return createScpDataMovement((ScpDataMovement) o);
@@ -668,6 +675,18 @@ public class AppCatalogJPAUtils {
         return sshJobSubmissionResource;
     }
 
+    private static AppCatalogResource createCloudJobSubmission(CloudJobSubmission o) {
+        CloudSubmissionResource cloudSubmissionResource = new CloudSubmissionResource();
+        if (o != null) {
+            cloudSubmissionResource.setJobSubmissionInterfaceId(o.getJobSubmissionInterfaceId());
+            cloudSubmissionResource.setSecurityProtocol(o.getSecurityProtocol());
+            cloudSubmissionResource.setExecutableType(o.getExecutableType());
+            cloudSubmissionResource.setUserAccountName(o.getUserAccountName());
+            cloudSubmissionResource.setNodeId(o.getNodeId());
+        }
+        return cloudSubmissionResource;
+    }
+
     private static AppCatalogResource createScpDataMovement(ScpDataMovement o) {
         ScpDataMovementResource scpDataMovementResource = new ScpDataMovementResource();
         if (o != null) {


[09/20] airavata git commit: null check resource job manager in Abstract remote cluster

Posted by sh...@apache.org.
null check resource job manager in Abstract remote cluster


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

Branch: refs/heads/auroraMesosIntegration
Commit: 11ff4d8e9ea83d654ebfa917703bf69f1b6d4651
Parents: 30aa6f6
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 20:12:25 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 20:12:25 2016 -0400

----------------------------------------------------------------------
 .../airavata/gfac/core/cluster/AbstractRemoteCluster.java      | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/11ff4d8e/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/AbstractRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/AbstractRemoteCluster.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/AbstractRemoteCluster.java
index 9e12415..51867ec 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/AbstractRemoteCluster.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/AbstractRemoteCluster.java
@@ -36,6 +36,10 @@ public abstract class AbstractRemoteCluster implements RemoteCluster {
 		this.serverInfo = serverInfo;
 		this.jobManagerConfiguration = jobManagerConfiguration;
 		this.authenticationInfo = authenticationInfo;
-		this.outputParser = jobManagerConfiguration.getParser();
+		if (jobManagerConfiguration != null) {
+			this.outputParser = jobManagerConfiguration.getParser();
+		}else {
+			this.outputParser = null;
+		}
 	}
 }


[04/20] airavata git commit: fixing tokenId not set issue

Posted by sh...@apache.org.
fixing tokenId not set issue


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

Branch: refs/heads/auroraMesosIntegration
Commit: f396cb8bf3642e3ec792a1a74a69b3bf385dc088
Parents: 5904cb1
Author: scnakandala <su...@gmail.com>
Authored: Tue Nov 1 15:58:22 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue Nov 1 15:58:22 2016 -0400

----------------------------------------------------------------------
 .../airavata/credential/store/store/impl/db/CredentialsDAO.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/f396cb8b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAO.java
----------------------------------------------------------------------
diff --git a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAO.java b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAO.java
index 6d783e9..4fbb17d 100644
--- a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAO.java
+++ b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAO.java
@@ -316,7 +316,7 @@ public class CredentialsDAO extends ParentDAO {
                 byte[] certificate = blobCredentials.getBytes(1, (int) blobCredentials.length());
 
                 certificateCredential = (Credential) convertByteArrayToObject(certificate);
-                certificateCredential.setToken("TOKEN_ID");
+                certificateCredential.setToken(resultSet.getString("TOKEN_ID"));
                 certificateCredential.setPortalUserName(resultSet.getString("PORTAL_USER_ID"));
                 certificateCredential.setCertificateRequestedTime(resultSet.getTimestamp("TIME_PERSISTED"));
                 certificateCredential.setDescription(resultSet.getString("DESCRIPTION"));


[12/20] airavata git commit: added missing dependencies to distribution

Posted by sh...@apache.org.
added missing dependencies to distribution


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

Branch: refs/heads/auroraMesosIntegration
Commit: 6d32613860201b83f0555c37b1acc2d14f0e9819
Parents: c72417e
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 21:31:07 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 21:31:07 2016 -0400

----------------------------------------------------------------------
 modules/cloud/aurora-client/pom.xml             |   4 +-
 .../main/resources/aurora-scheduler.properties  |   2 +-
 modules/distribution/pom.xml                    | 205 ++++++++++---------
 pom.xml                                         |   2 +
 4 files changed, 114 insertions(+), 99 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/6d326138/modules/cloud/aurora-client/pom.xml
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/pom.xml b/modules/cloud/aurora-client/pom.xml
index 8188c49..20f8f7c 100644
--- a/modules/cloud/aurora-client/pom.xml
+++ b/modules/cloud/aurora-client/pom.xml
@@ -44,12 +44,12 @@
 		<dependency>
 			<groupId>org.json</groupId>
 			<artifactId>json</artifactId>
-			<version>20160212</version>
+			<version>${json.version}</version>
 		</dependency>
 		<dependency>
 			<groupId>commons-io</groupId>
 			<artifactId>commons-io</artifactId>
-			<version>2.5</version>
+			<version>${commons.io.version}</version>
 		</dependency>
 	</dependencies>
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/6d326138/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties b/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
index 0e1cc95..20e1973 100644
--- a/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
+++ b/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
@@ -1,6 +1,6 @@
 #Aurora scheduler properties
 
-aurora.scheduler.host=52.15.129.208
+aurora.scheduler.host=52.15.103.85\u2002
 
 aurora.scheduler.port=8081
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/6d326138/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index 427d4b4..4d2f973 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -24,92 +24,6 @@
     <artifactId>apache-airavata-distribution</artifactId>
     <name>Airavata server distribution</name>
     <packaging>pom</packaging>
-    <url>http://airavata.apache.org/</url>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <version>2.8</version>
-                <executions>
-                    <execution>
-                        <id>unpack</id>
-                        <phase>compile</phase>
-                        <goals>
-                            <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.apache.airavata</groupId>
-                                    <artifactId>airavata-server-configuration</artifactId>
-                                    <version>${project.version}</version>
-                                    <type>jar</type>
-                                </artifactItem>
-                            </artifactItems>
-                            <!--includes>**/*.war</includes -->
-                            <outputDirectory>${project.build.directory}/conf</outputDirectory>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <version>2.5.5</version>
-                <executions>
-                    <execution>
-                        <id>distribution-package</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>single</goal>
-                        </goals>
-                        <configuration>
-                            <tarLongFileMode>posix</tarLongFileMode>
-                            <finalName>${archieve.name}-${project.version}</finalName>
-                            <descriptors>
-                                <descriptor>src/main/assembly/bin-assembly.xml</descriptor>
-                                <!-- <descriptor>src/main/assembly/src-assembly.xml</descriptor> -->
-                            </descriptors>
-                            <attach>false</attach>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <version>1.7</version>
-                <executions>
-                    <execution>
-                        <id>attach-artifacts</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>attach-artifact</goal>
-                        </goals>
-                        <configuration>
-                            <artifacts>
-                                <artifact>
-                                    <file>${airavata.bin.zip}</file>
-                                    <type>zip</type>
-                                    <classifier>bin</classifier>
-                                </artifact>
-                                <artifact>
-                                    <file>${airavata.bin.tar.gz}</file>
-                                    <type>tar.gz</type>
-                                    <classifier>bin</classifier>
-                                </artifact>
-                            </artifacts>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
     <dependencies>
         <dependency>
             <groupId>org.apache.derby</groupId>
@@ -273,11 +187,11 @@
             <artifactId>airavata-gfac-impl</artifactId>
             <version>${project.version}</version>
         </dependency>
-<!--        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-gfac-bes</artifactId>
-            <version>${project.version}</version>
-        </dependency>-->
+        <!--        <dependency>
+                    <groupId>org.apache.airavata</groupId>
+                    <artifactId>airavata-gfac-bes</artifactId>
+                    <version>${project.version}</version>
+                </dependency>-->
         <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-gfac-core</artifactId>
@@ -288,17 +202,30 @@
             <artifactId>airavata-gfac-service</artifactId>
             <version>${project.version}</version>
         </dependency>
-<!--        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-workflow-model-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>-->
+        <!--        <dependency>
+                    <groupId>org.apache.airavata</groupId>
+                    <artifactId>airavata-workflow-model-core</artifactId>
+                    <version>${project.version}</version>
+                </dependency>-->
+
+        <!--Cloud module -->
         <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>aurora-client</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.json</groupId>
+            <artifactId>json</artifactId>
+            <version>${json.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>${commons.io.version}</version>
+        </dependency>
+        <!-- end Cloud module -->
+        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-model-utils</artifactId>
             <version>${project.version}</version>
@@ -560,6 +487,92 @@
         </dependency>
     </dependencies>
 
+    <url>http://airavata.apache.org/</url>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <version>2.8</version>
+                <executions>
+                    <execution>
+                        <id>unpack</id>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>unpack</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>org.apache.airavata</groupId>
+                                    <artifactId>airavata-server-configuration</artifactId>
+                                    <version>${project.version}</version>
+                                    <type>jar</type>
+                                </artifactItem>
+                            </artifactItems>
+                            <!--includes>**/*.war</includes -->
+                            <outputDirectory>${project.build.directory}/conf</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>2.5.5</version>
+                <executions>
+                    <execution>
+                        <id>distribution-package</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <tarLongFileMode>posix</tarLongFileMode>
+                            <finalName>${archieve.name}-${project.version}</finalName>
+                            <descriptors>
+                                <descriptor>src/main/assembly/bin-assembly.xml</descriptor>
+                                <!-- <descriptor>src/main/assembly/src-assembly.xml</descriptor> -->
+                            </descriptors>
+                            <attach>false</attach>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.7</version>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${airavata.bin.zip}</file>
+                                    <type>zip</type>
+                                    <classifier>bin</classifier>
+                                </artifact>
+                                <artifact>
+                                    <file>${airavata.bin.tar.gz}</file>
+                                    <type>tar.gz</type>
+                                    <classifier>bin</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
 
     <properties>
         <jersey.version>1.13</jersey.version>

http://git-wip-us.apache.org/repos/asf/airavata/blob/6d326138/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 81b258f..93e19f5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -105,6 +105,8 @@
 		<maven.replacer.plugin.version>1.5.3</maven.replacer.plugin.version>
 		<kafka-clients.version>0.8.2.2</kafka-clients.version>
 		<logback.version>1.1.6</logback.version>
+		<json.version>20160212</json.version>
+		<commons.io.version>2.4</commons.io.version>
 	</properties>
 
 	<developers>


[14/20] airavata git commit: Fixed typo

Posted by sh...@apache.org.
Fixed typo


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

Branch: refs/heads/auroraMesosIntegration
Commit: dc3d530065556b706aea451c0d9747c0eed07a24
Parents: 873d684
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 22:08:21 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 22:08:21 2016 -0400

----------------------------------------------------------------------
 .../org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/dc3d5300/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
index 379f7e9..3932dc0 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
@@ -88,7 +88,7 @@ public class AuroraJobSubmission implements JobSubmissionTask{
             String workingDir = taskContext.getWorkingDir();
             ProcessBean proc1 = new ProcessBean("process_1", "mkdir -p " + workingDir, false);
             ProcessBean proc2 = new ProcessBean("process_2", "cp -rf /home/centos/efs-mount-point/autodock-vina/* " + workingDir , false);
-            ProcessBean proc3 = new ProcessBean("process_3", "cd " + workingDir + " && ./vina_screenA.sh", false);
+            ProcessBean proc3 = new ProcessBean("process_3", "cd " + workingDir + " && ./vina_screenM.sh", false);
             Set<ProcessBean> processes = new LinkedHashSet<>();
             processes.add(proc1);
             processes.add(proc2);


[16/20] airavata git commit: Fixed NPE with cloud monitor mode

Posted by sh...@apache.org.
Fixed NPE with cloud monitor mode


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

Branch: refs/heads/auroraMesosIntegration
Commit: e66337028857c627576cc7260eae49e769e8c047
Parents: 64f823b
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 22:30:52 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 22:30:52 2016 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/airavata/gfac/impl/Factory.java    | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e6633702/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 8dd8699..5e8de6d 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
@@ -454,7 +454,7 @@ public abstract class Factory {
 		}
 	}
 
-	public static JobMonitor getMonitorService(MonitorMode monitorMode) throws AiravataException {
+	public static JobMonitor getMonitorService(MonitorMode monitorMode) throws AiravataException, GFacException {
 		JobMonitor jobMonitor = jobMonitorServices.get(monitorMode);
 		if (jobMonitor == null) {
 			synchronized (JobMonitor.class) {
@@ -471,6 +471,11 @@ public abstract class Factory {
 							AuroraJobMonitor auroraJobMonitor = AuroraJobMonitor.getInstance();
 							new Thread(auroraJobMonitor).start();
 							jobMonitorServices.put(MonitorMode.CLOUD_JOB_MONITOR, auroraJobMonitor);
+							jobMonitor = auroraJobMonitor;
+							break;
+						default:
+							throw new GFacException("Unsupported monitor mode :" + monitorMode.name());
+
 					}
 				}
 			}
@@ -478,7 +483,7 @@ public abstract class Factory {
 		return jobMonitor;
 	}
 
-	public static JobMonitor getDefaultMonitorService() throws AiravataException {
+	public static JobMonitor getDefaultMonitorService() throws AiravataException, GFacException {
 		return getMonitorService(MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR);
 	}
 


[11/20] airavata git commit: Updated aurora monitor task to sleep after a round of status check

Posted by sh...@apache.org.
Updated aurora monitor task to sleep after a round of status check


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

Branch: refs/heads/auroraMesosIntegration
Commit: c72417e3d89daee51538bf78c041cb58bc889491
Parents: b3d4c7a
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 20:47:08 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 20:47:08 2016 -0400

----------------------------------------------------------------------
 .../gfac/monitor/cloud/AuroraJobMonitor.java    | 60 +++++++++++---------
 1 file changed, 34 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c72417e3/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
index 477f1db..9e24597 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
@@ -66,7 +66,7 @@ public class AuroraJobMonitor implements JobMonitor, Runnable {
     private Map<String,TaskContext> jobMonitoringMap;
     private AuroraJobMonitor(){
         jobMonitoringMap = new ConcurrentHashMap<>();
-        timer = new Timer("Aurora status poll timer");
+        timer = new Timer("Aurora status poll timer", true);
 
     }
 
@@ -125,33 +125,41 @@ public class AuroraJobMonitor implements JobMonitor, Runnable {
         @Override
 
         public void run() {
-            JobKeyBean jobKeyBean = new JobKeyBean(AuroraUtils.ENVIRONMENT, AuroraUtils.ROLE, "dummy");
-            Iterator<Map.Entry<String, TaskContext>> iterator = jobMonitoringMap.entrySet().iterator();
-            while (iterator.hasNext()) {
-                Map.Entry<String, TaskContext> currentEntry = iterator.next();
-                try {
-                    jobKeyBean.setName(currentEntry.getKey());
-                    JobDetailsResponseBean jobDetailsResponseBean = client.getJobDetails(jobKeyBean);
-                    List<ScheduledTask> tasks = jobDetailsResponseBean.getTasks();
-                    switch (tasks.get(0).getStatus()) {
-                        case FINISHED:
-                            iterator.remove();
-                            processJob(currentEntry.getKey(), currentEntry.getValue(), JobState.COMPLETE);
-                            break;
-                        case FAILED:
-                            iterator.remove();
-                            processJob(currentEntry.getKey(), currentEntry.getValue(), JobState.FAILED);
-                            break;
-                        case RUNNING:
-                            updateStatus(currentEntry.getKey(), currentEntry.getValue(), JobState.ACTIVE);
-                            break;
-                        default:
-                            log.info("Job {} is in {} state", currentEntry.getKey(), tasks.get(0).getStatus().name());
-                            break;
+            while(true){
+                JobKeyBean jobKeyBean = new JobKeyBean(AuroraUtils.ENVIRONMENT, AuroraUtils.ROLE, "dummy");
+                Iterator<Map.Entry<String, TaskContext>> iterator = jobMonitoringMap.entrySet().iterator();
+                while (iterator.hasNext()) {
+                    Map.Entry<String, TaskContext> currentEntry = iterator.next();
+                    try {
+                        jobKeyBean.setName(currentEntry.getKey());
+                        JobDetailsResponseBean jobDetailsResponseBean = client.getJobDetails(jobKeyBean);
+                        List<ScheduledTask> tasks = jobDetailsResponseBean.getTasks();
+                        switch (tasks.get(0).getStatus()) {
+                            case FINISHED:
+                                iterator.remove();
+                                processJob(currentEntry.getKey(), currentEntry.getValue(), JobState.COMPLETE);
+                                break;
+                            case FAILED:
+                                iterator.remove();
+                                processJob(currentEntry.getKey(), currentEntry.getValue(), JobState.FAILED);
+                                break;
+                            case RUNNING:
+                                updateStatus(currentEntry.getKey(), currentEntry.getValue(), JobState.ACTIVE);
+                                break;
+                            default:
+                                log.info("Job {} is in {} state", currentEntry.getKey(), tasks.get(0).getStatus().name());
+                                break;
+                        }
+                    } catch (Exception e) {
+                        log.error("Error while getting response for job : {}", currentEntry.getKey());
+
                     }
-                } catch (Exception e) {
-                    log.error("Error while getting response for job : {}", currentEntry.getKey());
+                }
 
+                try {
+                    Thread.sleep(5000);
+                } catch (InterruptedException e) {
+                    log.warn("Aurora Monitoring task interrupted");
                 }
             }
         }


[06/20] airavata git commit: Merge develop branch

Posted by sh...@apache.org.
Merge develop branch


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

Branch: refs/heads/auroraMesosIntegration
Commit: e3da0914426c11a3e4d0cf7621a83147e32d1add
Parents: 512d35e f396cb8
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 17:40:35 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 17:40:35 2016 -0400

----------------------------------------------------------------------
 .../application_deployment_model_types.cpp      |  88 ++++
 .../application_deployment_model_types.h        |  36 +-
 .../airavata/compute_resource_model_types.cpp   |  88 ++++
 .../lib/airavata/compute_resource_model_types.h |  36 +-
 .../Model/AppCatalog/AppDeployment/Types.php    |  92 ++++
 .../Model/AppCatalog/ComputeResource/Types.php  |  92 ++++
 .../model/appcatalog/appdeployment/ttypes.py    |  54 ++-
 .../model/appcatalog/computeresource/ttypes.py  |  54 ++-
 .../ApplicationDeploymentDescription.java       | 415 +++++++++++++++++-
 .../appcatalog/computeresource/BatchQueue.java  | 431 +++++++++++++++++--
 .../store/store/impl/db/CredentialsDAO.java     |   2 +-
 .../catalog/impl/ApplicationDeploymentImpl.java |   8 +
 .../catalog/model/ApplicationDeployment.java    |  42 +-
 .../core/app/catalog/model/BatchQueue.java      |  44 ++
 .../resources/AppDeploymentResource.java        |  44 ++
 .../catalog/resources/BatchQueueResource.java   |  56 ++-
 .../app/catalog/util/AppCatalogJPAUtils.java    |   8 +
 .../util/AppCatalogThriftConversion.java        |  13 +
 .../src/main/resources/appcatalog-derby.sql     |   8 +
 .../src/main/resources/appcatalog-mysql.sql     |   8 +
 .../application_deployment_model.thrift         |   4 +
 .../compute_resource_model.thrift               |   6 +-
 22 files changed, 1582 insertions(+), 47 deletions(-)
----------------------------------------------------------------------



[18/20] airavata git commit: Fixed jobstatus update issue in aurora monitor service :

Posted by sh...@apache.org.
Fixed jobstatus update issue in aurora monitor service
:


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

Branch: refs/heads/auroraMesosIntegration
Commit: 30f187ad5dcc5e021e9f0471a394f52afa3ae36f
Parents: c64d0f0
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 23:03:02 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 23:03:02 2016 -0400

----------------------------------------------------------------------
 .../gfac/monitor/cloud/AuroraJobMonitor.java        | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/30f187ad/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
index 9e24597..e283eee 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
@@ -40,6 +40,7 @@ import org.apache.airavata.model.status.ProcessState;
 import org.apache.airavata.model.status.ProcessStatus;
 import org.apache.airavata.model.status.TaskState;
 import org.apache.airavata.model.status.TaskStatus;
+import org.apache.airavata.registry.cpi.CompositeIdentifier;
 import org.apache.airavata.registry.cpi.ExperimentCatalog;
 import org.apache.airavata.registry.cpi.ExperimentCatalogModelType;
 import org.apache.airavata.registry.cpi.RegistryException;
@@ -167,17 +168,19 @@ public class AuroraJobMonitor implements JobMonitor, Runnable {
         private void updateStatus(String jobKey, TaskContext taskContext, JobState jobState) {
             ProcessContext pc = taskContext.getParentProcessContext();
             ExperimentCatalog experimentCatalog = pc.getExperimentCatalog();
-            List<Object> objects = null;
+            Object object;
+            JobStatus prevJobStatus = null;
             try {
-                objects = experimentCatalog.get(ExperimentCatalogModelType.JOB_STATUS, taskContext.getTaskId(), jobKey);
+                CompositeIdentifier ci = new CompositeIdentifier(taskContext.getTaskId(), jobKey);
+                object = experimentCatalog.get(ExperimentCatalogModelType.JOB_STATUS, ci);
+                if (object instanceof JobStatus) {
+                    prevJobStatus = ((JobStatus) object);
+                }
             } catch (RegistryException e) {
                 log.error("Error while getting job statuses for job : {} , task : {}, process : {}", jobKey,
                         taskContext.getTaskId(), pc.getProcessId());
             }
-            List<JobState> jobStatuses = objects.stream()
-                    .map(o -> ((JobStatus) o).getJobState())
-                    .collect(Collectors.toList());
-            if (!jobStatuses.contains(jobState)) {
+            if (prevJobStatus == null || prevJobStatus.getJobState() != jobState) {
                 JobStatus jobStatus = new JobStatus(jobState);
                 jobStatus.setReason("Aurora return " + jobState.name());
                 jobStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
@@ -190,6 +193,7 @@ public class AuroraJobMonitor implements JobMonitor, Runnable {
                             jobState.name(), jobKey, taskContext.getTaskId(), pc.getProcessId(), pc.getExperimentId());
                 }
             }
+
         }
 
         private void processJob(String jobKey, TaskContext taskContext, JobState jobState) {


[17/20] airavata git commit: Mark process is complete absense of next task id

Posted by sh...@apache.org.
Mark process is complete absense of next task id


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

Branch: refs/heads/auroraMesosIntegration
Commit: c64d0f020635decc170b61d3cf7fb20cfbbb7d44
Parents: e663370
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 22:48:12 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 22:48:12 2016 -0400

----------------------------------------------------------------------
 .../src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c64d0f02/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
index 001b679..8e0d8d4 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
@@ -194,7 +194,9 @@ public class GFacWorker implements Runnable {
         }
         if (nextTaskId != null) {
             engine.continueProcess(processContext, nextTaskId);
-        }
+        }else {
+			processContext.setComplete(true);
+		}
         // checkpoint
         if (processContext.isInterrupted()) {
             return;


[13/20] airavata git commit: update aurora process order and hostname

Posted by sh...@apache.org.
update aurora process order and hostname


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

Branch: refs/heads/auroraMesosIntegration
Commit: 873d684f6c7eb4bc49c68e06134db08de8e2512b
Parents: 6d32613
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 21:50:48 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 21:50:48 2016 -0400

----------------------------------------------------------------------
 .../aurora-client/src/main/resources/aurora-scheduler.properties | 2 +-
 .../org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/873d684f/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties b/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
index 20e1973..cf21b8f 100644
--- a/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
+++ b/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
@@ -1,6 +1,6 @@
 #Aurora scheduler properties
 
-aurora.scheduler.host=52.15.103.85\u2002
+aurora.scheduler.host=52.15.103.85
 
 aurora.scheduler.port=8081
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/873d684f/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
index 1c2596c..379f7e9 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
@@ -87,8 +87,8 @@ public class AuroraJobSubmission implements JobSubmissionTask{
             // only autodoc vina
             String workingDir = taskContext.getWorkingDir();
             ProcessBean proc1 = new ProcessBean("process_1", "mkdir -p " + workingDir, false);
-            ProcessBean proc2 = new ProcessBean("process_1", "cp -rf /home/centos/efs-mount-point/autodock-vina/* " + workingDir , false);
-            ProcessBean proc3 = new ProcessBean("process_2", "cd " + workingDir + " && ./vina_screenA.sh", false);
+            ProcessBean proc2 = new ProcessBean("process_2", "cp -rf /home/centos/efs-mount-point/autodock-vina/* " + workingDir , false);
+            ProcessBean proc3 = new ProcessBean("process_3", "cd " + workingDir + " && ./vina_screenA.sh", false);
             Set<ProcessBean> processes = new LinkedHashSet<>();
             processes.add(proc1);
             processes.add(proc2);


[08/20] airavata git commit: Add provider name to cloud job submission

Posted by sh...@apache.org.
Add provider name to cloud job submission


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

Branch: refs/heads/auroraMesosIntegration
Commit: 30aa6f6271d942f99786638040c57666919bd190
Parents: 9d2497c
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 18:09:27 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 18:09:27 2016 -0400

----------------------------------------------------------------------
 .../registry/core/app/catalog/impl/ComputeResourceImpl.java    | 6 +++---
 .../registry/core/app/catalog/util/AppCatalogJPAUtils.java     | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/30aa6f62/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ComputeResourceImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ComputeResourceImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ComputeResourceImpl.java
index 35536f5..84465c2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ComputeResourceImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ComputeResourceImpl.java
@@ -201,10 +201,10 @@ public class ComputeResourceImpl implements ComputeResource {
     }
 
     @Override
-    public String addCloudJobSubmission(CloudJobSubmission sshJobSubmission) throws AppCatalogException {
+    public String addCloudJobSubmission(CloudJobSubmission cloudJobSubmission) throws AppCatalogException {
         try {
-            sshJobSubmission.setJobSubmissionInterfaceId(AppCatalogUtils.getID("Cloud"));
-            CloudSubmissionResource resource = AppCatalogThriftConversion.getCloudJobSubmission(sshJobSubmission);
+            cloudJobSubmission.setJobSubmissionInterfaceId(AppCatalogUtils.getID("Cloud"));
+            CloudSubmissionResource resource = AppCatalogThriftConversion.getCloudJobSubmission(cloudJobSubmission);
             resource.save();
             return resource.getJobSubmissionInterfaceId();
         }catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/30aa6f62/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
index bd7b442..efac1e2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
@@ -683,6 +683,7 @@ public class AppCatalogJPAUtils {
             cloudSubmissionResource.setExecutableType(o.getExecutableType());
             cloudSubmissionResource.setUserAccountName(o.getUserAccountName());
             cloudSubmissionResource.setNodeId(o.getNodeId());
+            cloudSubmissionResource.setProviderName(o.getProviderName());
         }
         return cloudSubmissionResource;
     }


[05/20] airavata git commit: Added CloudJobSubmission to persistence xml

Posted by sh...@apache.org.
Added CloudJobSubmission to persistence xml


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

Branch: refs/heads/auroraMesosIntegration
Commit: 512d35ecf0c125549dfbec2651e5da07e5816d0d
Parents: ba9d60d
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 17:40:05 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 17:40:05 2016 -0400

----------------------------------------------------------------------
 .../registry-core/src/main/resources/META-INF/persistence.xml       | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/512d35ec/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
index 3880a38..d3558a5 100644
--- a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
+++ b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
@@ -38,6 +38,7 @@
         <class>org.apache.airavata.registry.core.app.catalog.model.GridftpDataMovement</class>
         <class>org.apache.airavata.registry.core.app.catalog.model.GridftpEndpoint</class>
         <class>org.apache.airavata.registry.core.app.catalog.model.SshJobSubmission</class>
+        <class>org.apache.airavata.registry.core.app.catalog.model.CloudJobSubmission</class>
         <class>org.apache.airavata.registry.core.app.catalog.model.ApplicationModule</class>
         <class>org.apache.airavata.registry.core.app.catalog.model.ApplicationDeployment</class>
         <class>org.apache.airavata.registry.core.app.catalog.model.ModuleLoadCmd</class>


[10/20] airavata git commit: Added aurora client to distribution

Posted by sh...@apache.org.
Added aurora client to distribution


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

Branch: refs/heads/auroraMesosIntegration
Commit: b3d4c7a1ac2330dc1653194129d0f1e5e35d554b
Parents: 11ff4d8
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 20:23:14 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 20:23:14 2016 -0400

----------------------------------------------------------------------
 modules/distribution/pom.xml                    | 29 ++++----------------
 .../src/main/assembly/bin-assembly.xml          |  5 ----
 .../gfac/impl/task/AuroraJobSubmission.java     |  8 ++++--
 3 files changed, 10 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/b3d4c7a1/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index 1199647..427d4b4 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -55,30 +55,6 @@
                 </executions>
             </plugin>
 
-            <!--<plugin>-->
-                <!--<groupId>org.codehaus.gmaven</groupId>-->
-                <!--<artifactId>gmaven-plugin</artifactId>-->
-                <!--<version>1.4</version>-->
-                <!--<executions>-->
-                    <!--<execution>-->
-                        <!--<id>generate-timestamp</id>-->
-                        <!--<phase>package</phase>-->
-                        <!--<goals>-->
-                            <!--<goal>execute</goal>-->
-                        <!--</goals>-->
-                        <!--<configuration>-->
-                            <!--<source>-->
-                                <!--import java.util.Date-->
-                                <!--import java.text.MessageFormat-->
-
-                                <!--project.properties['buildTimestamp'] =-->
-                                        <!--MessageFormat.format("{0,date,dd-MM-yyyy}", new-->
-                                                <!--Date())-->
-                            <!--</source>-->
-                        <!--</configuration>-->
-                    <!--</execution>-->
-                <!--</executions>-->
-            <!--</plugin>-->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
@@ -319,6 +295,11 @@
         </dependency>-->
         <dependency>
             <groupId>org.apache.airavata</groupId>
+            <artifactId>aurora-client</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-model-utils</artifactId>
             <version>${project.version}</version>
         </dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/b3d4c7a1/modules/distribution/src/main/assembly/bin-assembly.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/src/main/assembly/bin-assembly.xml b/modules/distribution/src/main/assembly/bin-assembly.xml
index 6aa8fa9..971bba0 100644
--- a/modules/distribution/src/main/assembly/bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/bin-assembly.xml
@@ -107,11 +107,6 @@
                 <include>persistence.xml</include>
                 <include>provenance.sql</include>
                 <include>gfac-config.yaml</include>
-                <!--<include>PBSTemplate.xslt</include>-->
-                <!--<include>SLURMTemplate.xslt</include>-->
-                <!--<include>LSFTemplate.xslt</include>-->
-                <!--<include>UGETemplate.xslt</include>-->
-                <!--<include>ForkTemplate.xslt</include>-->
                 <include>PBS_Groovy.template</include>
                 <include>SLURM_Groovy.template</include>
                 <include>LSF_Groovy.template</include>

http://git-wip-us.apache.org/repos/asf/airavata/blob/b3d4c7a1/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
index c2e12d5..1c2596c 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
@@ -60,7 +60,9 @@ public class AuroraJobSubmission implements JobSubmissionTask{
 
     @Override
     public JobStatus cancel(TaskContext taskcontext) throws TaskException {
-        return null;
+        JobStatus jobStatus = new JobStatus();
+        jobStatus.setJobState(JobState.ACTIVE);
+        return jobStatus;
     }
 
     @Override
@@ -136,11 +138,11 @@ public class AuroraJobSubmission implements JobSubmissionTask{
 
     @Override
     public TaskStatus recover(TaskContext taskContext) {
-        return null;
+        return execute(taskContext);
     }
 
     @Override
     public TaskTypes getType() {
-        return null;
+        return TaskTypes.JOB_SUBMISSION;
     }
 }


[15/20] airavata git commit: Set jobmodel description

Posted by sh...@apache.org.
Set jobmodel description


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

Branch: refs/heads/auroraMesosIntegration
Commit: 64f823b3a892efbad85099ca619c63325b1e5ff5
Parents: dc3d530
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 22:15:12 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 22:15:12 2016 -0400

----------------------------------------------------------------------
 .../org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java     | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/64f823b3/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
index 3932dc0..02af9a3 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
@@ -105,6 +105,7 @@ public class AuroraJobSubmission implements JobSubmissionTask{
             AuroraThriftClient client = AuroraThriftClient.getAuroraThriftClient(Constants.AURORA_SCHEDULER_PROP_FILE);
             ResponseBean response = client.createJob(jobConfig);
             log.info("Response for job {}, {}", jobIdAndName, response);
+            jobModel.setJobDescription(resources.toString());
 
             jobModel.setJobId(jobIdAndName);
             jobStatus.setReason("Successfully Submitted");


[03/20] airavata git commit: adding node and cpu count preferences to compute resource and application deployment description

Posted by sh...@apache.org.
adding node and cpu count preferences to compute resource and application deployment description


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

Branch: refs/heads/auroraMesosIntegration
Commit: 5904cb13b93810e5b657a3a431a34639bd16f272
Parents: ba9d60d
Author: scnakandala <su...@gmail.com>
Authored: Tue Nov 1 15:13:18 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue Nov 1 15:13:18 2016 -0400

----------------------------------------------------------------------
 .../application_deployment_model_types.cpp      |  88 ++++
 .../application_deployment_model_types.h        |  36 +-
 .../airavata/compute_resource_model_types.cpp   |  88 ++++
 .../lib/airavata/compute_resource_model_types.h |  36 +-
 .../Model/AppCatalog/AppDeployment/Types.php    |  92 ++++
 .../Model/AppCatalog/ComputeResource/Types.php  |  92 ++++
 .../model/appcatalog/appdeployment/ttypes.py    |  54 ++-
 .../model/appcatalog/computeresource/ttypes.py  |  54 ++-
 .../ApplicationDeploymentDescription.java       | 415 +++++++++++++++++-
 .../appcatalog/computeresource/BatchQueue.java  | 431 +++++++++++++++++--
 .../catalog/impl/ApplicationDeploymentImpl.java |   8 +
 .../catalog/model/ApplicationDeployment.java    |  42 +-
 .../core/app/catalog/model/BatchQueue.java      |  44 ++
 .../resources/AppDeploymentResource.java        |  44 ++
 .../catalog/resources/BatchQueueResource.java   |  56 ++-
 .../app/catalog/util/AppCatalogJPAUtils.java    |   8 +
 .../util/AppCatalogThriftConversion.java        |  13 +
 .../src/main/resources/appcatalog-derby.sql     |   8 +
 .../src/main/resources/appcatalog-mysql.sql     |   8 +
 .../application_deployment_model.thrift         |   4 +
 .../compute_resource_model.thrift               |   6 +-
 21 files changed, 1581 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
index d465140..52598ef 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
@@ -491,6 +491,26 @@ void ApplicationDeploymentDescription::__set_postJobCommands(const std::vector<C
 __isset.postJobCommands = true;
 }
 
+void ApplicationDeploymentDescription::__set_defaultQueueName(const std::string& val) {
+  this->defaultQueueName = val;
+__isset.defaultQueueName = true;
+}
+
+void ApplicationDeploymentDescription::__set_defaultNodeCount(const int32_t val) {
+  this->defaultNodeCount = val;
+__isset.defaultNodeCount = true;
+}
+
+void ApplicationDeploymentDescription::__set_defaultCPUCount(const int32_t val) {
+  this->defaultCPUCount = val;
+__isset.defaultCPUCount = true;
+}
+
+void ApplicationDeploymentDescription::__set_editableByUser(const bool val) {
+  this->editableByUser = val;
+__isset.editableByUser = true;
+}
+
 uint32_t ApplicationDeploymentDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -687,6 +707,38 @@ uint32_t ApplicationDeploymentDescription::read(::apache::thrift::protocol::TPro
           xfer += iprot->skip(ftype);
         }
         break;
+      case 13:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->defaultQueueName);
+          this->__isset.defaultQueueName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 14:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->defaultNodeCount);
+          this->__isset.defaultNodeCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 15:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->defaultCPUCount);
+          this->__isset.defaultCPUCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 16:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->editableByUser);
+          this->__isset.editableByUser = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -817,6 +869,26 @@ uint32_t ApplicationDeploymentDescription::write(::apache::thrift::protocol::TPr
     }
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.defaultQueueName) {
+    xfer += oprot->writeFieldBegin("defaultQueueName", ::apache::thrift::protocol::T_STRING, 13);
+    xfer += oprot->writeString(this->defaultQueueName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.defaultNodeCount) {
+    xfer += oprot->writeFieldBegin("defaultNodeCount", ::apache::thrift::protocol::T_I32, 14);
+    xfer += oprot->writeI32(this->defaultNodeCount);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.defaultCPUCount) {
+    xfer += oprot->writeFieldBegin("defaultCPUCount", ::apache::thrift::protocol::T_I32, 15);
+    xfer += oprot->writeI32(this->defaultCPUCount);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.editableByUser) {
+    xfer += oprot->writeFieldBegin("editableByUser", ::apache::thrift::protocol::T_BOOL, 16);
+    xfer += oprot->writeBool(this->editableByUser);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -836,6 +908,10 @@ void swap(ApplicationDeploymentDescription &a, ApplicationDeploymentDescription
   swap(a.setEnvironment, b.setEnvironment);
   swap(a.preJobCommands, b.preJobCommands);
   swap(a.postJobCommands, b.postJobCommands);
+  swap(a.defaultQueueName, b.defaultQueueName);
+  swap(a.defaultNodeCount, b.defaultNodeCount);
+  swap(a.defaultCPUCount, b.defaultCPUCount);
+  swap(a.editableByUser, b.editableByUser);
   swap(a.__isset, b.__isset);
 }
 
@@ -852,6 +928,10 @@ ApplicationDeploymentDescription::ApplicationDeploymentDescription(const Applica
   setEnvironment = other43.setEnvironment;
   preJobCommands = other43.preJobCommands;
   postJobCommands = other43.postJobCommands;
+  defaultQueueName = other43.defaultQueueName;
+  defaultNodeCount = other43.defaultNodeCount;
+  defaultCPUCount = other43.defaultCPUCount;
+  editableByUser = other43.editableByUser;
   __isset = other43.__isset;
 }
 ApplicationDeploymentDescription& ApplicationDeploymentDescription::operator=(const ApplicationDeploymentDescription& other44) {
@@ -867,6 +947,10 @@ ApplicationDeploymentDescription& ApplicationDeploymentDescription::operator=(co
   setEnvironment = other44.setEnvironment;
   preJobCommands = other44.preJobCommands;
   postJobCommands = other44.postJobCommands;
+  defaultQueueName = other44.defaultQueueName;
+  defaultNodeCount = other44.defaultNodeCount;
+  defaultCPUCount = other44.defaultCPUCount;
+  editableByUser = other44.editableByUser;
   __isset = other44.__isset;
   return *this;
 }
@@ -885,6 +969,10 @@ void ApplicationDeploymentDescription::printTo(std::ostream& out) const {
   out << ", " << "setEnvironment="; (__isset.setEnvironment ? (out << to_string(setEnvironment)) : (out << "<null>"));
   out << ", " << "preJobCommands="; (__isset.preJobCommands ? (out << to_string(preJobCommands)) : (out << "<null>"));
   out << ", " << "postJobCommands="; (__isset.postJobCommands ? (out << to_string(postJobCommands)) : (out << "<null>"));
+  out << ", " << "defaultQueueName="; (__isset.defaultQueueName ? (out << to_string(defaultQueueName)) : (out << "<null>"));
+  out << ", " << "defaultNodeCount="; (__isset.defaultNodeCount ? (out << to_string(defaultNodeCount)) : (out << "<null>"));
+  out << ", " << "defaultCPUCount="; (__isset.defaultCPUCount ? (out << to_string(defaultCPUCount)) : (out << "<null>"));
+  out << ", " << "editableByUser="; (__isset.editableByUser ? (out << to_string(editableByUser)) : (out << "<null>"));
   out << ")";
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
index 5409805..42599df 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
@@ -224,7 +224,7 @@ inline std::ostream& operator<<(std::ostream& out, const ApplicationModule& obj)
 }
 
 typedef struct _ApplicationDeploymentDescription__isset {
-  _ApplicationDeploymentDescription__isset() : appDeploymentDescription(false), moduleLoadCmds(false), libPrependPaths(false), libAppendPaths(false), setEnvironment(false), preJobCommands(false), postJobCommands(false) {}
+  _ApplicationDeploymentDescription__isset() : appDeploymentDescription(false), moduleLoadCmds(false), libPrependPaths(false), libAppendPaths(false), setEnvironment(false), preJobCommands(false), postJobCommands(false), defaultQueueName(false), defaultNodeCount(false), defaultCPUCount(false), editableByUser(false) {}
   bool appDeploymentDescription :1;
   bool moduleLoadCmds :1;
   bool libPrependPaths :1;
@@ -232,6 +232,10 @@ typedef struct _ApplicationDeploymentDescription__isset {
   bool setEnvironment :1;
   bool preJobCommands :1;
   bool postJobCommands :1;
+  bool defaultQueueName :1;
+  bool defaultNodeCount :1;
+  bool defaultCPUCount :1;
+  bool editableByUser :1;
 } _ApplicationDeploymentDescription__isset;
 
 class ApplicationDeploymentDescription {
@@ -239,7 +243,7 @@ class ApplicationDeploymentDescription {
 
   ApplicationDeploymentDescription(const ApplicationDeploymentDescription&);
   ApplicationDeploymentDescription& operator=(const ApplicationDeploymentDescription&);
-  ApplicationDeploymentDescription() : appDeploymentId("DO_NOT_SET_AT_CLIENTS"), appModuleId(), computeHostId(), executablePath(), parallelism(( ::apache::airavata::model::appcatalog::parallelism::ApplicationParallelismType::type)0), appDeploymentDescription() {
+  ApplicationDeploymentDescription() : appDeploymentId("DO_NOT_SET_AT_CLIENTS"), appModuleId(), computeHostId(), executablePath(), parallelism(( ::apache::airavata::model::appcatalog::parallelism::ApplicationParallelismType::type)0), appDeploymentDescription(), defaultQueueName(), defaultNodeCount(0), defaultCPUCount(0), editableByUser(0) {
     parallelism = ( ::apache::airavata::model::appcatalog::parallelism::ApplicationParallelismType::type)0;
 
   }
@@ -257,6 +261,10 @@ class ApplicationDeploymentDescription {
   std::vector<SetEnvPaths>  setEnvironment;
   std::vector<CommandObject>  preJobCommands;
   std::vector<CommandObject>  postJobCommands;
+  std::string defaultQueueName;
+  int32_t defaultNodeCount;
+  int32_t defaultCPUCount;
+  bool editableByUser;
 
   _ApplicationDeploymentDescription__isset __isset;
 
@@ -284,6 +292,14 @@ class ApplicationDeploymentDescription {
 
   void __set_postJobCommands(const std::vector<CommandObject> & val);
 
+  void __set_defaultQueueName(const std::string& val);
+
+  void __set_defaultNodeCount(const int32_t val);
+
+  void __set_defaultCPUCount(const int32_t val);
+
+  void __set_editableByUser(const bool val);
+
   bool operator == (const ApplicationDeploymentDescription & rhs) const
   {
     if (!(appDeploymentId == rhs.appDeploymentId))
@@ -324,6 +340,22 @@ class ApplicationDeploymentDescription {
       return false;
     else if (__isset.postJobCommands && !(postJobCommands == rhs.postJobCommands))
       return false;
+    if (__isset.defaultQueueName != rhs.__isset.defaultQueueName)
+      return false;
+    else if (__isset.defaultQueueName && !(defaultQueueName == rhs.defaultQueueName))
+      return false;
+    if (__isset.defaultNodeCount != rhs.__isset.defaultNodeCount)
+      return false;
+    else if (__isset.defaultNodeCount && !(defaultNodeCount == rhs.defaultNodeCount))
+      return false;
+    if (__isset.defaultCPUCount != rhs.__isset.defaultCPUCount)
+      return false;
+    else if (__isset.defaultCPUCount && !(defaultCPUCount == rhs.defaultCPUCount))
+      return false;
+    if (__isset.editableByUser != rhs.__isset.editableByUser)
+      return false;
+    else if (__isset.editableByUser && !(editableByUser == rhs.editableByUser))
+      return false;
     return true;
   }
   bool operator != (const ApplicationDeploymentDescription &rhs) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
index b84306c..a744a1f 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
@@ -435,6 +435,26 @@ void BatchQueue::__set_maxMemory(const int32_t val) {
 __isset.maxMemory = true;
 }
 
+void BatchQueue::__set_cpuPerNode(const int32_t val) {
+  this->cpuPerNode = val;
+__isset.cpuPerNode = true;
+}
+
+void BatchQueue::__set_defaultNodeCount(const int32_t val) {
+  this->defaultNodeCount = val;
+__isset.defaultNodeCount = true;
+}
+
+void BatchQueue::__set_defaultCPUCount(const int32_t val) {
+  this->defaultCPUCount = val;
+__isset.defaultCPUCount = true;
+}
+
+void BatchQueue::__set_isDefaultQueue(const bool val) {
+  this->isDefaultQueue = val;
+__isset.isDefaultQueue = true;
+}
+
 uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -513,6 +533,38 @@ uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->cpuPerNode);
+          this->__isset.cpuPerNode = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->defaultNodeCount);
+          this->__isset.defaultNodeCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->defaultCPUCount);
+          this->__isset.defaultCPUCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->isDefaultQueue);
+          this->__isset.isDefaultQueue = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -566,6 +618,26 @@ uint32_t BatchQueue::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeI32(this->maxMemory);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.cpuPerNode) {
+    xfer += oprot->writeFieldBegin("cpuPerNode", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeI32(this->cpuPerNode);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.defaultNodeCount) {
+    xfer += oprot->writeFieldBegin("defaultNodeCount", ::apache::thrift::protocol::T_I32, 9);
+    xfer += oprot->writeI32(this->defaultNodeCount);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.defaultCPUCount) {
+    xfer += oprot->writeFieldBegin("defaultCPUCount", ::apache::thrift::protocol::T_I32, 10);
+    xfer += oprot->writeI32(this->defaultCPUCount);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.isDefaultQueue) {
+    xfer += oprot->writeFieldBegin("isDefaultQueue", ::apache::thrift::protocol::T_BOOL, 11);
+    xfer += oprot->writeBool(this->isDefaultQueue);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -580,6 +652,10 @@ void swap(BatchQueue &a, BatchQueue &b) {
   swap(a.maxProcessors, b.maxProcessors);
   swap(a.maxJobsInQueue, b.maxJobsInQueue);
   swap(a.maxMemory, b.maxMemory);
+  swap(a.cpuPerNode, b.cpuPerNode);
+  swap(a.defaultNodeCount, b.defaultNodeCount);
+  swap(a.defaultCPUCount, b.defaultCPUCount);
+  swap(a.isDefaultQueue, b.isDefaultQueue);
   swap(a.__isset, b.__isset);
 }
 
@@ -591,6 +667,10 @@ BatchQueue::BatchQueue(const BatchQueue& other21) {
   maxProcessors = other21.maxProcessors;
   maxJobsInQueue = other21.maxJobsInQueue;
   maxMemory = other21.maxMemory;
+  cpuPerNode = other21.cpuPerNode;
+  defaultNodeCount = other21.defaultNodeCount;
+  defaultCPUCount = other21.defaultCPUCount;
+  isDefaultQueue = other21.isDefaultQueue;
   __isset = other21.__isset;
 }
 BatchQueue& BatchQueue::operator=(const BatchQueue& other22) {
@@ -601,6 +681,10 @@ BatchQueue& BatchQueue::operator=(const BatchQueue& other22) {
   maxProcessors = other22.maxProcessors;
   maxJobsInQueue = other22.maxJobsInQueue;
   maxMemory = other22.maxMemory;
+  cpuPerNode = other22.cpuPerNode;
+  defaultNodeCount = other22.defaultNodeCount;
+  defaultCPUCount = other22.defaultCPUCount;
+  isDefaultQueue = other22.isDefaultQueue;
   __isset = other22.__isset;
   return *this;
 }
@@ -614,6 +698,10 @@ void BatchQueue::printTo(std::ostream& out) const {
   out << ", " << "maxProcessors="; (__isset.maxProcessors ? (out << to_string(maxProcessors)) : (out << "<null>"));
   out << ", " << "maxJobsInQueue="; (__isset.maxJobsInQueue ? (out << to_string(maxJobsInQueue)) : (out << "<null>"));
   out << ", " << "maxMemory="; (__isset.maxMemory ? (out << to_string(maxMemory)) : (out << "<null>"));
+  out << ", " << "cpuPerNode="; (__isset.cpuPerNode ? (out << to_string(cpuPerNode)) : (out << "<null>"));
+  out << ", " << "defaultNodeCount="; (__isset.defaultNodeCount ? (out << to_string(defaultNodeCount)) : (out << "<null>"));
+  out << ", " << "defaultCPUCount="; (__isset.defaultCPUCount ? (out << to_string(defaultCPUCount)) : (out << "<null>"));
+  out << ", " << "isDefaultQueue="; (__isset.isDefaultQueue ? (out << to_string(isDefaultQueue)) : (out << "<null>"));
   out << ")";
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
index 5c90bd9..89566a0 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
@@ -224,13 +224,17 @@ inline std::ostream& operator<<(std::ostream& out, const ResourceJobManager& obj
 }
 
 typedef struct _BatchQueue__isset {
-  _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false), maxMemory(false) {}
+  _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false), maxMemory(false), cpuPerNode(false), defaultNodeCount(false), defaultCPUCount(false), isDefaultQueue(false) {}
   bool queueDescription :1;
   bool maxRunTime :1;
   bool maxNodes :1;
   bool maxProcessors :1;
   bool maxJobsInQueue :1;
   bool maxMemory :1;
+  bool cpuPerNode :1;
+  bool defaultNodeCount :1;
+  bool defaultCPUCount :1;
+  bool isDefaultQueue :1;
 } _BatchQueue__isset;
 
 class BatchQueue {
@@ -238,7 +242,7 @@ class BatchQueue {
 
   BatchQueue(const BatchQueue&);
   BatchQueue& operator=(const BatchQueue&);
-  BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0), maxMemory(0) {
+  BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0), maxMemory(0), cpuPerNode(0), defaultNodeCount(0), defaultCPUCount(0), isDefaultQueue(0) {
   }
 
   virtual ~BatchQueue() throw();
@@ -249,6 +253,10 @@ class BatchQueue {
   int32_t maxProcessors;
   int32_t maxJobsInQueue;
   int32_t maxMemory;
+  int32_t cpuPerNode;
+  int32_t defaultNodeCount;
+  int32_t defaultCPUCount;
+  bool isDefaultQueue;
 
   _BatchQueue__isset __isset;
 
@@ -266,6 +274,14 @@ class BatchQueue {
 
   void __set_maxMemory(const int32_t val);
 
+  void __set_cpuPerNode(const int32_t val);
+
+  void __set_defaultNodeCount(const int32_t val);
+
+  void __set_defaultCPUCount(const int32_t val);
+
+  void __set_isDefaultQueue(const bool val);
+
   bool operator == (const BatchQueue & rhs) const
   {
     if (!(queueName == rhs.queueName))
@@ -294,6 +310,22 @@ class BatchQueue {
       return false;
     else if (__isset.maxMemory && !(maxMemory == rhs.maxMemory))
       return false;
+    if (__isset.cpuPerNode != rhs.__isset.cpuPerNode)
+      return false;
+    else if (__isset.cpuPerNode && !(cpuPerNode == rhs.cpuPerNode))
+      return false;
+    if (__isset.defaultNodeCount != rhs.__isset.defaultNodeCount)
+      return false;
+    else if (__isset.defaultNodeCount && !(defaultNodeCount == rhs.defaultNodeCount))
+      return false;
+    if (__isset.defaultCPUCount != rhs.__isset.defaultCPUCount)
+      return false;
+    else if (__isset.defaultCPUCount && !(defaultCPUCount == rhs.defaultCPUCount))
+      return false;
+    if (__isset.isDefaultQueue != rhs.__isset.isDefaultQueue)
+      return false;
+    else if (__isset.isDefaultQueue && !(isDefaultQueue == rhs.isDefaultQueue))
+      return false;
     return true;
   }
   bool operator != (const BatchQueue &rhs) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
index 29965e7..03d1121 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
@@ -493,6 +493,22 @@ class ApplicationDeploymentDescription {
    * @var \Airavata\Model\AppCatalog\AppDeployment\CommandObject[]
    */
   public $postJobCommands = null;
+  /**
+   * @var string
+   */
+  public $defaultQueueName = null;
+  /**
+   * @var int
+   */
+  public $defaultNodeCount = null;
+  /**
+   * @var int
+   */
+  public $defaultCPUCount = null;
+  /**
+   * @var bool
+   */
+  public $editableByUser = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -575,6 +591,22 @@ class ApplicationDeploymentDescription {
             'class' => '\Airavata\Model\AppCatalog\AppDeployment\CommandObject',
             ),
           ),
+        13 => array(
+          'var' => 'defaultQueueName',
+          'type' => TType::STRING,
+          ),
+        14 => array(
+          'var' => 'defaultNodeCount',
+          'type' => TType::I32,
+          ),
+        15 => array(
+          'var' => 'defaultCPUCount',
+          'type' => TType::I32,
+          ),
+        16 => array(
+          'var' => 'editableByUser',
+          'type' => TType::BOOL,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -614,6 +646,18 @@ class ApplicationDeploymentDescription {
       if (isset($vals['postJobCommands'])) {
         $this->postJobCommands = $vals['postJobCommands'];
       }
+      if (isset($vals['defaultQueueName'])) {
+        $this->defaultQueueName = $vals['defaultQueueName'];
+      }
+      if (isset($vals['defaultNodeCount'])) {
+        $this->defaultNodeCount = $vals['defaultNodeCount'];
+      }
+      if (isset($vals['defaultCPUCount'])) {
+        $this->defaultCPUCount = $vals['defaultCPUCount'];
+      }
+      if (isset($vals['editableByUser'])) {
+        $this->editableByUser = $vals['editableByUser'];
+      }
     }
   }
 
@@ -786,6 +830,34 @@ class ApplicationDeploymentDescription {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 13:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->defaultQueueName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 14:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->defaultNodeCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 15:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->defaultCPUCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 16:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->editableByUser);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -931,6 +1003,26 @@ class ApplicationDeploymentDescription {
       }
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->defaultQueueName !== null) {
+      $xfer += $output->writeFieldBegin('defaultQueueName', TType::STRING, 13);
+      $xfer += $output->writeString($this->defaultQueueName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->defaultNodeCount !== null) {
+      $xfer += $output->writeFieldBegin('defaultNodeCount', TType::I32, 14);
+      $xfer += $output->writeI32($this->defaultNodeCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->defaultCPUCount !== null) {
+      $xfer += $output->writeFieldBegin('defaultCPUCount', TType::I32, 15);
+      $xfer += $output->writeI32($this->defaultCPUCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->editableByUser !== null) {
+      $xfer += $output->writeFieldBegin('editableByUser', TType::BOOL, 16);
+      $xfer += $output->writeBool($this->editableByUser);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index 71b4fd7..39acd3c 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -522,6 +522,22 @@ class BatchQueue {
    * @var int
    */
   public $maxMemory = null;
+  /**
+   * @var int
+   */
+  public $cpuPerNode = null;
+  /**
+   * @var int
+   */
+  public $defaultNodeCount = null;
+  /**
+   * @var int
+   */
+  public $defaultCPUCount = null;
+  /**
+   * @var bool
+   */
+  public $isDefaultQueue = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -554,6 +570,22 @@ class BatchQueue {
           'var' => 'maxMemory',
           'type' => TType::I32,
           ),
+        8 => array(
+          'var' => 'cpuPerNode',
+          'type' => TType::I32,
+          ),
+        9 => array(
+          'var' => 'defaultNodeCount',
+          'type' => TType::I32,
+          ),
+        10 => array(
+          'var' => 'defaultCPUCount',
+          'type' => TType::I32,
+          ),
+        11 => array(
+          'var' => 'isDefaultQueue',
+          'type' => TType::BOOL,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -578,6 +610,18 @@ class BatchQueue {
       if (isset($vals['maxMemory'])) {
         $this->maxMemory = $vals['maxMemory'];
       }
+      if (isset($vals['cpuPerNode'])) {
+        $this->cpuPerNode = $vals['cpuPerNode'];
+      }
+      if (isset($vals['defaultNodeCount'])) {
+        $this->defaultNodeCount = $vals['defaultNodeCount'];
+      }
+      if (isset($vals['defaultCPUCount'])) {
+        $this->defaultCPUCount = $vals['defaultCPUCount'];
+      }
+      if (isset($vals['isDefaultQueue'])) {
+        $this->isDefaultQueue = $vals['isDefaultQueue'];
+      }
     }
   }
 
@@ -649,6 +693,34 @@ class BatchQueue {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 8:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->cpuPerNode);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->defaultNodeCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->defaultCPUCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->isDefaultQueue);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -697,6 +769,26 @@ class BatchQueue {
       $xfer += $output->writeI32($this->maxMemory);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->cpuPerNode !== null) {
+      $xfer += $output->writeFieldBegin('cpuPerNode', TType::I32, 8);
+      $xfer += $output->writeI32($this->cpuPerNode);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->defaultNodeCount !== null) {
+      $xfer += $output->writeFieldBegin('defaultNodeCount', TType::I32, 9);
+      $xfer += $output->writeI32($this->defaultNodeCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->defaultCPUCount !== null) {
+      $xfer += $output->writeFieldBegin('defaultCPUCount', TType::I32, 10);
+      $xfer += $output->writeI32($this->defaultCPUCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->isDefaultQueue !== null) {
+      $xfer += $output->writeFieldBegin('isDefaultQueue', TType::BOOL, 11);
+      $xfer += $output->writeBool($this->isDefaultQueue);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
index 14fdbfa..12dfca0 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
@@ -376,6 +376,10 @@ class ApplicationDeploymentDescription:
    - setEnvironment
    - preJobCommands
    - postJobCommands
+   - defaultQueueName
+   - defaultNodeCount
+   - defaultCPUCount
+   - editableByUser
   """
 
   thrift_spec = (
@@ -392,9 +396,13 @@ class ApplicationDeploymentDescription:
     (10, TType.LIST, 'setEnvironment', (TType.STRUCT,(SetEnvPaths, SetEnvPaths.thrift_spec)), None, ), # 10
     (11, TType.LIST, 'preJobCommands', (TType.STRUCT,(CommandObject, CommandObject.thrift_spec)), None, ), # 11
     (12, TType.LIST, 'postJobCommands', (TType.STRUCT,(CommandObject, CommandObject.thrift_spec)), None, ), # 12
+    (13, TType.STRING, 'defaultQueueName', None, None, ), # 13
+    (14, TType.I32, 'defaultNodeCount', None, None, ), # 14
+    (15, TType.I32, 'defaultCPUCount', None, None, ), # 15
+    (16, TType.BOOL, 'editableByUser', None, None, ), # 16
   )
 
-  def __init__(self, appDeploymentId=thrift_spec[1][4], appModuleId=None, computeHostId=None, executablePath=None, parallelism=thrift_spec[5][4], appDeploymentDescription=None, moduleLoadCmds=None, libPrependPaths=None, libAppendPaths=None, setEnvironment=None, preJobCommands=None, postJobCommands=None,):
+  def __init__(self, appDeploymentId=thrift_spec[1][4], appModuleId=None, computeHostId=None, executablePath=None, parallelism=thrift_spec[5][4], appDeploymentDescription=None, moduleLoadCmds=None, libPrependPaths=None, libAppendPaths=None, setEnvironment=None, preJobCommands=None, postJobCommands=None, defaultQueueName=None, defaultNodeCount=None, defaultCPUCount=None, editableByUser=None,):
     self.appDeploymentId = appDeploymentId
     self.appModuleId = appModuleId
     self.computeHostId = computeHostId
@@ -407,6 +415,10 @@ class ApplicationDeploymentDescription:
     self.setEnvironment = setEnvironment
     self.preJobCommands = preJobCommands
     self.postJobCommands = postJobCommands
+    self.defaultQueueName = defaultQueueName
+    self.defaultNodeCount = defaultNodeCount
+    self.defaultCPUCount = defaultCPUCount
+    self.editableByUser = editableByUser
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -513,6 +525,26 @@ class ApplicationDeploymentDescription:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
+      elif fid == 13:
+        if ftype == TType.STRING:
+          self.defaultQueueName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 14:
+        if ftype == TType.I32:
+          self.defaultNodeCount = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 15:
+        if ftype == TType.I32:
+          self.defaultCPUCount = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 16:
+        if ftype == TType.BOOL:
+          self.editableByUser = iprot.readBool()
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -589,6 +621,22 @@ class ApplicationDeploymentDescription:
         iter41.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
+    if self.defaultQueueName is not None:
+      oprot.writeFieldBegin('defaultQueueName', TType.STRING, 13)
+      oprot.writeString(self.defaultQueueName)
+      oprot.writeFieldEnd()
+    if self.defaultNodeCount is not None:
+      oprot.writeFieldBegin('defaultNodeCount', TType.I32, 14)
+      oprot.writeI32(self.defaultNodeCount)
+      oprot.writeFieldEnd()
+    if self.defaultCPUCount is not None:
+      oprot.writeFieldBegin('defaultCPUCount', TType.I32, 15)
+      oprot.writeI32(self.defaultCPUCount)
+      oprot.writeFieldEnd()
+    if self.editableByUser is not None:
+      oprot.writeFieldBegin('editableByUser', TType.BOOL, 16)
+      oprot.writeBool(self.editableByUser)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -620,6 +668,10 @@ class ApplicationDeploymentDescription:
     value = (value * 31) ^ hash(self.setEnvironment)
     value = (value * 31) ^ hash(self.preJobCommands)
     value = (value * 31) ^ hash(self.postJobCommands)
+    value = (value * 31) ^ hash(self.defaultQueueName)
+    value = (value * 31) ^ hash(self.defaultNodeCount)
+    value = (value * 31) ^ hash(self.defaultCPUCount)
+    value = (value * 31) ^ hash(self.editableByUser)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
index f402da2..174d3b8 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
@@ -455,6 +455,10 @@ class BatchQueue:
    - maxProcessors
    - maxJobsInQueue
    - maxMemory
+   - cpuPerNode
+   - defaultNodeCount
+   - defaultCPUCount
+   - isDefaultQueue
   """
 
   thrift_spec = (
@@ -466,9 +470,13 @@ class BatchQueue:
     (5, TType.I32, 'maxProcessors', None, None, ), # 5
     (6, TType.I32, 'maxJobsInQueue', None, None, ), # 6
     (7, TType.I32, 'maxMemory', None, None, ), # 7
+    (8, TType.I32, 'cpuPerNode', None, None, ), # 8
+    (9, TType.I32, 'defaultNodeCount', None, None, ), # 9
+    (10, TType.I32, 'defaultCPUCount', None, None, ), # 10
+    (11, TType.BOOL, 'isDefaultQueue', None, None, ), # 11
   )
 
-  def __init__(self, queueName=None, queueDescription=None, maxRunTime=None, maxNodes=None, maxProcessors=None, maxJobsInQueue=None, maxMemory=None,):
+  def __init__(self, queueName=None, queueDescription=None, maxRunTime=None, maxNodes=None, maxProcessors=None, maxJobsInQueue=None, maxMemory=None, cpuPerNode=None, defaultNodeCount=None, defaultCPUCount=None, isDefaultQueue=None,):
     self.queueName = queueName
     self.queueDescription = queueDescription
     self.maxRunTime = maxRunTime
@@ -476,6 +484,10 @@ class BatchQueue:
     self.maxProcessors = maxProcessors
     self.maxJobsInQueue = maxJobsInQueue
     self.maxMemory = maxMemory
+    self.cpuPerNode = cpuPerNode
+    self.defaultNodeCount = defaultNodeCount
+    self.defaultCPUCount = defaultCPUCount
+    self.isDefaultQueue = isDefaultQueue
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -521,6 +533,26 @@ class BatchQueue:
           self.maxMemory = iprot.readI32()
         else:
           iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.I32:
+          self.cpuPerNode = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.I32:
+          self.defaultNodeCount = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.I32:
+          self.defaultCPUCount = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.BOOL:
+          self.isDefaultQueue = iprot.readBool()
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -559,6 +591,22 @@ class BatchQueue:
       oprot.writeFieldBegin('maxMemory', TType.I32, 7)
       oprot.writeI32(self.maxMemory)
       oprot.writeFieldEnd()
+    if self.cpuPerNode is not None:
+      oprot.writeFieldBegin('cpuPerNode', TType.I32, 8)
+      oprot.writeI32(self.cpuPerNode)
+      oprot.writeFieldEnd()
+    if self.defaultNodeCount is not None:
+      oprot.writeFieldBegin('defaultNodeCount', TType.I32, 9)
+      oprot.writeI32(self.defaultNodeCount)
+      oprot.writeFieldEnd()
+    if self.defaultCPUCount is not None:
+      oprot.writeFieldBegin('defaultCPUCount', TType.I32, 10)
+      oprot.writeI32(self.defaultCPUCount)
+      oprot.writeFieldEnd()
+    if self.isDefaultQueue is not None:
+      oprot.writeFieldBegin('isDefaultQueue', TType.BOOL, 11)
+      oprot.writeBool(self.isDefaultQueue)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -577,6 +625,10 @@ class BatchQueue:
     value = (value * 31) ^ hash(self.maxProcessors)
     value = (value * 31) ^ hash(self.maxJobsInQueue)
     value = (value * 31) ^ hash(self.maxMemory)
+    value = (value * 31) ^ hash(self.cpuPerNode)
+    value = (value * 31) ^ hash(self.defaultNodeCount)
+    value = (value * 31) ^ hash(self.defaultCPUCount)
+    value = (value * 31) ^ hash(self.isDefaultQueue)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index 63e3882..36f1d9d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -93,6 +93,10 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
   private static final org.apache.thrift.protocol.TField SET_ENVIRONMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("setEnvironment", org.apache.thrift.protocol.TType.LIST, (short)10);
   private static final org.apache.thrift.protocol.TField PRE_JOB_COMMANDS_FIELD_DESC = new org.apache.thrift.protocol.TField("preJobCommands", org.apache.thrift.protocol.TType.LIST, (short)11);
   private static final org.apache.thrift.protocol.TField POST_JOB_COMMANDS_FIELD_DESC = new org.apache.thrift.protocol.TField("postJobCommands", org.apache.thrift.protocol.TType.LIST, (short)12);
+  private static final org.apache.thrift.protocol.TField DEFAULT_QUEUE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultQueueName", org.apache.thrift.protocol.TType.STRING, (short)13);
+  private static final org.apache.thrift.protocol.TField DEFAULT_NODE_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultNodeCount", org.apache.thrift.protocol.TType.I32, (short)14);
+  private static final org.apache.thrift.protocol.TField DEFAULT_CPUCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultCPUCount", org.apache.thrift.protocol.TType.I32, (short)15);
+  private static final org.apache.thrift.protocol.TField EDITABLE_BY_USER_FIELD_DESC = new org.apache.thrift.protocol.TField("editableByUser", org.apache.thrift.protocol.TType.BOOL, (short)16);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -112,6 +116,10 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
   private List<SetEnvPaths> setEnvironment; // optional
   private List<CommandObject> preJobCommands; // optional
   private List<CommandObject> postJobCommands; // optional
+  private String defaultQueueName; // optional
+  private int defaultNodeCount; // optional
+  private int defaultCPUCount; // optional
+  private boolean editableByUser; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -130,7 +138,11 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     LIB_APPEND_PATHS((short)9, "libAppendPaths"),
     SET_ENVIRONMENT((short)10, "setEnvironment"),
     PRE_JOB_COMMANDS((short)11, "preJobCommands"),
-    POST_JOB_COMMANDS((short)12, "postJobCommands");
+    POST_JOB_COMMANDS((short)12, "postJobCommands"),
+    DEFAULT_QUEUE_NAME((short)13, "defaultQueueName"),
+    DEFAULT_NODE_COUNT((short)14, "defaultNodeCount"),
+    DEFAULT_CPUCOUNT((short)15, "defaultCPUCount"),
+    EDITABLE_BY_USER((short)16, "editableByUser");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -169,6 +181,14 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
           return PRE_JOB_COMMANDS;
         case 12: // POST_JOB_COMMANDS
           return POST_JOB_COMMANDS;
+        case 13: // DEFAULT_QUEUE_NAME
+          return DEFAULT_QUEUE_NAME;
+        case 14: // DEFAULT_NODE_COUNT
+          return DEFAULT_NODE_COUNT;
+        case 15: // DEFAULT_CPUCOUNT
+          return DEFAULT_CPUCOUNT;
+        case 16: // EDITABLE_BY_USER
+          return EDITABLE_BY_USER;
         default:
           return null;
       }
@@ -209,7 +229,11 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
   }
 
   // isset id assignments
-  private static final _Fields optionals[] = {_Fields.APP_DEPLOYMENT_DESCRIPTION,_Fields.MODULE_LOAD_CMDS,_Fields.LIB_PREPEND_PATHS,_Fields.LIB_APPEND_PATHS,_Fields.SET_ENVIRONMENT,_Fields.PRE_JOB_COMMANDS,_Fields.POST_JOB_COMMANDS};
+  private static final int __DEFAULTNODECOUNT_ISSET_ID = 0;
+  private static final int __DEFAULTCPUCOUNT_ISSET_ID = 1;
+  private static final int __EDITABLEBYUSER_ISSET_ID = 2;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.APP_DEPLOYMENT_DESCRIPTION,_Fields.MODULE_LOAD_CMDS,_Fields.LIB_PREPEND_PATHS,_Fields.LIB_APPEND_PATHS,_Fields.SET_ENVIRONMENT,_Fields.PRE_JOB_COMMANDS,_Fields.POST_JOB_COMMANDS,_Fields.DEFAULT_QUEUE_NAME,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.EDITABLE_BY_USER};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -243,6 +267,14 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     tmpMap.put(_Fields.POST_JOB_COMMANDS, new org.apache.thrift.meta_data.FieldMetaData("postJobCommands", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
             new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CommandObject.class))));
+    tmpMap.put(_Fields.DEFAULT_QUEUE_NAME, new org.apache.thrift.meta_data.FieldMetaData("defaultQueueName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DEFAULT_NODE_COUNT, new org.apache.thrift.meta_data.FieldMetaData("defaultNodeCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.DEFAULT_CPUCOUNT, new org.apache.thrift.meta_data.FieldMetaData("defaultCPUCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.EDITABLE_BY_USER, new org.apache.thrift.meta_data.FieldMetaData("editableByUser", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ApplicationDeploymentDescription.class, metaDataMap);
   }
@@ -273,6 +305,7 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
    * Performs a deep copy on <i>other</i>.
    */
   public ApplicationDeploymentDescription(ApplicationDeploymentDescription other) {
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetAppDeploymentId()) {
       this.appDeploymentId = other.appDeploymentId;
     }
@@ -333,6 +366,12 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       }
       this.postJobCommands = __this__postJobCommands;
     }
+    if (other.isSetDefaultQueueName()) {
+      this.defaultQueueName = other.defaultQueueName;
+    }
+    this.defaultNodeCount = other.defaultNodeCount;
+    this.defaultCPUCount = other.defaultCPUCount;
+    this.editableByUser = other.editableByUser;
   }
 
   public ApplicationDeploymentDescription deepCopy() {
@@ -355,6 +394,13 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     this.setEnvironment = null;
     this.preJobCommands = null;
     this.postJobCommands = null;
+    this.defaultQueueName = null;
+    setDefaultNodeCountIsSet(false);
+    this.defaultNodeCount = 0;
+    setDefaultCPUCountIsSet(false);
+    this.defaultCPUCount = 0;
+    setEditableByUserIsSet(false);
+    this.editableByUser = false;
   }
 
   public String getAppDeploymentId() {
@@ -731,6 +777,95 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     }
   }
 
+  public String getDefaultQueueName() {
+    return this.defaultQueueName;
+  }
+
+  public void setDefaultQueueName(String defaultQueueName) {
+    this.defaultQueueName = defaultQueueName;
+  }
+
+  public void unsetDefaultQueueName() {
+    this.defaultQueueName = null;
+  }
+
+  /** Returns true if field defaultQueueName is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultQueueName() {
+    return this.defaultQueueName != null;
+  }
+
+  public void setDefaultQueueNameIsSet(boolean value) {
+    if (!value) {
+      this.defaultQueueName = null;
+    }
+  }
+
+  public int getDefaultNodeCount() {
+    return this.defaultNodeCount;
+  }
+
+  public void setDefaultNodeCount(int defaultNodeCount) {
+    this.defaultNodeCount = defaultNodeCount;
+    setDefaultNodeCountIsSet(true);
+  }
+
+  public void unsetDefaultNodeCount() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTNODECOUNT_ISSET_ID);
+  }
+
+  /** Returns true if field defaultNodeCount is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultNodeCount() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTNODECOUNT_ISSET_ID);
+  }
+
+  public void setDefaultNodeCountIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTNODECOUNT_ISSET_ID, value);
+  }
+
+  public int getDefaultCPUCount() {
+    return this.defaultCPUCount;
+  }
+
+  public void setDefaultCPUCount(int defaultCPUCount) {
+    this.defaultCPUCount = defaultCPUCount;
+    setDefaultCPUCountIsSet(true);
+  }
+
+  public void unsetDefaultCPUCount() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID);
+  }
+
+  /** Returns true if field defaultCPUCount is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultCPUCount() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID);
+  }
+
+  public void setDefaultCPUCountIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID, value);
+  }
+
+  public boolean isEditableByUser() {
+    return this.editableByUser;
+  }
+
+  public void setEditableByUser(boolean editableByUser) {
+    this.editableByUser = editableByUser;
+    setEditableByUserIsSet(true);
+  }
+
+  public void unsetEditableByUser() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __EDITABLEBYUSER_ISSET_ID);
+  }
+
+  /** Returns true if field editableByUser is set (has been assigned a value) and false otherwise */
+  public boolean isSetEditableByUser() {
+    return EncodingUtils.testBit(__isset_bitfield, __EDITABLEBYUSER_ISSET_ID);
+  }
+
+  public void setEditableByUserIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __EDITABLEBYUSER_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case APP_DEPLOYMENT_ID:
@@ -829,6 +964,38 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       }
       break;
 
+    case DEFAULT_QUEUE_NAME:
+      if (value == null) {
+        unsetDefaultQueueName();
+      } else {
+        setDefaultQueueName((String)value);
+      }
+      break;
+
+    case DEFAULT_NODE_COUNT:
+      if (value == null) {
+        unsetDefaultNodeCount();
+      } else {
+        setDefaultNodeCount((Integer)value);
+      }
+      break;
+
+    case DEFAULT_CPUCOUNT:
+      if (value == null) {
+        unsetDefaultCPUCount();
+      } else {
+        setDefaultCPUCount((Integer)value);
+      }
+      break;
+
+    case EDITABLE_BY_USER:
+      if (value == null) {
+        unsetEditableByUser();
+      } else {
+        setEditableByUser((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -870,6 +1037,18 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     case POST_JOB_COMMANDS:
       return getPostJobCommands();
 
+    case DEFAULT_QUEUE_NAME:
+      return getDefaultQueueName();
+
+    case DEFAULT_NODE_COUNT:
+      return getDefaultNodeCount();
+
+    case DEFAULT_CPUCOUNT:
+      return getDefaultCPUCount();
+
+    case EDITABLE_BY_USER:
+      return isEditableByUser();
+
     }
     throw new IllegalStateException();
   }
@@ -905,6 +1084,14 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       return isSetPreJobCommands();
     case POST_JOB_COMMANDS:
       return isSetPostJobCommands();
+    case DEFAULT_QUEUE_NAME:
+      return isSetDefaultQueueName();
+    case DEFAULT_NODE_COUNT:
+      return isSetDefaultNodeCount();
+    case DEFAULT_CPUCOUNT:
+      return isSetDefaultCPUCount();
+    case EDITABLE_BY_USER:
+      return isSetEditableByUser();
     }
     throw new IllegalStateException();
   }
@@ -1030,6 +1217,42 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
         return false;
     }
 
+    boolean this_present_defaultQueueName = true && this.isSetDefaultQueueName();
+    boolean that_present_defaultQueueName = true && that.isSetDefaultQueueName();
+    if (this_present_defaultQueueName || that_present_defaultQueueName) {
+      if (!(this_present_defaultQueueName && that_present_defaultQueueName))
+        return false;
+      if (!this.defaultQueueName.equals(that.defaultQueueName))
+        return false;
+    }
+
+    boolean this_present_defaultNodeCount = true && this.isSetDefaultNodeCount();
+    boolean that_present_defaultNodeCount = true && that.isSetDefaultNodeCount();
+    if (this_present_defaultNodeCount || that_present_defaultNodeCount) {
+      if (!(this_present_defaultNodeCount && that_present_defaultNodeCount))
+        return false;
+      if (this.defaultNodeCount != that.defaultNodeCount)
+        return false;
+    }
+
+    boolean this_present_defaultCPUCount = true && this.isSetDefaultCPUCount();
+    boolean that_present_defaultCPUCount = true && that.isSetDefaultCPUCount();
+    if (this_present_defaultCPUCount || that_present_defaultCPUCount) {
+      if (!(this_present_defaultCPUCount && that_present_defaultCPUCount))
+        return false;
+      if (this.defaultCPUCount != that.defaultCPUCount)
+        return false;
+    }
+
+    boolean this_present_editableByUser = true && this.isSetEditableByUser();
+    boolean that_present_editableByUser = true && that.isSetEditableByUser();
+    if (this_present_editableByUser || that_present_editableByUser) {
+      if (!(this_present_editableByUser && that_present_editableByUser))
+        return false;
+      if (this.editableByUser != that.editableByUser)
+        return false;
+    }
+
     return true;
   }
 
@@ -1097,6 +1320,26 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     if (present_postJobCommands)
       list.add(postJobCommands);
 
+    boolean present_defaultQueueName = true && (isSetDefaultQueueName());
+    list.add(present_defaultQueueName);
+    if (present_defaultQueueName)
+      list.add(defaultQueueName);
+
+    boolean present_defaultNodeCount = true && (isSetDefaultNodeCount());
+    list.add(present_defaultNodeCount);
+    if (present_defaultNodeCount)
+      list.add(defaultNodeCount);
+
+    boolean present_defaultCPUCount = true && (isSetDefaultCPUCount());
+    list.add(present_defaultCPUCount);
+    if (present_defaultCPUCount)
+      list.add(defaultCPUCount);
+
+    boolean present_editableByUser = true && (isSetEditableByUser());
+    list.add(present_editableByUser);
+    if (present_editableByUser)
+      list.add(editableByUser);
+
     return list.hashCode();
   }
 
@@ -1228,6 +1471,46 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetDefaultQueueName()).compareTo(other.isSetDefaultQueueName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultQueueName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultQueueName, other.defaultQueueName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDefaultNodeCount()).compareTo(other.isSetDefaultNodeCount());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultNodeCount()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultNodeCount, other.defaultNodeCount);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDefaultCPUCount()).compareTo(other.isSetDefaultCPUCount());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultCPUCount()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultCPUCount, other.defaultCPUCount);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetEditableByUser()).compareTo(other.isSetEditableByUser());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetEditableByUser()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.editableByUser, other.editableByUser);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1357,6 +1640,34 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       }
       first = false;
     }
+    if (isSetDefaultQueueName()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultQueueName:");
+      if (this.defaultQueueName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.defaultQueueName);
+      }
+      first = false;
+    }
+    if (isSetDefaultNodeCount()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultNodeCount:");
+      sb.append(this.defaultNodeCount);
+      first = false;
+    }
+    if (isSetDefaultCPUCount()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultCPUCount:");
+      sb.append(this.defaultCPUCount);
+      first = false;
+    }
+    if (isSetEditableByUser()) {
+      if (!first) sb.append(", ");
+      sb.append("editableByUser:");
+      sb.append(this.editableByUser);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1396,6 +1707,8 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
 
   private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
     try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
     } catch (org.apache.thrift.TException te) {
       throw new java.io.IOException(te);
@@ -1582,6 +1895,38 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 13: // DEFAULT_QUEUE_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.defaultQueueName = iprot.readString();
+              struct.setDefaultQueueNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 14: // DEFAULT_NODE_COUNT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.defaultNodeCount = iprot.readI32();
+              struct.setDefaultNodeCountIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 15: // DEFAULT_CPUCOUNT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.defaultCPUCount = iprot.readI32();
+              struct.setDefaultCPUCountIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 16: // EDITABLE_BY_USER
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.editableByUser = iprot.readBool();
+              struct.setEditableByUserIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1711,6 +2056,28 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
           oprot.writeFieldEnd();
         }
       }
+      if (struct.defaultQueueName != null) {
+        if (struct.isSetDefaultQueueName()) {
+          oprot.writeFieldBegin(DEFAULT_QUEUE_NAME_FIELD_DESC);
+          oprot.writeString(struct.defaultQueueName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        oprot.writeFieldBegin(DEFAULT_NODE_COUNT_FIELD_DESC);
+        oprot.writeI32(struct.defaultNodeCount);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        oprot.writeFieldBegin(DEFAULT_CPUCOUNT_FIELD_DESC);
+        oprot.writeI32(struct.defaultCPUCount);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetEditableByUser()) {
+        oprot.writeFieldBegin(EDITABLE_BY_USER_FIELD_DESC);
+        oprot.writeBool(struct.editableByUser);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1755,7 +2122,19 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       if (struct.isSetPostJobCommands()) {
         optionals.set(6);
       }
-      oprot.writeBitSet(optionals, 7);
+      if (struct.isSetDefaultQueueName()) {
+        optionals.set(7);
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        optionals.set(8);
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        optionals.set(9);
+      }
+      if (struct.isSetEditableByUser()) {
+        optionals.set(10);
+      }
+      oprot.writeBitSet(optionals, 11);
       if (struct.isSetAppDeploymentDescription()) {
         oprot.writeString(struct.appDeploymentDescription);
       }
@@ -1813,6 +2192,18 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
           }
         }
       }
+      if (struct.isSetDefaultQueueName()) {
+        oprot.writeString(struct.defaultQueueName);
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        oprot.writeI32(struct.defaultNodeCount);
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        oprot.writeI32(struct.defaultCPUCount);
+      }
+      if (struct.isSetEditableByUser()) {
+        oprot.writeBool(struct.editableByUser);
+      }
     }
 
     @Override
@@ -1828,7 +2219,7 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       struct.setExecutablePathIsSet(true);
       struct.parallelism = org.apache.airavata.model.parallelism.ApplicationParallelismType.findByValue(iprot.readI32());
       struct.setParallelismIsSet(true);
-      BitSet incoming = iprot.readBitSet(7);
+      BitSet incoming = iprot.readBitSet(11);
       if (incoming.get(0)) {
         struct.appDeploymentDescription = iprot.readString();
         struct.setAppDeploymentDescriptionIsSet(true);
@@ -1917,6 +2308,22 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
         }
         struct.setPostJobCommandsIsSet(true);
       }
+      if (incoming.get(7)) {
+        struct.defaultQueueName = iprot.readString();
+        struct.setDefaultQueueNameIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.defaultNodeCount = iprot.readI32();
+        struct.setDefaultNodeCountIsSet(true);
+      }
+      if (incoming.get(9)) {
+        struct.defaultCPUCount = iprot.readI32();
+        struct.setDefaultCPUCountIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.editableByUser = iprot.readBool();
+        struct.setEditableByUserIsSet(true);
+      }
     }
   }
 


[19/20] airavata git commit: Fixed jobstatus not found and complete process if not recovery task found

Posted by sh...@apache.org.
Fixed jobstatus not found and complete process if not recovery task found


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

Branch: refs/heads/auroraMesosIntegration
Commit: 4a92da4956fb097904996f59c37fabdb40a6c375
Parents: 30f187a
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 23:20:49 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 23:20:49 2016 -0400

----------------------------------------------------------------------
 .../apache/airavata/gfac/impl/GFacEngineImpl.java |  5 ++---
 .../gfac/monitor/cloud/AuroraJobMonitor.java      | 18 ++----------------
 2 files changed, 4 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4a92da49/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index 212b246..71750b3 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -615,11 +615,10 @@ public class GFacEngineImpl implements GFacEngine {
             }
             continueProcess(processContext, recoverTaskId);
         } else {
-            log.error("expId: {}, processId: {}, Error while recovering process, couldn't find recovery task",
+            log.error("expId: {}, processId: {}, couldn't find recovery task, mark this as complete ",
                     processContext.getExperimentId(), processContext.getProcessId());
+            processContext.setComplete(true);
         }
-
-
     }
 
     private void cancelJobSubmission(ProcessContext processContext, String rTaskId, String pTaskId) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/4a92da49/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
index e283eee..9b94623 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/cloud/AuroraJobMonitor.java
@@ -167,24 +167,11 @@ public class AuroraJobMonitor implements JobMonitor, Runnable {
 
         private void updateStatus(String jobKey, TaskContext taskContext, JobState jobState) {
             ProcessContext pc = taskContext.getParentProcessContext();
-            ExperimentCatalog experimentCatalog = pc.getExperimentCatalog();
-            Object object;
-            JobStatus prevJobStatus = null;
-            try {
-                CompositeIdentifier ci = new CompositeIdentifier(taskContext.getTaskId(), jobKey);
-                object = experimentCatalog.get(ExperimentCatalogModelType.JOB_STATUS, ci);
-                if (object instanceof JobStatus) {
-                    prevJobStatus = ((JobStatus) object);
-                }
-            } catch (RegistryException e) {
-                log.error("Error while getting job statuses for job : {} , task : {}, process : {}", jobKey,
-                        taskContext.getTaskId(), pc.getProcessId());
-            }
-            if (prevJobStatus == null || prevJobStatus.getJobState() != jobState) {
+            JobModel jobModel = pc.getJobModel();
+            if (jobModel.getJobStatuses().get(0).getJobState() != jobState) {
                 JobStatus jobStatus = new JobStatus(jobState);
                 jobStatus.setReason("Aurora return " + jobState.name());
                 jobStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-                JobModel jobModel = pc.getJobModel();
                 jobModel.setJobStatuses(Arrays.asList(jobStatus));
                 try {
                     GFacUtils.saveJobStatus(pc, jobModel);
@@ -193,7 +180,6 @@ public class AuroraJobMonitor implements JobMonitor, Runnable {
                             jobState.name(), jobKey, taskContext.getTaskId(), pc.getProcessId(), pc.getExperimentId());
                 }
             }
-
         }
 
         private void processJob(String jobKey, TaskContext taskContext, JobState jobState) {


[02/20] airavata git commit: adding node and cpu count preferences to compute resource and application deployment description

Posted by sh...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index d888905..682ab2d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -23,32 +23,15 @@
  */
 package org.apache.airavata.model.appcatalog.computeresource;
 
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.protocol.TTupleProtocol;
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.SchemeFactory;
 import org.apache.thrift.scheme.StandardScheme;
-
 import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
+
 import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.util.*;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 /**
@@ -68,6 +51,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   private static final org.apache.thrift.protocol.TField MAX_PROCESSORS_FIELD_DESC = new org.apache.thrift.protocol.TField("maxProcessors", org.apache.thrift.protocol.TType.I32, (short)5);
   private static final org.apache.thrift.protocol.TField MAX_JOBS_IN_QUEUE_FIELD_DESC = new org.apache.thrift.protocol.TField("maxJobsInQueue", org.apache.thrift.protocol.TType.I32, (short)6);
   private static final org.apache.thrift.protocol.TField MAX_MEMORY_FIELD_DESC = new org.apache.thrift.protocol.TField("maxMemory", org.apache.thrift.protocol.TType.I32, (short)7);
+  private static final org.apache.thrift.protocol.TField CPU_PER_NODE_FIELD_DESC = new org.apache.thrift.protocol.TField("cpuPerNode", org.apache.thrift.protocol.TType.I32, (short)8);
+  private static final org.apache.thrift.protocol.TField DEFAULT_NODE_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultNodeCount", org.apache.thrift.protocol.TType.I32, (short)9);
+  private static final org.apache.thrift.protocol.TField DEFAULT_CPUCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultCPUCount", org.apache.thrift.protocol.TType.I32, (short)10);
+  private static final org.apache.thrift.protocol.TField IS_DEFAULT_QUEUE_FIELD_DESC = new org.apache.thrift.protocol.TField("isDefaultQueue", org.apache.thrift.protocol.TType.BOOL, (short)11);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -82,6 +69,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   private int maxProcessors; // optional
   private int maxJobsInQueue; // optional
   private int maxMemory; // optional
+  private int cpuPerNode; // optional
+  private int defaultNodeCount; // optional
+  private int defaultCPUCount; // optional
+  private boolean isDefaultQueue; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -91,7 +82,11 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     MAX_NODES((short)4, "maxNodes"),
     MAX_PROCESSORS((short)5, "maxProcessors"),
     MAX_JOBS_IN_QUEUE((short)6, "maxJobsInQueue"),
-    MAX_MEMORY((short)7, "maxMemory");
+    MAX_MEMORY((short)7, "maxMemory"),
+    CPU_PER_NODE((short)8, "cpuPerNode"),
+    DEFAULT_NODE_COUNT((short)9, "defaultNodeCount"),
+    DEFAULT_CPUCOUNT((short)10, "defaultCPUCount"),
+    IS_DEFAULT_QUEUE((short)11, "isDefaultQueue");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -120,6 +115,14 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
           return MAX_JOBS_IN_QUEUE;
         case 7: // MAX_MEMORY
           return MAX_MEMORY;
+        case 8: // CPU_PER_NODE
+          return CPU_PER_NODE;
+        case 9: // DEFAULT_NODE_COUNT
+          return DEFAULT_NODE_COUNT;
+        case 10: // DEFAULT_CPUCOUNT
+          return DEFAULT_CPUCOUNT;
+        case 11: // IS_DEFAULT_QUEUE
+          return IS_DEFAULT_QUEUE;
         default:
           return null;
       }
@@ -165,8 +168,12 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   private static final int __MAXPROCESSORS_ISSET_ID = 2;
   private static final int __MAXJOBSINQUEUE_ISSET_ID = 3;
   private static final int __MAXMEMORY_ISSET_ID = 4;
-  private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.QUEUE_DESCRIPTION,_Fields.MAX_RUN_TIME,_Fields.MAX_NODES,_Fields.MAX_PROCESSORS,_Fields.MAX_JOBS_IN_QUEUE,_Fields.MAX_MEMORY};
+  private static final int __CPUPERNODE_ISSET_ID = 5;
+  private static final int __DEFAULTNODECOUNT_ISSET_ID = 6;
+  private static final int __DEFAULTCPUCOUNT_ISSET_ID = 7;
+  private static final int __ISDEFAULTQUEUE_ISSET_ID = 8;
+  private short __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.QUEUE_DESCRIPTION,_Fields.MAX_RUN_TIME,_Fields.MAX_NODES,_Fields.MAX_PROCESSORS,_Fields.MAX_JOBS_IN_QUEUE,_Fields.MAX_MEMORY,_Fields.CPU_PER_NODE,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.IS_DEFAULT_QUEUE};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -184,6 +191,14 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     tmpMap.put(_Fields.MAX_MEMORY, new org.apache.thrift.meta_data.FieldMetaData("maxMemory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.CPU_PER_NODE, new org.apache.thrift.meta_data.FieldMetaData("cpuPerNode", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.DEFAULT_NODE_COUNT, new org.apache.thrift.meta_data.FieldMetaData("defaultNodeCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.DEFAULT_CPUCOUNT, new org.apache.thrift.meta_data.FieldMetaData("defaultCPUCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.IS_DEFAULT_QUEUE, new org.apache.thrift.meta_data.FieldMetaData("isDefaultQueue", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(BatchQueue.class, metaDataMap);
   }
@@ -214,6 +229,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     this.maxProcessors = other.maxProcessors;
     this.maxJobsInQueue = other.maxJobsInQueue;
     this.maxMemory = other.maxMemory;
+    this.cpuPerNode = other.cpuPerNode;
+    this.defaultNodeCount = other.defaultNodeCount;
+    this.defaultCPUCount = other.defaultCPUCount;
+    this.isDefaultQueue = other.isDefaultQueue;
   }
 
   public BatchQueue deepCopy() {
@@ -234,6 +253,14 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     this.maxJobsInQueue = 0;
     setMaxMemoryIsSet(false);
     this.maxMemory = 0;
+    setCpuPerNodeIsSet(false);
+    this.cpuPerNode = 0;
+    setDefaultNodeCountIsSet(false);
+    this.defaultNodeCount = 0;
+    setDefaultCPUCountIsSet(false);
+    this.defaultCPUCount = 0;
+    setIsDefaultQueueIsSet(false);
+    this.isDefaultQueue = false;
   }
 
   public String getQueueName() {
@@ -392,6 +419,94 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXMEMORY_ISSET_ID, value);
   }
 
+  public int getCpuPerNode() {
+    return this.cpuPerNode;
+  }
+
+  public void setCpuPerNode(int cpuPerNode) {
+    this.cpuPerNode = cpuPerNode;
+    setCpuPerNodeIsSet(true);
+  }
+
+  public void unsetCpuPerNode() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CPUPERNODE_ISSET_ID);
+  }
+
+  /** Returns true if field cpuPerNode is set (has been assigned a value) and false otherwise */
+  public boolean isSetCpuPerNode() {
+    return EncodingUtils.testBit(__isset_bitfield, __CPUPERNODE_ISSET_ID);
+  }
+
+  public void setCpuPerNodeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CPUPERNODE_ISSET_ID, value);
+  }
+
+  public int getDefaultNodeCount() {
+    return this.defaultNodeCount;
+  }
+
+  public void setDefaultNodeCount(int defaultNodeCount) {
+    this.defaultNodeCount = defaultNodeCount;
+    setDefaultNodeCountIsSet(true);
+  }
+
+  public void unsetDefaultNodeCount() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTNODECOUNT_ISSET_ID);
+  }
+
+  /** Returns true if field defaultNodeCount is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultNodeCount() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTNODECOUNT_ISSET_ID);
+  }
+
+  public void setDefaultNodeCountIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTNODECOUNT_ISSET_ID, value);
+  }
+
+  public int getDefaultCPUCount() {
+    return this.defaultCPUCount;
+  }
+
+  public void setDefaultCPUCount(int defaultCPUCount) {
+    this.defaultCPUCount = defaultCPUCount;
+    setDefaultCPUCountIsSet(true);
+  }
+
+  public void unsetDefaultCPUCount() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID);
+  }
+
+  /** Returns true if field defaultCPUCount is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultCPUCount() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID);
+  }
+
+  public void setDefaultCPUCountIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID, value);
+  }
+
+  public boolean isIsDefaultQueue() {
+    return this.isDefaultQueue;
+  }
+
+  public void setIsDefaultQueue(boolean isDefaultQueue) {
+    this.isDefaultQueue = isDefaultQueue;
+    setIsDefaultQueueIsSet(true);
+  }
+
+  public void unsetIsDefaultQueue() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ISDEFAULTQUEUE_ISSET_ID);
+  }
+
+  /** Returns true if field isDefaultQueue is set (has been assigned a value) and false otherwise */
+  public boolean isSetIsDefaultQueue() {
+    return EncodingUtils.testBit(__isset_bitfield, __ISDEFAULTQUEUE_ISSET_ID);
+  }
+
+  public void setIsDefaultQueueIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ISDEFAULTQUEUE_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case QUEUE_NAME:
@@ -450,6 +565,38 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       }
       break;
 
+    case CPU_PER_NODE:
+      if (value == null) {
+        unsetCpuPerNode();
+      } else {
+        setCpuPerNode((Integer)value);
+      }
+      break;
+
+    case DEFAULT_NODE_COUNT:
+      if (value == null) {
+        unsetDefaultNodeCount();
+      } else {
+        setDefaultNodeCount((Integer)value);
+      }
+      break;
+
+    case DEFAULT_CPUCOUNT:
+      if (value == null) {
+        unsetDefaultCPUCount();
+      } else {
+        setDefaultCPUCount((Integer)value);
+      }
+      break;
+
+    case IS_DEFAULT_QUEUE:
+      if (value == null) {
+        unsetIsDefaultQueue();
+      } else {
+        setIsDefaultQueue((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -476,6 +623,18 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     case MAX_MEMORY:
       return getMaxMemory();
 
+    case CPU_PER_NODE:
+      return getCpuPerNode();
+
+    case DEFAULT_NODE_COUNT:
+      return getDefaultNodeCount();
+
+    case DEFAULT_CPUCOUNT:
+      return getDefaultCPUCount();
+
+    case IS_DEFAULT_QUEUE:
+      return isIsDefaultQueue();
+
     }
     throw new IllegalStateException();
   }
@@ -501,6 +660,14 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       return isSetMaxJobsInQueue();
     case MAX_MEMORY:
       return isSetMaxMemory();
+    case CPU_PER_NODE:
+      return isSetCpuPerNode();
+    case DEFAULT_NODE_COUNT:
+      return isSetDefaultNodeCount();
+    case DEFAULT_CPUCOUNT:
+      return isSetDefaultCPUCount();
+    case IS_DEFAULT_QUEUE:
+      return isSetIsDefaultQueue();
     }
     throw new IllegalStateException();
   }
@@ -581,6 +748,42 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         return false;
     }
 
+    boolean this_present_cpuPerNode = true && this.isSetCpuPerNode();
+    boolean that_present_cpuPerNode = true && that.isSetCpuPerNode();
+    if (this_present_cpuPerNode || that_present_cpuPerNode) {
+      if (!(this_present_cpuPerNode && that_present_cpuPerNode))
+        return false;
+      if (this.cpuPerNode != that.cpuPerNode)
+        return false;
+    }
+
+    boolean this_present_defaultNodeCount = true && this.isSetDefaultNodeCount();
+    boolean that_present_defaultNodeCount = true && that.isSetDefaultNodeCount();
+    if (this_present_defaultNodeCount || that_present_defaultNodeCount) {
+      if (!(this_present_defaultNodeCount && that_present_defaultNodeCount))
+        return false;
+      if (this.defaultNodeCount != that.defaultNodeCount)
+        return false;
+    }
+
+    boolean this_present_defaultCPUCount = true && this.isSetDefaultCPUCount();
+    boolean that_present_defaultCPUCount = true && that.isSetDefaultCPUCount();
+    if (this_present_defaultCPUCount || that_present_defaultCPUCount) {
+      if (!(this_present_defaultCPUCount && that_present_defaultCPUCount))
+        return false;
+      if (this.defaultCPUCount != that.defaultCPUCount)
+        return false;
+    }
+
+    boolean this_present_isDefaultQueue = true && this.isSetIsDefaultQueue();
+    boolean that_present_isDefaultQueue = true && that.isSetIsDefaultQueue();
+    if (this_present_isDefaultQueue || that_present_isDefaultQueue) {
+      if (!(this_present_isDefaultQueue && that_present_isDefaultQueue))
+        return false;
+      if (this.isDefaultQueue != that.isDefaultQueue)
+        return false;
+    }
+
     return true;
   }
 
@@ -623,6 +826,26 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     if (present_maxMemory)
       list.add(maxMemory);
 
+    boolean present_cpuPerNode = true && (isSetCpuPerNode());
+    list.add(present_cpuPerNode);
+    if (present_cpuPerNode)
+      list.add(cpuPerNode);
+
+    boolean present_defaultNodeCount = true && (isSetDefaultNodeCount());
+    list.add(present_defaultNodeCount);
+    if (present_defaultNodeCount)
+      list.add(defaultNodeCount);
+
+    boolean present_defaultCPUCount = true && (isSetDefaultCPUCount());
+    list.add(present_defaultCPUCount);
+    if (present_defaultCPUCount)
+      list.add(defaultCPUCount);
+
+    boolean present_isDefaultQueue = true && (isSetIsDefaultQueue());
+    list.add(present_isDefaultQueue);
+    if (present_isDefaultQueue)
+      list.add(isDefaultQueue);
+
     return list.hashCode();
   }
 
@@ -704,6 +927,46 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetCpuPerNode()).compareTo(other.isSetCpuPerNode());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCpuPerNode()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cpuPerNode, other.cpuPerNode);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDefaultNodeCount()).compareTo(other.isSetDefaultNodeCount());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultNodeCount()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultNodeCount, other.defaultNodeCount);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDefaultCPUCount()).compareTo(other.isSetDefaultCPUCount());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultCPUCount()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultCPUCount, other.defaultCPUCount);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetIsDefaultQueue()).compareTo(other.isSetIsDefaultQueue());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetIsDefaultQueue()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isDefaultQueue, other.isDefaultQueue);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -771,6 +1034,30 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       sb.append(this.maxMemory);
       first = false;
     }
+    if (isSetCpuPerNode()) {
+      if (!first) sb.append(", ");
+      sb.append("cpuPerNode:");
+      sb.append(this.cpuPerNode);
+      first = false;
+    }
+    if (isSetDefaultNodeCount()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultNodeCount:");
+      sb.append(this.defaultNodeCount);
+      first = false;
+    }
+    if (isSetDefaultCPUCount()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultCPUCount:");
+      sb.append(this.defaultCPUCount);
+      first = false;
+    }
+    if (isSetIsDefaultQueue()) {
+      if (!first) sb.append(", ");
+      sb.append("isDefaultQueue:");
+      sb.append(this.isDefaultQueue);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -876,6 +1163,38 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 8: // CPU_PER_NODE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.cpuPerNode = iprot.readI32();
+              struct.setCpuPerNodeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // DEFAULT_NODE_COUNT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.defaultNodeCount = iprot.readI32();
+              struct.setDefaultNodeCountIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // DEFAULT_CPUCOUNT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.defaultCPUCount = iprot.readI32();
+              struct.setDefaultCPUCountIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // IS_DEFAULT_QUEUE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.isDefaultQueue = iprot.readBool();
+              struct.setIsDefaultQueueIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -926,6 +1245,26 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         oprot.writeI32(struct.maxMemory);
         oprot.writeFieldEnd();
       }
+      if (struct.isSetCpuPerNode()) {
+        oprot.writeFieldBegin(CPU_PER_NODE_FIELD_DESC);
+        oprot.writeI32(struct.cpuPerNode);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        oprot.writeFieldBegin(DEFAULT_NODE_COUNT_FIELD_DESC);
+        oprot.writeI32(struct.defaultNodeCount);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        oprot.writeFieldBegin(DEFAULT_CPUCOUNT_FIELD_DESC);
+        oprot.writeI32(struct.defaultCPUCount);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetIsDefaultQueue()) {
+        oprot.writeFieldBegin(IS_DEFAULT_QUEUE_FIELD_DESC);
+        oprot.writeBool(struct.isDefaultQueue);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -963,7 +1302,19 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       if (struct.isSetMaxMemory()) {
         optionals.set(5);
       }
-      oprot.writeBitSet(optionals, 6);
+      if (struct.isSetCpuPerNode()) {
+        optionals.set(6);
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        optionals.set(7);
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        optionals.set(8);
+      }
+      if (struct.isSetIsDefaultQueue()) {
+        optionals.set(9);
+      }
+      oprot.writeBitSet(optionals, 10);
       if (struct.isSetQueueDescription()) {
         oprot.writeString(struct.queueDescription);
       }
@@ -982,6 +1333,18 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       if (struct.isSetMaxMemory()) {
         oprot.writeI32(struct.maxMemory);
       }
+      if (struct.isSetCpuPerNode()) {
+        oprot.writeI32(struct.cpuPerNode);
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        oprot.writeI32(struct.defaultNodeCount);
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        oprot.writeI32(struct.defaultCPUCount);
+      }
+      if (struct.isSetIsDefaultQueue()) {
+        oprot.writeBool(struct.isDefaultQueue);
+      }
     }
 
     @Override
@@ -989,7 +1352,7 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.queueName = iprot.readString();
       struct.setQueueNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(6);
+      BitSet incoming = iprot.readBitSet(10);
       if (incoming.get(0)) {
         struct.queueDescription = iprot.readString();
         struct.setQueueDescriptionIsSet(true);
@@ -1014,6 +1377,22 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         struct.maxMemory = iprot.readI32();
         struct.setMaxMemoryIsSet(true);
       }
+      if (incoming.get(6)) {
+        struct.cpuPerNode = iprot.readI32();
+        struct.setCpuPerNodeIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.defaultNodeCount = iprot.readI32();
+        struct.setDefaultNodeCountIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.defaultCPUCount = iprot.readI32();
+        struct.setDefaultCPUCountIsSet(true);
+      }
+      if (incoming.get(9)) {
+        struct.isDefaultQueue = iprot.readBool();
+        struct.setIsDefaultQueueIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationDeploymentImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationDeploymentImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationDeploymentImpl.java
index 9d49f0a..12c8ce6 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationDeploymentImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationDeploymentImpl.java
@@ -64,6 +64,10 @@ public class ApplicationDeploymentImpl implements ApplicationDeployment {
             deploymentResource.setAppDes(deploymentDescription.getAppDeploymentDescription());
             deploymentResource.setExecutablePath(deploymentDescription.getExecutablePath());
             deploymentResource.setGatewayId(gatewayId);
+            deploymentResource.setDefaultQueueName(deploymentDescription.getDefaultQueueName());
+            deploymentResource.setDefaultCPUCount(deploymentDescription.getDefaultCPUCount());
+            deploymentResource.setDefaultNodeCount(deploymentDescription.getDefaultNodeCount());
+            deploymentResource.setEditableByUser(deploymentDescription.isEditableByUser());
             ApplicationParallelismType parallelism = deploymentDescription.getParallelism();
             if (parallelism != null){
                 deploymentResource.setParallelism(parallelism.toString());
@@ -168,6 +172,10 @@ public class ApplicationDeploymentImpl implements ApplicationDeployment {
             existingDep.setHostResource((ComputeResourceResource)computeHostResource.get(updatedDeployment.getComputeHostId()));
             existingDep.setAppDes(updatedDeployment.getAppDeploymentDescription());
             existingDep.setExecutablePath(updatedDeployment.getExecutablePath());
+            existingDep.setDefaultQueueName(updatedDeployment.getDefaultQueueName());
+            existingDep.setDefaultCPUCount(updatedDeployment.getDefaultCPUCount());
+            existingDep.setDefaultNodeCount(updatedDeployment.getDefaultNodeCount());
+            existingDep.setEditableByUser(updatedDeployment.isEditableByUser());
             if (updatedDeployment.getParallelism() != null){
                 existingDep.setParallelism(updatedDeployment.getParallelism().toString());
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationDeployment.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationDeployment.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationDeployment.java
index 6289413..8ef5d96 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationDeployment.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationDeployment.java
@@ -43,7 +43,15 @@ public class ApplicationDeployment implements Serializable {
     private String parallelism;
     @Column(name = "GATEWAY_ID")
     private String gatewayId;
-    
+    @Column(name = "DEFAULT_QUEUE_NAME")
+    private String defaultQueueName;
+    @Column(name = "DEFAULT_NODE_COUNT")
+    private int defaultNodeCount;
+    @Column(name = "DEFAULT_CPU_COUNT")
+    private int defaultCPUCount;
+    @Column(name = "EDITABLE_BY_USER")
+    private boolean editableByUser;
+
     @ManyToOne(cascade= CascadeType.MERGE)
     @JoinColumn(name = "APP_MODULE_ID")
     private ApplicationModule applicationModule;
@@ -145,4 +153,36 @@ public class ApplicationDeployment implements Serializable {
 	public void setParallelism(String parallelism) {
 		this.parallelism = parallelism;
 	}
+
+    public String getDefaultQueueName() {
+        return defaultQueueName;
+    }
+
+    public void setDefaultQueueName(String defaultQueueName) {
+        this.defaultQueueName = defaultQueueName;
+    }
+
+    public int getDefaultNodeCount() {
+        return defaultNodeCount;
+    }
+
+    public void setDefaultNodeCount(int defaultNodeCount) {
+        this.defaultNodeCount = defaultNodeCount;
+    }
+
+    public int getDefaultCPUCount() {
+        return defaultCPUCount;
+    }
+
+    public void setDefaultCPUCount(int defaultCPUCount) {
+        this.defaultCPUCount = defaultCPUCount;
+    }
+
+    public boolean isEditableByUser() {
+        return editableByUser;
+    }
+
+    public void setEditableByUser(boolean editableByUser) {
+        this.editableByUser = editableByUser;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
index 76dd452..a8f5b4c 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
@@ -59,6 +59,18 @@ public class BatchQueue implements Serializable {
     @Column(name = "MAX_MEMORY")
     private int maxMemory;
 
+	@Column(name = "CPU_PER_NODE")
+	private int cpuPerNode;
+
+	@Column(name = "DEFAULT_NODE_COUNT")
+	private int defaultNodeCount;
+
+	@Column(name = "DEFAULT_CPU_COUNT")
+	private int defaultCPUCount;
+
+	@Column(name = "IS_DEFAULT_QUEUE")
+	private boolean isDefaultQueue;
+
     public int getMaxMemory() {
         return maxMemory;
     }
@@ -130,4 +142,36 @@ public class BatchQueue implements Serializable {
 	public void setMaxNodes(int maxNodes) {
 		this.maxNodes=maxNodes;
 	}
+
+	public int getCpuPerNode() {
+		return cpuPerNode;
+	}
+
+	public void setCpuPerNode(int cpuPerNode) {
+		this.cpuPerNode = cpuPerNode;
+	}
+
+	public int getDefaultNodeCount() {
+		return defaultNodeCount;
+	}
+
+	public void setDefaultNodeCount(int defaultNodeCount) {
+		this.defaultNodeCount = defaultNodeCount;
+	}
+
+	public int getDefaultCPUCount() {
+		return defaultCPUCount;
+	}
+
+	public void setDefaultCPUCount(int defaultCPUCount) {
+		this.defaultCPUCount = defaultCPUCount;
+	}
+
+	public boolean isDefaultQueue() {
+		return isDefaultQueue;
+	}
+
+	public void setIsDefaultQueue(boolean isDefaultQueue) {
+		this.isDefaultQueue = isDefaultQueue;
+	}
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
index 2d563e3..e60e432 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
@@ -48,6 +48,10 @@ public class AppDeploymentResource extends AppCatAbstractResource {
     private String parallelism;
     private String appDes;
     private String gatewayId;
+    private String defaultQueueName;
+    private int defaultNodeCount;
+    private int defaultCPUCount;
+    private boolean editableByUser;
     private ComputeResourceResource hostResource;
     private AppModuleResource moduleResource;
     private Timestamp createdTime;
@@ -133,6 +137,38 @@ public class AppDeploymentResource extends AppCatAbstractResource {
         this.moduleResource = moduleResource;
     }
 
+    public String getDefaultQueueName() {
+        return defaultQueueName;
+    }
+
+    public void setDefaultQueueName(String defaultQueueName) {
+        this.defaultQueueName = defaultQueueName;
+    }
+
+    public int getDefaultNodeCount() {
+        return defaultNodeCount;
+    }
+
+    public void setDefaultNodeCount(int defaultNodeCount) {
+        this.defaultNodeCount = defaultNodeCount;
+    }
+
+    public int getDefaultCPUCount() {
+        return defaultCPUCount;
+    }
+
+    public void setDefaultCPUCount(int defaultCPUCount) {
+        this.defaultCPUCount = defaultCPUCount;
+    }
+
+    public boolean isEditableByUser() {
+        return editableByUser;
+    }
+
+    public void setEditableByUser(boolean editableByUser) {
+        this.editableByUser = editableByUser;
+    }
+
     @Override
     public void remove(Object identifier) throws AppCatalogException {
         EntityManager em = null;
@@ -423,6 +459,10 @@ public class AppDeploymentResource extends AppCatAbstractResource {
                 existingDeployment.setExecutablePath(executablePath);
                 existingDeployment.setParallelism(parallelism);
                 existingDeployment.setGatewayId(gatewayId);
+                existingDeployment.setDefaultQueueName(defaultQueueName);
+                existingDeployment.setDefaultCPUCount(defaultCPUCount);
+                existingDeployment.setDefaultNodeCount(defaultNodeCount);
+                existingDeployment.setEditableByUser(editableByUser);
                 existingDeployment.setUpdateTime(AiravataUtils.getCurrentTimestamp());
                 em.merge(existingDeployment);
             }else {
@@ -436,6 +476,10 @@ public class AppDeploymentResource extends AppCatAbstractResource {
                 deployment.setExecutablePath(executablePath);
                 deployment.setParallelism(parallelism);
                 deployment.setGatewayId(gatewayId);
+                deployment.setDefaultQueueName(defaultQueueName);
+                deployment.setDefaultCPUCount(defaultCPUCount);
+                deployment.setDefaultNodeCount(defaultNodeCount);
+                deployment.setEditableByUser(editableByUser);
                 deployment.setCreationTime(AiravataUtils.getCurrentTimestamp());
                 em.persist(deployment);
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
index 4fc8a49..8a12881 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
@@ -21,14 +21,6 @@
 
 package org.apache.airavata.registry.core.app.catalog.resources;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.registry.core.app.catalog.model.BatchQueue;
 import org.apache.airavata.registry.core.app.catalog.model.BatchQueue_PK;
@@ -40,6 +32,13 @@ import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 public class BatchQueueResource extends AppCatAbstractResource {
 	private final static Logger logger = LoggerFactory.getLogger(BatchQueueResource.class);
 	private String computeResourceId;
@@ -51,6 +50,11 @@ public class BatchQueueResource extends AppCatAbstractResource {
 	private int maxProcessors;
 	private int maxNodes;
 	private int maxMemory;
+	private int cpuPerNode;
+	private int defaultNodeCount;
+	private int defaultCPUCount;
+	private boolean isDefaultQueue;
+
 
 	@Override
 	public void remove(Object identifier) throws AppCatalogException {
@@ -270,6 +274,10 @@ public class BatchQueueResource extends AppCatAbstractResource {
 			batchQueue.setMaxProcessors(getMaxProcessors());
 			batchQueue.setMaxNodes(getMaxNodes());
 			batchQueue.setMaxMemory(getMaxMemory());
+			batchQueue.setCpuPerNode(getCpuPerNode());
+			batchQueue.setDefaultCPUCount(getDefaultCPUCount());
+			batchQueue.setDefaultNodeCount(getDefaultNodeCount());
+			batchQueue.setIsDefaultQueue(isDefaultQueue());
 			if (existingBatchQueue == null) {
 				em.persist(batchQueue);
 			} else {
@@ -399,4 +407,36 @@ public class BatchQueueResource extends AppCatAbstractResource {
     public void setMaxMemory(int maxMemory) {
         this.maxMemory = maxMemory;
     }
+
+	public int getCpuPerNode() {
+		return cpuPerNode;
+	}
+
+	public void setCpuPerNode(int cpuPerNode) {
+		this.cpuPerNode = cpuPerNode;
+	}
+
+	public int getDefaultNodeCount() {
+		return defaultNodeCount;
+	}
+
+	public void setDefaultNodeCount(int defaultNodeCount) {
+		this.defaultNodeCount = defaultNodeCount;
+	}
+
+	public int getDefaultCPUCount() {
+		return defaultCPUCount;
+	}
+
+	public void setDefaultCPUCount(int defaultCPUCount) {
+		this.defaultCPUCount = defaultCPUCount;
+	}
+
+	public boolean isDefaultQueue() {
+		return isDefaultQueue;
+	}
+
+	public void setIsDefaultQueue(boolean isDefaultQueue) {
+		this.isDefaultQueue = isDefaultQueue;
+	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
index 40ee0ee..0c3918d 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
@@ -519,6 +519,10 @@ public class AppCatalogJPAUtils {
             batchQueueResource.setMaxProcessors(o.getMaxProcessors());
             batchQueueResource.setMaxNodes(o.getMaxNodes());
             batchQueueResource.setMaxMemory(o.getMaxMemory());
+            batchQueueResource.setCpuPerNode(o.getCpuPerNode());
+            batchQueueResource.setDefaultNodeCount(o.getDefaultNodeCount());
+            batchQueueResource.setDefaultCPUCount(o.getDefaultCPUCount());
+            batchQueueResource.setIsDefaultQueue(o.isDefaultQueue());
         }
         return batchQueueResource;
     }
@@ -755,6 +759,10 @@ public class AppCatalogJPAUtils {
             resource.setExecutablePath(o.getExecutablePath());
             resource.setGatewayId(o.getGatewayId());
             resource.setParallelism(o.getParallelism());
+            resource.setDefaultQueueName(o.getDefaultQueueName());
+            resource.setDefaultNodeCount(o.getDefaultNodeCount());
+            resource.setDefaultCPUCount(o.getDefaultCPUCount());
+            resource.setEditableByUser(o.isEditableByUser());
             resource.setModuleResource((AppModuleResource) createApplicationModule(o.getApplicationModule()));
             resource.setHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));
             resource.setCreatedTime(o.getCreationTime());

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
index 8ddf4f6..78026a5 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
@@ -256,6 +256,10 @@ public class AppCatalogThriftConversion {
     	batchQueue.setMaxMemory(resource.getMaxMemory());
     	batchQueue.setQueueDescription(resource.getQueueDescription());
     	batchQueue.setQueueName(resource.getQueueName());
+        batchQueue.setCpuPerNode(resource.getCpuPerNode());
+        batchQueue.setDefaultNodeCount(resource.getDefaultNodeCount());
+        batchQueue.setDefaultCPUCount(resource.getDefaultCPUCount());
+        batchQueue.setIsDefaultQueue(resource.isDefaultQueue());
         return batchQueue;
     }
 
@@ -268,6 +272,10 @@ public class AppCatalogThriftConversion {
     	batchQueue.setQueueDescription(resource.getQueueDescription());
     	batchQueue.setQueueName(resource.getQueueName());
     	batchQueue.setMaxMemory(resource.getMaxMemory());
+        batchQueue.setCpuPerNode(resource.getCpuPerNode());
+        batchQueue.setDefaultCPUCount(resource.getDefaultCPUCount());
+        batchQueue.setDefaultNodeCount(resource.getDefaultNodeCount());
+        batchQueue.setIsDefaultQueue(resource.isIsDefaultQueue());
         return batchQueue;
     }
     
@@ -714,6 +722,11 @@ public class AppCatalogThriftConversion {
             description.setParallelism(ApplicationParallelismType.valueOf(resource.getParallelism()));
         }
         description.setAppDeploymentDescription(resource.getAppDes());
+        description.setDefaultQueueName(resource.getDefaultQueueName());
+        description.setDefaultCPUCount(resource.getDefaultCPUCount());
+        description.setDefaultNodeCount(resource.getDefaultNodeCount());
+        description.setEditableByUser(resource.isEditableByUser());
+
         ModuleLoadCmdResource cmdResource = new ModuleLoadCmdResource();
         List<AppCatalogResource> moduleLoadCmds = cmdResource.get(AppCatAbstractResource.ModuleLoadCmdConstants.APP_DEPLOYMENT_ID, resource.getDeploymentId());
         if (moduleLoadCmds != null && !moduleLoadCmds.isEmpty()){

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
index 36c3012..4716f98 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
@@ -206,6 +206,10 @@ CREATE TABLE APPLICATION_DEPLOYMENT
          CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
          UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
          GATEWAY_ID VARCHAR(255),
+         DEFAULT_QUEUE_NAME VARCHAR(255),
+         DEFAULT_NODE_COUNT INTEGER,
+         DEFAULT_CPU_COUNT INTEGER,
+         EDITABLE_BY_USER BOOLEAN,
          PRIMARY KEY(DEPLOYMENT_ID),
          FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
          FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
@@ -361,6 +365,10 @@ CREATE TABLE BATCH_QUEUE
         MAX_PROCESSORS INTEGER,
         MAX_NODES INTEGER,
         MAX_MEMORY INTEGER,
+        CPU_PER_NODE INTEGER,
+        DEFAULT_NODE_COUNT INTEGER,
+        DEFAULT_CPU_COUNT INTEGER,
+        IS_DEFAULT_QUEUE BOOLEAN,
         PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
         FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
index ced2043..4ef7c4b 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
@@ -213,6 +213,10 @@ CREATE TABLE APPLICATION_DEPLOYMENT
 	       CREATION_TIME TIMESTAMP DEFAULT NOW(),
          UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ,
          GATEWAY_ID VARCHAR(255),
+         DEFAULT_QUEUE_NAME VARCHAR(255),
+         DEFAULT_NODE_COUNT INTEGER,
+         DEFAULT_CPU_COUNT INTEGER,
+         EDITABLE_BY_USER TINYINT(1),
          PRIMARY KEY(DEPLOYMENT_ID),
          FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
          FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
@@ -360,6 +364,10 @@ CREATE TABLE BATCH_QUEUE
         MAX_PROCESSORS INTEGER,
         MAX_NODES INTEGER,
         MAX_MEMORY INTEGER,
+        CPU_PER_NODE INTEGER,
+        DEFAULT_NODE_COUNT INTEGER,
+        DEFAULT_CPU_COUNT INTEGER,
+        IS_DEFAULT_QUEUE TINYINT(1),
         PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
         FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/thrift-interface-descriptions/data-models/app-catalog-models/application_deployment_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/app-catalog-models/application_deployment_model.thrift b/thrift-interface-descriptions/data-models/app-catalog-models/application_deployment_model.thrift
index ab105ae..7dcf1fe 100644
--- a/thrift-interface-descriptions/data-models/app-catalog-models/application_deployment_model.thrift
+++ b/thrift-interface-descriptions/data-models/app-catalog-models/application_deployment_model.thrift
@@ -126,4 +126,8 @@ struct ApplicationDeploymentDescription {
 	10: optional list<SetEnvPaths> setEnvironment,
 	11: optional list<CommandObject> preJobCommands,
 	12: optional list<CommandObject> postJobCommands,
+	13: optional string defaultQueueName,
+	14: optional i32 defaultNodeCount,
+	15: optional i32 defaultCPUCount,
+	16: optional bool editableByUser
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
index ea1d64d..5ca2728 100644
--- a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
+++ b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
@@ -154,7 +154,11 @@ struct BatchQueue {
     4: optional i32 maxNodes,
     5: optional i32 maxProcessors,
     6: optional i32 maxJobsInQueue,
-    7: optional i32 maxMemory
+    7: optional i32 maxMemory,
+    8: optional i32 cpuPerNode,
+    9: optional i32 defaultNodeCount,
+    10: optional i32 defaultCPUCount,
+    11: optional bool isDefaultQueue
 }
 
 


[20/20] airavata git commit: Deletege cloud environment creation task to common env setup task

Posted by sh...@apache.org.
Deletege cloud environment creation task to common env setup task


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

Branch: refs/heads/auroraMesosIntegration
Commit: bf5d8c79645adf161d9121bb84ffcb4acd86f382
Parents: 4a92da4
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Nov 1 23:30:00 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Nov 1 23:30:00 2016 -0400

----------------------------------------------------------------------
 .../org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java  | 4 ++--
 .../airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java   | 4 +---
 2 files changed, 3 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/bf5d8c79/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
index 02af9a3..6035cec 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AuroraJobSubmission.java
@@ -86,11 +86,11 @@ public class AuroraJobSubmission implements JobSubmissionTask{
             IdentityBean owner = new IdentityBean(AuroraUtils.ROLE);
             // only autodoc vina
             String workingDir = taskContext.getWorkingDir();
-            ProcessBean proc1 = new ProcessBean("process_1", "mkdir -p " + workingDir, false);
+//            ProcessBean proc1 = new ProcessBean("process_1", "mkdir -p " + workingDir, false);
             ProcessBean proc2 = new ProcessBean("process_2", "cp -rf /home/centos/efs-mount-point/autodock-vina/* " + workingDir , false);
             ProcessBean proc3 = new ProcessBean("process_3", "cd " + workingDir + " && ./vina_screenM.sh", false);
             Set<ProcessBean> processes = new LinkedHashSet<>();
-            processes.add(proc1);
+//            processes.add(proc1);
             processes.add(proc2);
             processes.add(proc3);
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bf5d8c79/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
index 66bf5ca..b97e79a 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
@@ -291,9 +291,7 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
                 // TODO - breakdown unicore all in one task to multiple tasks, then we don't need to handle UNICORE here.
                 taskIdList.addAll(createAndSaveSubmissionTasks(gatewayId, preferredJobSubmissionInterface, processModel, userGivenWallTime));
             } else {
-                if(resourcePreference.getPreferredJobSubmissionProtocol() != JobSubmissionProtocol.CLOUD){
-                    taskIdList.addAll(createAndSaveEnvSetupTask(gatewayId, processModel, experimentCatalog));
-                }
+                taskIdList.addAll(createAndSaveEnvSetupTask(gatewayId, processModel, experimentCatalog));
                 taskIdList.addAll(createAndSaveInputDataStagingTasks(processModel, gatewayId));
                 if (autoSchedule) {
                     List<BatchQueue> definedBatchQueues = computeResource.getBatchQueues();