You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2015/03/27 20:50:51 UTC
airavata git commit: adding gateways, ssh credentials,
projects and compute resources - AIRAVATA-1652
Repository: airavata
Updated Branches:
refs/heads/master a8cf35fc7 -> f5a2eac62
adding gateways, ssh credentials, projects and compute resources - AIRAVATA-1652
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/f5a2eac6
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/f5a2eac6
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/f5a2eac6
Branch: refs/heads/master
Commit: f5a2eac628291bd218c872eeb6798149441d6a9d
Parents: a8cf35f
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Fri Mar 27 15:50:46 2015 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Fri Mar 27 15:50:46 2015 -0400
----------------------------------------------------------------------
.../test-suite/multi-tenanted-airavata/pom.xml | 10 ++
.../multitenantedairavata/AiravataClient.java | 6 +-
.../ApplicationRegister.java | 25 +++
.../ComputeResourceRegister.java | 117 ++++++++++++
.../testsuite/multitenantedairavata/Setup.java | 178 ++++++++++++++++++-
.../utils/PropertyReader.java | 2 +-
.../utils/TestFrameworkConstants.java | 9 +
.../main/resources/airavata-client.properties | 11 ++
8 files changed, 352 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a2eac6/modules/test-suite/multi-tenanted-airavata/pom.xml
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/pom.xml b/modules/test-suite/multi-tenanted-airavata/pom.xml
index 3275c6b..21e157c 100644
--- a/modules/test-suite/multi-tenanted-airavata/pom.xml
+++ b/modules/test-suite/multi-tenanted-airavata/pom.xml
@@ -55,6 +55,16 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-common-utils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-credential-store</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>${derby.version}</version>
http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a2eac6/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/AiravataClient.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/AiravataClient.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/AiravataClient.java
index e6974d2..b20cdc2 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/AiravataClient.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/AiravataClient.java
@@ -45,10 +45,10 @@ public class AiravataClient {
propertyReader = new PropertyReader();
}
- public static Airavata.Client getAiravataClient(){
+ public Airavata.Client getAiravataClient(){
try {
- String airavataHost = PropertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.THRIFT_SERVER_HOST, PropertyFileType.AIRAVATA_CLIENT);
- int airavataport = Integer.valueOf(PropertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.THRIFT_SERVER_PORT, PropertyFileType.AIRAVATA_CLIENT));
+ String airavataHost = propertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.THRIFT_SERVER_HOST, PropertyFileType.AIRAVATA_CLIENT);
+ int airavataport = Integer.valueOf(propertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.THRIFT_SERVER_PORT, PropertyFileType.AIRAVATA_CLIENT));
airavataClient = AiravataClientFactory.createAiravataClient(airavataHost, airavataport);
return airavataClient;
} catch (AiravataClientConnectException e) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a2eac6/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ApplicationRegister.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ApplicationRegister.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ApplicationRegister.java
new file mode 100644
index 0000000..56a9633
--- /dev/null
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ApplicationRegister.java
@@ -0,0 +1,25 @@
+/*
+ *
+ * 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.testsuite.multitenantedairavata;
+
+public class ApplicationRegister {
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a2eac6/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ComputeResourceRegister.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ComputeResourceRegister.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ComputeResourceRegister.java
new file mode 100644
index 0000000..af1c779
--- /dev/null
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ComputeResourceRegister.java
@@ -0,0 +1,117 @@
+/*
+ *
+ * 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.testsuite.multitenantedairavata;
+
+import org.apache.airavata.api.Airavata;
+import org.apache.airavata.model.appcatalog.computeresource.*;
+import org.apache.airavata.model.error.AiravataClientException;
+import org.apache.thrift.TException;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ComputeResourceRegister {
+ private Airavata.Client airavata;
+ private List<String> computeResourceIds;
+
+ public ComputeResourceRegister(Airavata.Client airavata) {
+ this.airavata = airavata;
+ computeResourceIds = new ArrayList<String>();
+ }
+
+ public void addComputeResources () throws TException {
+ // adding stampede
+ String stampedeResourceId = registerComputeHost("stampede.tacc.xsede.org", "TACC Stampede Cluster",
+ ResourceJobManagerType.SLURM, "push", "/usr/bin", SecurityProtocol.SSH_KEYS, 22, null);
+ System.out.println("Stampede Resource Id is " + stampedeResourceId);
+
+ //Register Trestles
+ String trestlesResourceId = registerComputeHost("trestles.sdsc.xsede.org", "SDSC Trestles Cluster",
+ ResourceJobManagerType.PBS, "push", "/opt/torque/bin/", SecurityProtocol.SSH_KEYS, 22, null);
+ System.out.println("Trestles Resource Id is " + trestlesResourceId);
+
+ //Register BigRedII
+ String bigredResourceId = registerComputeHost("bigred2.uits.iu.edu", "IU BigRed II Cluster",
+ ResourceJobManagerType.PBS, "push", "/opt/torque/torque-4.2.3.1/bin/", SecurityProtocol.SSH_KEYS, 22, "aprun -n");
+ System.out.println("BigredII Resource Id is " + bigredResourceId);
+
+ computeResourceIds.add(stampedeResourceId);
+ computeResourceIds.add(trestlesResourceId);
+ computeResourceIds.add(bigredResourceId);
+ }
+
+ public String registerComputeHost(String hostName, String hostDesc,
+ ResourceJobManagerType resourceJobManagerType,
+ String monitoringEndPoint, String jobMangerBinPath,
+ SecurityProtocol securityProtocol, int portNumber, String jobManagerCommand) throws TException {
+
+ ComputeResourceDescription computeResourceDescription = createComputeResourceDescription(hostName, hostDesc, null, null);
+
+ String computeResourceId = airavata.registerComputeResource(computeResourceDescription);
+
+ if (computeResourceId.isEmpty()) throw new AiravataClientException();
+
+ ResourceJobManager resourceJobManager = createResourceJobManager(resourceJobManagerType, monitoringEndPoint, jobMangerBinPath, null);
+
+ if (jobManagerCommand != null) {
+ Map<JobManagerCommand, String> jobManagerCommandStringMap = new HashMap<JobManagerCommand, String>();
+ jobManagerCommandStringMap.put(JobManagerCommand.SUBMISSION, jobManagerCommand);
+ resourceJobManager.setJobManagerCommands(jobManagerCommandStringMap);
+ }
+
+ SSHJobSubmission sshJobSubmission = new SSHJobSubmission();
+ sshJobSubmission.setResourceJobManager(resourceJobManager);
+ sshJobSubmission.setSecurityProtocol(securityProtocol);
+ sshJobSubmission.setSshPort(portNumber);
+ airavata.addSSHJobSubmissionDetails(computeResourceId, 1, sshJobSubmission);
+
+ SCPDataMovement scpDataMovement = new SCPDataMovement();
+ scpDataMovement.setSecurityProtocol(securityProtocol);
+ scpDataMovement.setSshPort(portNumber);
+ airavata.addSCPDataMovementDetails(computeResourceId, 1, scpDataMovement);
+
+ return computeResourceId;
+ }
+
+ public static ComputeResourceDescription createComputeResourceDescription(
+ String hostName, String hostDesc, List<String> hostAliases, List<String> ipAddresses) {
+ ComputeResourceDescription host = new ComputeResourceDescription();
+ host.setHostName(hostName);
+ host.setResourceDescription(hostDesc);
+ host.setIpAddresses(ipAddresses);
+ host.setHostAliases(hostAliases);
+ return host;
+ }
+
+ public static ResourceJobManager createResourceJobManager(
+ ResourceJobManagerType resourceJobManagerType, String pushMonitoringEndpoint, String jobManagerBinPath,
+ Map<JobManagerCommand, String> jobManagerCommands) {
+ ResourceJobManager resourceJobManager = new ResourceJobManager();
+ resourceJobManager.setResourceJobManagerType(resourceJobManagerType);
+ resourceJobManager.setPushMonitoringEndpoint(pushMonitoringEndpoint);
+ resourceJobManager.setJobManagerBinPath(jobManagerBinPath);
+ resourceJobManager.setJobManagerCommands(jobManagerCommands);
+ return resourceJobManager;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a2eac6/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/Setup.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/Setup.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/Setup.java
index 6dcd00e..4cfdab2 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/Setup.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/Setup.java
@@ -22,13 +22,187 @@
package org.apache.airavata.testsuite.multitenantedairavata;
+import org.apache.airavata.api.Airavata;
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.common.utils.DBUtil;
+import org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential;
+import org.apache.airavata.credential.store.store.CredentialStoreException;
+import org.apache.airavata.credential.store.store.impl.SSHCredentialWriter;
+import org.apache.airavata.credential.store.util.TokenGenerator;
+import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
+import org.apache.airavata.model.error.AiravataClientException;
+import org.apache.airavata.model.error.AiravataSystemException;
+import org.apache.airavata.model.error.InvalidRequestException;
+import org.apache.airavata.model.workspace.Gateway;
+import org.apache.airavata.model.workspace.Project;
+import org.apache.airavata.testsuite.multitenantedairavata.utils.PropertyFileType;
+import org.apache.airavata.testsuite.multitenantedairavata.utils.PropertyReader;
+import org.apache.airavata.testsuite.multitenantedairavata.utils.TestFrameworkConstants;
+import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
public class Setup {
+ private final static Logger logger = LoggerFactory.getLogger(Setup.class);
+ private AiravataClient airavataClient;
+ private Airavata.Client airavata;
+ private PropertyReader propertyReader;
+ private int gatewayCount;
+ private Map<String, String> tokenMap;
+ private Map<String, String> projectMap;
+
+ public Setup() {
+ this.airavataClient = AiravataClient.getInstance();
+ this.airavata = airavataClient.getAiravataClient();
+ this.tokenMap = new HashMap<String, String>();
+ this.projectMap = new HashMap<String, String>();
+ propertyReader = new PropertyReader();
+ }
+
+ public void createGateways() throws Exception{
+ try {
+ // read gateway count from properties file
+ gatewayCount = Integer.valueOf(propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.NUMBER_OF_GATEWAYS, PropertyFileType.TEST_FRAMEWORK));
+ String genericGatewayName = propertyReader.readProperty(TestFrameworkConstants.GatewayConstants.GENERIC_GATEWAY_NAME, PropertyFileType.TEST_FRAMEWORK);
+ String genericGatewayDomain = propertyReader.readProperty(TestFrameworkConstants.GatewayConstants.GENERIC_GATEWAY_DOMAIN, PropertyFileType.TEST_FRAMEWORK);
+ for (int i = 0; i < gatewayCount; i++){
+ Gateway gateway = new Gateway();
+ String gatewayId = genericGatewayName + (i + 1);
+ gateway.setGatewayId(gatewayId);
+ gateway.setGatewayName(gatewayId);
+ gateway.setDomain(gatewayId + genericGatewayDomain);
+ airavata.addGateway(gateway);
+ GatewayResourceProfile gatewayResourceProfile = new GatewayResourceProfile();
+ gatewayResourceProfile.setGatewayID(gatewayId);
+ airavata.registerGatewayResourceProfile(gatewayResourceProfile);
+ // create a project per each gateway
+ createProject(gatewayId);
+ }
+ } catch (AiravataSystemException e) {
+ logger.error("Error while creating airavata client instance", e);
+ throw new Exception("Error while creating airavata client instance", e);
+ } catch (InvalidRequestException e) {
+ logger.error("Invalid request for airavata client instance", e);
+ throw new Exception("Invalid request for airavata client instance", e);
+ } catch (AiravataClientException e) {
+ logger.error("Error while creating airavata client instance", e);
+ throw new Exception("Error while creating airavata client instance", e);
+ } catch (TException e) {
+ logger.error("Error while communicating with airavata client ", e);
+ throw new Exception("Error while communicating with airavata client", e);
+ }
+ }
+
+ public void createProject (String gatewayId) throws Exception{
+ Project project = new Project();
+ project.setName("testProj_" + gatewayId);
+ project.setOwner("testUser_" + gatewayId);
+ String projectId = airavata.createProject(gatewayId, project);
+ projectMap.put(gatewayId, projectId);
+ }
- public void createGateways(){
+ public void registerSSHKeys () throws Exception{
+ try {
+ // credential store related functions are not in the current api, so need to call credential store directly
+ AiravataUtils.setExecutionAsClient();
+ String jdbcURL = propertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.CS_JBDC_URL, PropertyFileType.AIRAVATA_CLIENT);
+ String jdbcDriver = propertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.CS_JBDC_DRIVER, PropertyFileType.AIRAVATA_CLIENT);
+ String userName = propertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.CS_DB_USERNAME, PropertyFileType.AIRAVATA_CLIENT);
+ String password = propertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.CS_DB_PWD, PropertyFileType.AIRAVATA_CLIENT);
+ String privateKeyPath = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.SSH_PRIKEY_LOCATION, PropertyFileType.TEST_FRAMEWORK);
+ String pubKeyPath = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.SSH_PUBKEY_LOCATION, PropertyFileType.TEST_FRAMEWORK);
+ String keyPassword = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.SSH_PWD, PropertyFileType.TEST_FRAMEWORK);
+ DBUtil dbUtil = new DBUtil(jdbcURL, userName, password, jdbcDriver);
+ SSHCredentialWriter writer = new SSHCredentialWriter(dbUtil);
+ List<Gateway> allGateways = airavata.getAllGateways();
+ for (Gateway gateway : allGateways){
+ SSHCredential sshCredential = new SSHCredential();
+ sshCredential.setGateway(gateway.getGatewayId());
+ String token = TokenGenerator.generateToken(gateway.getGatewayId(), null);
+ sshCredential.setToken(token);
+ sshCredential.setPortalUserName("testuser");
+ FileInputStream privateKeyStream = new FileInputStream(privateKeyPath);
+ File filePri = new File(privateKeyPath);
+ byte[] bFilePri = new byte[(int) filePri.length()];
+ privateKeyStream.read(bFilePri);
+ FileInputStream pubKeyStream = new FileInputStream(pubKeyPath);
+ File filePub = new File(pubKeyPath);
+ byte[] bFilePub = new byte[(int) filePub.length()];
+ pubKeyStream.read(bFilePub);
+ privateKeyStream.close();
+ pubKeyStream.close();
+ sshCredential.setPrivateKey(bFilePri);
+ sshCredential.setPublicKey(bFilePub);
+ sshCredential.setPassphrase(keyPassword);
+ writer.writeCredentials(sshCredential);
+ tokenMap.put(gateway.getGatewayId(), token);
+ }
+ } catch (ClassNotFoundException e) {
+ logger.error("Unable to find mysql driver", e);
+ throw new Exception("Unable to find mysql driver",e);
+ } catch (InstantiationException e) {
+ logger.error("Error while saving SSH credentials", e);
+ throw new Exception("Error while saving SSH credentials",e);
+ } catch (IllegalAccessException e) {
+ logger.error("Error while saving SSH credentials", e);
+ throw new Exception("Error while saving SSH credentials",e);
+ } catch (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata-client properties", e);
+ throw new Exception("Unable to read airavata-client properties",e);
+ } catch (AiravataSystemException e) {
+ logger.error("Error occured while connecting with airavata client", e);
+ throw new Exception("Error occured while connecting with airavata client",e);
+ } catch (InvalidRequestException e) {
+ logger.error("Error occured while connecting with airavata client", e);
+ throw new Exception("Error occured while connecting with airavata client",e);
+ } catch (AiravataClientException e) {
+ logger.error("Error occured while connecting with airavata client", e);
+ throw new Exception("Error occured while connecting with airavata client",e);
+ } catch (TException e) {
+ logger.error("Error occured while connecting with airavata client", e);
+ throw new Exception("Error occured while connecting with airavata client",e);
+ } catch (FileNotFoundException e) {
+ logger.error("Could not find keys specified in the path", e);
+ throw new Exception("Could not find keys specified in the path",e);
+ } catch (CredentialStoreException e) {
+ logger.error("Error while saving SSH credentials", e);
+ throw new Exception("Error while saving SSH credentials",e);
+ } catch (IOException e) {
+ logger.error("Error while saving SSH credentials", e);
+ throw new Exception("Error while saving SSH credentials",e);
+ }
+ }
+
+ public int getGatewayCount() {
+ return gatewayCount;
+ }
+
+ public void setGatewayCount(int gatewayCount) {
+ this.gatewayCount = gatewayCount;
+ }
+
+ public Map<String, String> getTokenMap() {
+ return tokenMap;
+ }
+ public void setTokenMap(Map<String, String> tokenMap) {
+ this.tokenMap = tokenMap;
}
- public void registerSSHKeys (){
+ public Map<String, String> getProjectMap() {
+ return projectMap;
+ }
+ public void setProjectMap(Map<String, String> projectMap) {
+ this.projectMap = projectMap;
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a2eac6/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyReader.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyReader.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyReader.java
index 01d8a8d..1ef2851 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyReader.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyReader.java
@@ -53,7 +53,7 @@ public class PropertyReader {
}
- public static String readProperty (String propertyName, PropertyFileType type){
+ public String readProperty (String propertyName, PropertyFileType type){
switch (type){
case AIRAVATA_CLIENT:
return airavataClientProperties.getProperty(propertyName);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a2eac6/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/TestFrameworkConstants.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/TestFrameworkConstants.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/TestFrameworkConstants.java
index 902f8ea..557f95c 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/TestFrameworkConstants.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/TestFrameworkConstants.java
@@ -28,6 +28,10 @@ public class TestFrameworkConstants {
public static final class AiravataClientConstants {
public static final String THRIFT_SERVER_HOST = "thrift.server.host";
public static final String THRIFT_SERVER_PORT = "thrift.server.port";
+ public static final String CS_JBDC_URL = "credential.store.jdbc.url";
+ public static final String CS_JBDC_DRIVER = "credential.store.jdbc.driver";
+ public static final String CS_DB_USERNAME = "credential.store.jdbc.user";
+ public static final String CS_DB_PWD = "credential.store.jdbc.password";
}
public static final class FrameworkPropertiesConstants {
@@ -42,6 +46,11 @@ public class TestFrameworkConstants {
public static final String SSH_USERNAME = "ssh.username";
}
+ public static final class GatewayConstants {
+ public static final String GENERIC_GATEWAY_NAME = "testGateway";
+ public static final String GENERIC_GATEWAY_DOMAIN = ".airavata.org";
+ }
+
public static final class AppcatalogConstants {
public static final String AMBER_APP_NAME = "amber_sander";
http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a2eac6/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-client.properties
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-client.properties b/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-client.properties
index 201f7f3..4513c21 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-client.properties
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-client.properties
@@ -33,5 +33,16 @@
thrift.server.host=localhost
thrift.server.port=8930
+###########################################################################
+# Credential Store module Configuration
+###########################################################################
+credential.store.keystore.url=/Users/chathuri/dev/airavata/credential-store/oa4mp/airavata_sym.jks
+credential.store.keystore.alias=airavata
+credential.store.keystore.password=airavata
+credential.store.jdbc.url=jdbc:derby://localhost:1527/experiment_catalog;create=true;user=airavata;password=airavata
+credential.store.jdbc.user=airavata
+credential.store.jdbc.password=airavata
+credential.store.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+