heads up on the name change for the above mentioned thrift file to applicationCatalogDataModel.thrift [1].
Also added a new thrift file to define the initial ApplicationCatalog related API functions @ [2]. It has, 1. Functions to manage ComputerResourceDescriptions 2. Functions to manage ApplicationInterfaces (for completeness) 3. Functions to manage ApplicationDeployments (for completeness) Thanks, Saminda 1. https://git-wip-us.apache.org/repos/asf?p=airavata.git;a=blob;f=airavata-api/thrift-interface-descriptions/applicationCatalogDataModel.thrift;h=65314f06de3bc8c3bc31c41c8109d89f4265fcbf;hb=HEAD 2. https://git-wip-us.apache.org/repos/asf?p=airavata.git;a=blob;f=airavata-api/thrift-interface-descriptions/applicationCatalog.thrift;h=19f81e5db1dcadf9d636beab6325dc795d9eab7e;hb=HEAD On Sun, May 11, 2014 at 12:25 PM, Saminda Wijeratne <[email protected]>wrote: > Thank you all for your feedback from both the mailing list and google > hangout discussions. As for the last weeks google hangout discussion we > came to the following conclusions regarding phase 1. > > > - Focus only on thrift data model ComputeResourceDescription[1] (i.e. > hosts) > - we'll re-evaluate the design after the tutorial > - Thrift API functions will be defined for the thrift data model > ComputeResourceDescription and its supporting models in a separate thrift > file > - Thrift data models for the rest of the Application Catalog > components will be focussed upon later > - Reuse the existing ServiceDescriptor and ApplicationDescriptor > schema objects for the time-being to fill the missing void in the > application catalog. > - A new component called "Application Catalog" will be introduced > along with a CPI for it > - We will be saving ComputeResourceDescription as the way we save > thrift objects. But ApplicationDescriptor and ServiceDescriptor will be > saved as blobs with basic id/name metadata fields to allow querying. > - Samples and tests which used descriptors to add applications will > use the new CPI/API functions as necessary to add applications to the > Application Catalog > - GFac will retrieve applications from the application catalog > retiring the old Airavata API completely. However in order to minimize the > changes at GFac side it will transform the application catalog to schema > objects service/host/application descriptors. > - We will attempt to complete these changes by 16th May in order to > start testing and using them by next week. > > > Thanks, > Saminda > > 1. > https://git-wip-us.apache.org/repos/asf?p=airavata.git;a=blob;f=airavata-api/thrift-interface-descriptions/computeResourceDescription.thrift;h=c025f12ade908fbdd395a1d4c64f811e49f4dd3d;hb=HEAD > > On Tue, May 6, 2014 at 12:11 PM, Raminder Singh > <[email protected]>wrote: > >> Thanks Sachith. We can have host object independent of application as >> the same host definition can be used for multiple applications. Please add >> complete details of host and application properties like Application >> type(MPI, OpenMP, MapReduce etc), JobManager (PBS, SLURM,EC2). You need to >> consider extensibility of the models also as requirements may change with >> job or monitoring manager details. >> >> Thanks >> Raminder >> >> On May 5, 2014, at 4:12 PM, Sachith Withana <[email protected]> wrote: >> >> Hi all, After an offline discussion, we came up with an initial >> Application Catalog design which captures the minimum requirements. >> >> Any suggestions? >> Functionalities for the Gateway API Thrift Functions >> >> - add // (not required for tutorial but will make life easier for us) >> - String add(application) //return application id >> >> >> - >> - String add(applicationId,deployment) //return deployment id >> - get >> - get(applicationId) //return application >> - get(applicationId, deploymentId) //return deployment >> - remove //optional >> - remove(applicationId) >> - remove(applicationId, deploymentId) >> - update //optional >> - update(application) >> - update(applicationId, deployment) >> - list >> - String[] list() // list of application ids >> - String[] list(applicationId) // list of deployment ids >> >> >> API Thrift Data model >> Application (application id) >> Input* : name/type/optional? >> Output* : name/type/optional?/ >> Deployment* (deployment id) >> Host (host id) >> host IP >> host job management protocol and properties >> host data management protocol and properties >> executable path >> scratch location >> job properties (key/value default values) >> eg: Project Id, CPU count, Node count, Wall time >> >> *0 or more >> BOLD : minimum requirement >> >> -- >> Thanks, >> Sachith Withana >> >> >> >
