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 <[email protected]> Authored: Fri Mar 27 15:50:46 2015 -0400 Committer: Chathuri Wimalasena <[email protected]> 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 +
