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)
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> >