I've been able to create and launch an experiment with the
python API client. The application does not see the argument
I'm trying to pass in. I'm trying to set this with the
registerApplicationInterface function. Maybe my problem
is the InputDataObjectType? Should I be using 'value' or
'applicationArgument' or something else?
On Fri, Jan 23, 2015 at 04:28:33PM -0800, K Yoshimoto wrote:
>
> Looks like the experiment did run, though. Output was in
> the stdout file, rather than in the output dir...
>
> On Fri, Jan 23, 2015 at 04:14:05PM -0800, K Yoshimoto wrote:
> >
> > I added input and output to my appinterface. Now, I'm seeing something
> > on server side like this:
> >
> > [ERROR] could not parse XML document prolog; nested exception is:
> > only whitespace content allowed before start tag and not {
> > (position: START_DOCUMENT seen {... @1:1)
> > could not parse XML document prolog; nested exception is:
> > org.xmlpull.v1.XmlPullParserException: only whitespace content allowed
> > before start tag and not { (position: START_DOCUMENT seen {... @1:1)
> > at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1519)
> > at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1395)
> > at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
> >
> >
> >
> > On Fri, Jan 23, 2015 at 11:36:31AM -0800, K Yoshimoto wrote:
> > >
> > > 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)
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > >