Here's the experiment and stack trace from server. It can't figure
out experiment type?
Experiment(userName='kenneth1',
experimentOutputs=[OutputDataObjectType(type=None, name='dateout', value='5')],
errors=None, applicationVersion=None, name='dateexperiment',
workflowTemplateId=None,
projectID='test1_057dc666-f81b-4ee2-ac26-db159341b4e7',
stateChangeList=[WorkflowNodeStatus(timeOfStateChange=1422041295249,
workflowNodeState=7)], creationTime=1422041270814,
workflowNodeDetailsList=[WorkflowNodeDetails(nodeInstanceId='IDontNeedaNode_2cf34fd2-180b-4c17-bcd5-1127503cc308',
errors=[], nodeName='IDontNeedaNode', nodeOutputs=[], executionUnitData=None,
workflowNodeStatus=WorkflowNodeStatus(timeOfStateChange=1422041295249,
workflowNodeState=7), creationTime=1422041295222, executionUnit=1,
taskDetailsList=[TaskDetails(applicationInputs=[], errors=[],
applicationVersion=None, applicationOutputs=[OutputDataObjectType(type=None,
name='dateout', value='5')], applicationDeploymentId=None,
advancedOutputDataHandling=None, creationTime=None, dataTransferDetailsList=[],
taskStatus=TaskStatus(timeOfStateChange=1422041295304, executionState=12),
advancedInputDataHandling=None,
taskID='IDontNeedaNode_865b9f5d-d0cd-45e4-846d-fceced124bd1',
jobDetailsList=[],
taskScheduling=ComputationalResourceScheduling(computationalProjectAccount='test',
totalPhysicalMemory=1,
resourceHostId='localhost_6908ec7d-cf13-4feb-b414-9c03448afacc',
numberOfThreads=1, wallTimeLimit=1, jobStartTime=407095870, nodeCount=1,
totalCPUCount=1, queueName='normal'),
applicationId='test1name_77d3187b-93c6-4e97-944c-4e7792060070')],
nodeInputs=[])],
experimentID='dateexperiment_b70a9f18-f1b9-451d-a960-337b34ba5ab2',
workflowTemplateVersion=None, workflowExecutionInstanceId=None,
userConfigurationData=UserConfigurationData(advanceInputDataHandling=None,
overrideManualScheduledParams=False, throttleResources=False,
airavataAutoSchedule=False,
computationalResourceScheduling=ComputationalResourceScheduling(computationalProjectAccount='test',
totalPhysicalMemory=1,
resourceHostId='localhost_6908ec7d-cf13-4feb-b414-9c03448afacc',
numberOfThreads=1, wallTimeLimit=1, jobStartTime=407095870, nodeCount=1,
totalCPUCount=1, queueName='normal'), shareExperimentPublicly=False,
qosParams=None, advanceOutputDataHandling=None), experimentInputs=[],
experimentStatus=ExperimentStatus(timeOfStateChange=1422041270879,
experimentState=0),
applicationId='test1name_77d3187b-93c6-4e97-944c-4e7792060070',
description=None)
[INFO] Id:dateexperiment_b70a9f18-f1b9-451d-a960-337b34ba5ab2 : Created new
experiment with experiment name dateexperiment
[INFO] Validation of
org.apache.airavata.orchestrator.core.validator.impl.SimpleAppDataValidator is
SUCCESSFUL
[INFO] Validation of
org.apache.airavata.orchestrator.core.validator.impl.ExperimentStatusValidator
is SUCCESSFUL
[ERROR] Id:dateexperiment_b70a9f18-f1b9-451d-a960-337b34ba5ab2 : Couldn't
identify experiment type, experiment
dateexperiment_b70a9f18-f1b9-451d-a960-337b34ba5ab2 is neither single
application nor workflow.
[ERROR] Internal error processing launchExperiment
org.apache.thrift.TException: Experiment
'dateexperiment_b70a9f18-f1b9-451d-a960-337b34ba5ab2' launch failed. Unable to
figureout execution type for application
test1name_77d3187b-93c6-4e97-944c-4e7792060070
at
org.apache.airavata.orchestrator.server.OrchestratorServerHandler.launchExperiment(OrchestratorServerHandler.java:209)
at
org.apache.airavata.orchestrator.cpi.OrchestratorService$Processor$launchExperiment.getResult(OrchestratorService.java:509)
at
org.apache.airavata.orchestrator.cpi.OrchestratorService$Processor$launchExperiment.getResult(OrchestratorService.java:494)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:225)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
[ERROR] Internal error processing launchExperiment
org.apache.thrift.TApplicationException: Internal error processing
launchExperiment
at
org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:71)
at
org.apache.airavata.orchestrator.cpi.OrchestratorService$Client.recv_launchExperiment(OrchestratorService.java:192)
at
org.apache.airavata.orchestrator.cpi.OrchestratorService$Client.launchExperiment(OrchestratorService.java:178)
at
org.apache.airavata.api.server.handler.AiravataServerHandler.launchExperiment(AiravataServerHandler.java:1119)
at
org.apache.airavata.api.Airavata$Processor$launchExperiment.getResult(Airavata.java:8929)
at
org.apache.airavata.api.Airavata$Processor$launchExperiment.getResult(Airavata.java:8913)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:225)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
On Fri, Jan 23, 2015 at 09:57:55AM -0500, Raminder Singh wrote:
> Hi Kenneth,
>
> In case you are running jobs on local machine (localprovider) then the job
> description is filled from Application catalog > Application deployment
> description but incase of remote (SSH or GSISSH) its filled based on Job
> scheduler (PBS,SLURM) parameters. You can look in the provider
> codes(LocalProvider, GSISSHProvider) in GFAC for more details. Please share
> the stacktrace so i can find more details. According to my understanding
> error should not be different for Xbaya or Python client. Share more
> information and i will debug to provide you more information.
>
> Thanks
> Raminder
>
> On Jan 21, 2015, at 2:06 PM, K Yoshimoto <[email protected]> wrote:
>
> >
> > I was able to launch the example experiment and get output
> > from the Xbaya quickstart:
> >
> > https://cwiki.apache.org/confluence/display/AIRAVATA/XBAYA+Quick-Start+Tutorial
> >
> > I am trying to create and launch my own custom experiment with
> > the Airavata-remote python client. However, I'm getting this error
> > on the server side:
> >
> > Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: Column
> > 'JOB_DESCRIPTION' cannot accept a NULL value. {prepstmnt 1346602387
> > INSERT INTO JOB_DETAIL (JOB_ID, TASK_ID, COMPUTE_RESOURCE_CONSUMED,
> > CREATION_TIME, JOB_DESCRIPTION)
> > VALUES (?, ?, ?, ?, ?)
> > [params=(String) IDontNeedaNode_153cb823-1b52-400f-b458-c619fd69c9a6,
> > (String) IDontNeedaNode_153cb823-1b52-400f-b458-c619fd69c9a6, (null) null,
> > (Timestamp) 2015-01-21 10:16:28.985, (null) null]} [code=-1, state=23502]
> >
> >
> > Where does JOB_DESCRIPTION get input into the experiment?
> >
> > Kenneth
> >
> > On Fri, Jan 16, 2015 at 02:46:20PM -0800, K Yoshimoto wrote:
> >>
> >> Is there a difference in the experiments that get created
> >> through xbaya workflow creation and through commandline
> >> createExperiment? I can clone and run the xbaya experiment
> >> through the Python API client, but when I try creating my own
> >> experiment, the run fails. Perhaps someone can send out
> >> the attributes required by createExperiment for creating a runnable
> >> experiment on localhost?
> >>
> >> Kenneth
> >>
> >> On Fri, Jan 09, 2015 at 03:26:39PM -0800, K Yoshimoto wrote:
> >>>
> >>> Marlon,
> >>>
> >>> I'm finding all the structures I'm trying to use. Do the other
> >>> thrift files get pulled in with the include lines?
> >>>
> >>> I got to the point of trying to launch an experiment but ran into
> >>> an error. Maybe I'm missing a field in my experiment? Does anyone
> >>> have a blow-by-blow set of steps for creating a project, creating
> >>> an experiment, launching the experiment?
> >>>
> >>> ./Airavata-remote -h localhost:8930 getAllUserExperiments kenneth1
> >>> [ Experiment(userName='kenneth1', experimentOutputs=[], errors=None,
> >>> applicationVersion=None, name='dateexperiment', workflowTemplateId=None,
> >>> projectID='test1_cfe50d5c-6d70-4119-a485-f879943ecfea',
> >>> stateChangeList=[WorkflowNodeStatus(timeOfStateChange=1420844997906,
> >>> workflowNodeState=7)], creationTime=1420844856258,
> >>> workflowNodeDetailsList=[WorkflowNodeDetails(nodeInstanceId='IDontNeedaNode_ff3cbbb8-e752-4be6-916d-b3a0fc252826',
> >>> errors=[], nodeName='IDontNeedaNode', nodeOutputs=[],
> >>> executionUnitData=None,
> >>> workflowNodeStatus=WorkflowNodeStatus(timeOfStateChange=1420844997906,
> >>> workflowNodeState=7), creationTime=1420844997871, executionUnit=1,
> >>> taskDetailsList=[TaskDetails(applicationInputs=[], errors=[],
> >>> applicationVersion=None, applicationOutputs=[],
> >>> applicationDeploymentId=None, advancedOutputDataHandling=None,
> >>> creationTime=None, dataTransferDetailsList=[],
> >>> taskStatus=TaskStatus(timeOfStateChange=1420844997950,
> >>> executionState=12), advancedInputDataHandling=None,
> >>> taskID='IDontNeedaNode_7b028bba-52b7-402a-b9d2-41b43796d675',
> >>> jobDetailsList=[], taskScheduling=None,
> >>> applicationId='datetest_7292e719-beea-4872-b6a2-b6b76c28f3ee')],
> >>> nodeInputs=[])],
> >>> experimentID='dateexperiment_e139d6e8-de9a-47f8-8c05-ee606f1c0ca0',
> >>> workflowTemplateVersion=None, workflowExecutionInstanceId=None,
> >>> userConfigurationData=None, experimentInputs=[],
> >>> experimentStatus=ExperimentStatus(timeOfStateChange=1420844856279,
> >>> experimentState=0),
> >>> applicationId='datetest_7292e719-beea-4872-b6a2-b6b76c28f3ee',
> >>> description=None)]
> >>>
> >>> ./Airavata-remote -h localhost:8930 launchExperiment
> >>> dateexperiment_e139d6e8-de9a-47f8-8c05-ee606f1c0ca0 runme
> >>> Traceback (most recent call last):
> >>> File "./Airavata-remote", line 301, in <module>
> >>> pp.pprint(client.launchExperiment(args[0],args[1],))
> >>> File
> >>> "/media/scigap/scigap/0.14.RC2/airavata-0.14/airavata-api/thrift-interface-descriptions/gen-py/apache/airavata/api/Airavata.py",
> >>> line 2572, in launchExperiment
> >>> self.recv_launchExperiment()
> >>> File
> >>> "/media/scigap/scigap/0.14.RC2/airavata-0.14/airavata-api/thrift-interface-descriptions/gen-py/apache/airavata/api/Airavata.py",
> >>> line 2589, in recv_launchExperiment
> >>> raise x
> >>> thrift.Thrift.TApplicationException: Internal error processing
> >>> launchExperiment
> >>>
> >>>
> >>> From the server console:
> >>>
> >>> [ERROR] Error occurred during processing of message.
> >>> java.lang.NullPointerException
> >>> at
> >>> org.apache.airavata.orchestrator.core.validator.impl.SimpleAppDataValidator.validate(SimpleAppDataValidator.java:50)
> >>> at
> >>> org.apache.airavata.orchestrator.cpi.impl.SimpleOrchestratorImpl.validateExperiment(SimpleOrchestratorImpl.java:120)
> >>> at
> >>> org.apache.airavata.orchestrator.server.OrchestratorServerHandler.validateExperiment(OrchestratorServerHandler.java:252)
> >>> at
> >>> org.apache.airavata.orchestrator.cpi.OrchestratorService$Processor$validateExperiment.getResult(OrchestratorService.java:552)
> >>> at
> >>> org.apache.airavata.orchestrator.cpi.OrchestratorService$Processor$validateExperiment.getResult(OrchestratorService.java:536)
> >>> at
> >>> org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
> >>> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
> >>> at
> >>> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:225)
> >>> at
> >>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
> >>> at
> >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> >>> at java.lang.Thread.run(Thread.java:701)
> >>> [ERROR] Internal error processing launchExperiment
> >>> org.apache.thrift.transport.TTransportException
> >>> at
> >>> org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
> >>> at
> >>> org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> >>> at
> >>> org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:362)
> >>>
> >>> at
> >>> org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:284)
> >>>
> >>> at
> >>> org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:191)
> >>> at
> >>> org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
> >>> at
> >>> org.apache.airavata.orchestrator.cpi.OrchestratorService$Client.recv_validateExperiment(OrchestratorService.java:239)
> >>> at
> >>> org.apache.airavata.orchestrator.cpi.OrchestratorService$Client.validateExperiment(OrchestratorService.java:226)
> >>> at
> >>> org.apache.airavata.api.server.handler.AiravataServerHandler.launchExperiment(AiravataServerHandler.java:1118)
> >>> at
> >>> org.apache.airavata.api.Airavata$Processor$launchExperiment.getResult(Airavata.java:8929)
> >>> at
> >>> org.apache.airavata.api.Airavata$Processor$launchExperiment.getResult(Airavata.java:8913)
> >>> at
> >>> org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
> >>> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
> >>> at
> >>> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:225)
> >>> at
> >>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
> >>> at
> >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> >>> at java.lang.Thread.run(Thread.java:701)
> >>>
> >>>
> >>> On Fri, Jan 09, 2015 at 04:48:09PM -0500, Marlon Pierce wrote:
> >>>> Hi Kenneth--
> >>>>
> >>>> You'll probably run into problems with the python bindings, but it is an
> >>>> easy fix (I think). The thrift files need to specify the language
> >>>> bindings you want. Only three of the thrift files have python bindings
> >>>> set up.
> >>>>
> >>>> Marlon
> >>>>
> >>>>
> >>>> thrift-interface-descriptions mpierce$ find . -type f -exec grep -il
> >>>> "namespace py" {} \;
> >>>> ./airavataAPI.thrift
> >>>> ./airavataErrors.thrift
> >>>> ./workflowAPI.thrift
> >>>>
> >>>>
> >>>> On 1/9/15 4:15 PM, K Yoshimoto wrote:
> >>>>> Okay, looks like the C in Compute needs to be capitalized.
> >>>>> I must have typoed that.
> >>>>>
> >>>>> On Fri, Jan 09, 2015 at 11:46:32AM -0800, K Yoshimoto wrote:
> >>>>>> Marlon,
> >>>>>>
> >>>>>> I can do the startup with ./airavata-server.sh for now.
> >>>>>>
> >>>>>> I'm trying to go through the steps of creating my own app and
> >>>>>> launching it using the Python client. I ran into a problem with
> >>>>>> a method not found in the client:
> >>>>>>
> >>>>>> In
> >>>>>> airavata-0.14/airavata-api/thrift-interface-descriptions/gen-py/apache/airavata/api
> >>>>>>
> >>>>>> ./Airavata-remote -h localhost:8930 getAllcomputeResourceNames
> >>>>>> Unrecognized method getAllcomputeResourceNames
> >>>>>>
> >>>>>> Should the python client be up-to-date?
> >>>>>>
> >>>>>> Kenneth
> >>>>>>
> >>>>>> On Thu, Jan 08, 2015 at 08:08:58PM -0500, Marlon Pierce wrote:
> >>>>>>> Hi Ken--
> >>>>>>>
> >>>>>>> Thanks--feel free to fix the startup script and submit a patch.
> >>>>>>>
> >>>>>>> Marlon
> >>>>>>>
> >>>>>>> On 1/8/15 6:28 PM, K Yoshimoto wrote:
> >>>>>>>> I grabbed the source release from
> >>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/
> >>>>>>>>
> >>>>>>>> and built that. The server startup script is still broken for
> >>>>>>>> Ubuntu when run as the quick start describes (sh airavata-server.sh),
> >>>>>>>> but works when invoked as ./airavata-server.sh.
> >>>>>>>>
> >>>>>>>> Registering sample apps and xbaya workflow construction work.
> >>>>>>>> Not sure when the xbaya workflow construction would be useful?
> >>>>>>>> Running the workflow generates output in /tmp.
> >>>>>>>>
> >>>>>>>> I would like to try creating new experiments and running them.
> >>>>>>>> I will be playing with the python client. Are all the samples in
> >>>>>>>> airavata-0.14/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples
> >>>>>>>>
> >>>>>>>> up-to-date? I'll probably go by them to try registering new
> >>>>>>>> experiments
> >>>>>>>> and running them with the python client, unless anyone has
> >>>>>>>> documentation
> >>>>>>>> handy.
> >>>>>>>>
> >>>>>>>> Kenneth
> >>>>>>>>
> >>>>>>>> On Wed, Jan 07, 2015 at 12:56:00PM -0500, Marlon Pierce wrote:
> >>>>>>>>> We also run the server components (not XBaya) full time and run
> >>>>>>>>> daily
> >>>>>>>>> tests against it as part of test-drive.airavata.org.
> >>>>>>>>>
> >>>>>>>>> Marlon
> >>>>>>>>>
> >>>>>>>>> On 1/7/15 12:31 PM, K Yoshimoto wrote:
> >>>>>>>>>> Was it stable enough to use outside the demo? Any problems to
> >>>>>>>>>> note?
> >>>>>>>>>>
> >>>>>>>>>> On Wed, Jan 07, 2015 at 10:48:58PM +0530, Suresh Marru wrote:
> >>>>>>>>>>> + 1 for the release.
> >>>>>>>>>>>
> >>>>>>>>>>> P.S. I was able to demo this RC2 in a talk and couple of
> >>>>>>>>>>> participants
> >>>>>>>>>>> followed along successfully.
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> On Dec 30, 2014, at 1:34 AM, Chathuri Wimalasena
> >>>>>>>>>>> <[email protected]>
> >>>>>>>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>> Apache Airavata PMC is pleased to call for a vote on the
> >>>>>>>>>>>> following
> >>>>>>>>>>>> Apache Airavata 0.14 release candidate artifacts:
> >>>>>>>>>>>>
> >>>>>>>>>>>> Detailed change log/release notes:
> >>>>>>>>>>>>
> >>>>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=airavata.git;a=blob_plain;f=RELEASE_NOTES;hb=refs/tags/airavata-0.14
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> All Release Artifacts:
> >>>>>>>>>>>>
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> PGP release keys (signed using 65541DBC):
> >>>>>>>>>>>>
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/release/airavata/KEYS
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> Specific URL's:
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> GIT source tag:
> >>>>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=airavata.git;a=shortlog;h=refs/tags/airavata-0.14
> >>>>>>>>>>>>
> >>>>>>>>>>>> Source release:
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/airavata-0.14-source-release.zip
> >>>>>>>>>>>>
> >>>>>>>>>>>> Binary Artifacts:
> >>>>>>>>>>>>
> >>>>>>>>>>>> Airavata Server:
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-airavata-server-0.14-bin.zip
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-airavata-server-0.14-bin.tar.gz
> >>>>>>>>>>>>
> >>>>>>>>>>>> API Server
> >>>>>>>>>>>>
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-api-server-0.14-bin.tar.gz
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-api-server-0.14-bin.zip
> >>>>>>>>>>>>
> >>>>>>>>>>>> GFac Server
> >>>>>>>>>>>>
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-gfac-server-0.14-bin.tar.gz
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-gfac-server-0.14-bin.zip
> >>>>>>>>>>>>
> >>>>>>>>>>>> Orchestrator Server
> >>>>>>>>>>>>
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-orchestrator-server-0.14-bin.tar.gz
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-orchestrator-server-0.14-bin.zip
> >>>>>>>>>>>>
> >>>>>>>>>>>> Xbaya Distribution
> >>>>>>>>>>>>
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-airavata-xbaya-gui-0.14-bin.tar.gz
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-airavata-xbaya-gui-0.14-bin.zip
> >>>>>>>>>>>>
> >>>>>>>>>>>> Client SDKs
> >>>>>>>>>>>>
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-airavata-client-java-sdk-0.14-bin.tar.gz
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-airavata-client-java-sdk-0.14-bin.zip
> >>>>>>>>>>>>
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-airavata-client-php-sdk-0.14-bin.tar.gz
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/airavata/0.14/RC2/apache-airavata-client-php-sdk-0.14-bin.zip
> >>>>>>>>>>>>
> >>>>>>>>>>>> Maven staging repo:
> >>>>>>>>>>>> https://repository.apache.org/content/repositories/orgapacheairavata-1005
> >>>>>>>>>>>>
> >>>>>>>>>>>> Please verify the artifacts and vote. The vote will be open for
> >>>>>>>>>>>> atleast
> >>>>>>>>>>>> 72 hours.
> >>>>>>>>>>>>
> >>>>>>>>>>>> [ ] +1 approve
> >>>>>>>>>>>> [ ] +0 no opinion
> >>>>>>>>>>>> [ ] -1 disapprove (and reason why)
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> [ ] +1 approve
> >>>>>>>>>>>> [ ] +0 no opinion
> >>>>>>>>>>>> [ ] -1 disapprove (and reason why)
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
>