Author: samindaw
Date: Fri Dec 21 21:40:54 2012
New Revision: 1425154
URL: http://svn.apache.org/viewvc?rev=1425154&view=rev
Log:
WorkflowScheduling settings API interface
Added:
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java
(with props)
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
(with props)
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java
(with props)
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
(with props)
Added:
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java
URL:
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java?rev=1425154&view=auto
==============================================================================
---
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java
(added)
+++
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java
Fri Dec 21 21:40:54 2012
@@ -0,0 +1,111 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.client.api;
+
+public interface HPCSchedulingSettings {
+
+ /**
+ * Get the job manager to use for this job submission
+ * @return
+ */
+ public String getJobManager();
+
+ /**
+ * Get the no of CPU cores to allocate for this job
+ * @return
+ */
+ public int getCPUCount();
+
+ /**
+ * Get the no of nodes to allocate for this job
+ * @return
+ */
+ public int getNodeCount();
+
+ /**
+ * Get the job queue name
+ * @return
+ */
+ public String getQueueName();
+
+ /**
+ * Get the maximum time the job should be allocated for execution
+ * @return
+ */
+ public int getMaxWallTime();
+
+ /**
+ * Set the job manager to use for this job submission
+ * @param jobManager
+ */
+ public void setJobManager(String jobManager);
+
+ /**
+ * Set the no of CPU cores to allocate for this job
+ * @param cpuCount
+ */
+ public void setCPUCount(Integer cpuCount);
+
+ /**
+ * Set the no of nodes to allocate for this job
+ * @param nodeCount
+ */
+ public void setNodeCount(Integer nodeCount);
+
+ /**
+ * Set the job queue name
+ * @param queueName
+ */
+ public void setQueueName(String queueName);
+
+ /**
+ * Set the maximum time the job should be allocated for execution
+ * @param maxWallTime
+ */
+ public void setMaxWallTime(Integer maxWallTime);
+
+ /**
+ * Reset the job manager values
+ */
+ public void resetJobManager();
+
+ /**
+ * Reset the CPU count
+ */
+ public void resetCPUCount();
+
+ /**
+ * Reset the Node count
+ */
+ public void resetNodeCount();
+
+ /**
+ * Reset the queue name for the job
+ */
+ public void resetQueueName();
+
+ /**
+ * Reset the maximum time allocated for the job
+ */
+ public void resetMaxWallTime();
+
+}
Propchange:
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
URL:
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java?rev=1425154&view=auto
==============================================================================
---
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
(added)
+++
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
Fri Dec 21 21:40:54 2012
@@ -0,0 +1,71 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.client.api;
+
+public interface HostSchedulingSettings {
+
+ /**
+ * Get the id of the host descriptor
+ * @return
+ */
+ public String getHostId();
+
+ /**
+ * Using WS-Gram or not (Pre WS-GRAM)
+ * @return
+ */
+ public boolean isWSGRAMPreffered();
+
+ /**
+ * Get the gatekeeper endpoint reference
+ * @return
+ */
+ public String getGatekeeperEPR();
+
+ /**
+ * Set the id of the host descriptor use
+ * @param hostId
+ */
+ public void setHostId(String hostId);
+
+ /**
+ * Set whether to use WS-GRAM or Pre WS-GRAM
+ * @param wsgramPreffered
+ */
+ public void setWSGramPreffered(boolean wsgramPreffered);
+
+ /**
+ * Set the gatekeeper endpoint reference
+ * @param gatekeeperEPR
+ */
+ public void setGatekeeperEPR(String gatekeeperEPR);
+
+ /**
+ * reset the values for the WS-GRAM preference
+ */
+ public void resetWSGramPreffered();
+
+ /**
+ * Reset the values for gatekeeper endpoint reference
+ */
+ public void resetGatekeeperEPR();
+}
Propchange:
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java
URL:
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java?rev=1425154&view=auto
==============================================================================
---
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java
(added)
+++
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java
Fri Dec 21 21:40:54 2012
@@ -0,0 +1,61 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.client.api;
+
+public interface NodeSettings {
+
+ /**
+ * Get the id of the node in the workflow
+ * @return
+ */
+ public String getNodeId();
+
+ /**
+ * Get the id of the service descriptor which the node binds to
+ * @return
+ */
+ public String getServiceId();
+
+ /**
+ * host settings for the service descriptor
+ * @return
+ */
+ public HostSchedulingSettings getHostSettings();
+
+ /**
+ * HPC settings for the grid application exposed by the service
descriptor
+ * @return
+ */
+ public HPCSchedulingSettings getHPCSettings();
+
+ /**
+ * Set the node Id of the workflow
+ * @param nodeId
+ */
+ public void setNodeId(String nodeId);
+
+ /**
+ * Set the id of the service descriptor which the node should binds to
+ * @param serviceId
+ */
+ public void setServiceId(String serviceId);
+}
Propchange:
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
URL:
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java?rev=1425154&view=auto
==============================================================================
---
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
(added)
+++
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
Fri Dec 21 21:40:54 2012
@@ -0,0 +1,79 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.client.api;
+
+public interface WorkflowSchedulingSettings {
+
+ /**
+ * Get all currently defined scheduling settings for the workflow node
+ * @return
+ */
+ public NodeSettings[] getNodeSettings();
+
+ /**
+ * Add and return a new Node scheduling settings
+ * @param nodeId
+ * @return
+ */
+ public NodeSettings addNewNodeSettings(String nodeId);
+
+ /**
+ * Add and return a new Node scheduling settings
+ * @param nodeId
+ * @param serviceId
+ * @param cpuCount
+ * @param nodeCount
+ * @return
+ */
+ public NodeSettings addNewNodeSettings(String nodeId, String serviceId,
int cpuCount, int nodeCount);
+
+ /**
+ * Add a list of Node scheduling settings
+ * @param nodeSettings
+ */
+ public void addNewNodeSettings(NodeSettings...nodeSettings);
+
+ /**
+ * Is there a Node scheduling settings defined for the given node id
+ * @param nodeId
+ * @return
+ */
+ public boolean hasNodeSettings(String nodeId);
+
+ /**
+ * Return the Node scheduling settings for the given node Id
+ * @param nodeId
+ * @return
+ */
+ public NodeSettings getNodeSettings(String nodeId);
+
+ /**
+ * Remove the node scheduling settings given by the node Id
+ * @param nodeId
+ */
+ public void removeNodeSettings(String nodeId);
+
+ /**
+ * Clear all node scheduling settings
+ */
+ public void removeAllNodeSettings();
+}
Propchange:
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
------------------------------------------------------------------------------
svn:mime-type = text/plain