Using the Inca APIs Jim Hayes jhayessdsc edu

  • Slides: 10
Download presentation
Using the Inca APIs Jim Hayes jhayes@sdsc. edu Inca Workshop September 4 -5, 2008

Using the Inca APIs Jim Hayes jhayes@sdsc. edu Inca Workshop September 4 -5, 2008 SAN DIEGO SUPERCOMPUTER CENTER

APIs Provide Access to Inca Servers • Java and Perl Client APIs generally internal

APIs Provide Access to Inca Servers • Java and Perl Client APIs generally internal use • Depot. Client provides access to report database • Agent. Client provides access to installation configuration • incaws Web Service provides unauthenticated access • Documentation: http: //inca. sdsc. edu/releases/2. 4/guide/userguide-apis. html http: //inca. sdsc. edu/releases/2. 4/guide/userguide-webservices. html SAN DIEGO SUPERCOMPUTER CENTER

Depot. Client query. Hql • Takes an HQL (Hibernate’s SQL dialect) query as a

Depot. Client query. Hql • Takes an HQL (Hibernate’s SQL dialect) query as a parameter • Returns an array of XML, one element per object selected • Example: client. query. Hql("select ii from Report r, Instance. Info ii where ii. report. Id= r. id and r. resource = 'repo'") => <instance> <collected>2008 -09 -03 14: 25: 03. 0</collected> <commited>2008 -09 -03 14: 25: 04. 108</commited> <cpu. Usage. Sec>1. 462776</cpu. Usage. Sec> <memory. Usage. MB>25. 132812</memory. Usage. MB> <wall. Clock. Time. Sec>2. 002927</wall. Clock. Time. Sec> </instance> … SAN DIEGO SUPERCOMPUTER CENTER

Depot. Client query. Guids • Returns an array of suite identifiers • Example: client.

Depot. Client query. Guids • Returns an array of suite identifiers • Example: client. query. Guids() => incas: //hogg. sdsc. edu: 6323/sample. Suite … SAN DIEGO SUPERCOMPUTER CENTER

Depot. Client query. Latest • Takes a select WHERE clause as a parameter •

Depot. Client query. Latest • Takes a select WHERE clause as a parameter • Returns combined latest report instance info for each series • Example: client. query. Latest("suite. guid = 'incas: //hogg. sdsc. edu: 6323/sample. Suite'") => <report. Summary xmlns="http: //inca. sdsc. edu/query. Result/report. Summary_2. 0"> <hostname xmlns="">local. Resource</hostname> <uri xmlns="">file: ///users/u 4/train 31/Inca. Install/bin/. . /Inca-Reporter-5. 10644/bin/grid. wget. unit</uri> <nickname xmlns="">wget_page_test</nickname> <series. Config. Id xmlns="">10</series. Config. Id> <instance. Id xmlns="">169</instance. Id> <gmt xmlns="">2008 -09 -03 T 14: 40: 01. 000 -07: 00</gmt> <gmt. Expires xmlns="">2008 -09 -03 T 15: 00: 01. 869 -07: 00</gmt. Expires> <body xmlns=""> <unit. Test xmlns: rep="http: //inca. sdsc. edu/data. Model/report_2. 1"> <ID>wget</ID> </unit. Test> </body> <error. Message xmlns=""></error. Message> </report. Summary> … SAN DIEGO SUPERCOMPUTER CENTER

Agent. Client get. Config • Returns XML for Inca installation configuration • Example: client.

Agent. Client get. Config • Returns XML for Inca installation configuration • Example: client. get. Config() => <inca: inca xmlns: inca="http: //inca. sdsc. edu/data. Model/inca_2. 0"> <repositories><repository>file: /users/u 4/train 31/Inca. Install/bin/. . /Inca-Reporter-5. 10644</repository></repositories> <resource. Config><resources><resource> <name>default. Grid</name> <xpath>//resource[matches(name, "local. Site")]</xpath> <macros> … </macros> </resource></resources></resource. Config> <suites><suite><series. Configs><series. Config> <series> <name>cluster. admin. ant. unit</name> <args> <arg><name>version</name><value>no</value></arg> </args> <context>@pre@@@@post@</context> </series> <nickname>ant_helloworld_compile_test</nickname> <resource. Set. Name>default. Grid</resource. Set. Name> <schedule><crontime>1 -59/10 * *</crontime></schedule> <action>add</action> </series. Config></series. Configs></suites> … SAN DIEGO SUPERCOMPUTER CENTER

Agent. Client get. Catalog • Returns Packages. gz contents for a given Reporter Repository

Agent. Client get. Catalog • Returns Packages. gz contents for a given Reporter Repository • Example: client. get. Catalog('http: //inca. sdsc. edu/repository/latest') => version: 2 name: viz. tools. imagemagick. version url: http: //www. imagemagick. org/ file: bin/viz. tools. imagemagick. version description: Reports the version of the Image. Magick toolkit arguments: help no|yes no log [012345]|debug|error|info|system|warn 0 verbose [012] 1 version no|yes no dependencies: Inca: : Reporter: : Version version: 2 name: viz. tools. netpbm. version url: http: //netpbm. sourceforge. net/ file: bin/viz. tools. netpbm. version … SAN DIEGO SUPERCOMPUTER CENTER

Additional Client Methods Depot. Client insert. Report(resource, report, sysusage, stderr, context) query. Database() query.

Additional Client Methods Depot. Client insert. Report(resource, report, sysusage, stderr, context) query. Database() query. Instance(instance. Id, config. Id) query. Status. History(period, begin, end, select) update. Suite(xml) Agent. Client set. Config(xml) SAN DIEGO SUPERCOMPUTER CENTER

incaws Provides Unathenticated Access • Start via “$INCA_DIST/bin/incaws” • Combines query facilities of Agent.

incaws Provides Unathenticated Access • Start via “$INCA_DIST/bin/incaws” • Combines query facilities of Agent. Client and Depot. Client (query. Hql, query. Guids, get. Config, get. Catalog, etc. ) • WSDL found in $INCA_DIST/etc/Inca. WS. wsdl SAN DIEGO SUPERCOMPUTER CENTER

Agenda -- Day 2 9: 00 - 9: 30 Inside the Inca Depot 9:

Agenda -- Day 2 9: 00 - 9: 30 Inside the Inca Depot 9: 30 - 10: 00 Inca APIs 10: 00 - 11: 00 Data display (data consumers) 11: 15 - 12: 00 Hands-on: Inca deployment (part 2) 1: 00 - 2: 00 Hands-on: Data display (data consumers) 2: 00 - 3: 00 Wrap up SAN DIEGO SUPERCOMPUTER CENTER