SAN DIEGO SUPERCOMPUTER CENTER Working with Inca Reporters Jim Hayes Inca Workshop September 4-5, 2008.

Slides:



Advertisements
Similar presentations
TeraGrid Deployment Test of Grid Software JP Navarro TeraGrid Software Integration University of Chicago OGF 21 October 19, 2007.
Advertisements

SAN DIEGO SUPERCOMPUTER CENTER Inca 2.0 Shava Smallen Grid Development Group San Diego Supercomputer Center June 26, 2006.
GENI Experiment Control Using Gush Jeannie Albrecht and Amin Vahdat Williams College and UC San Diego.
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
DataGrid is a project funded by the European Union 22 September 2003 – n° 1 EDG WP4 Fabric Management: Fabric Monitoring and Fault Tolerance
Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © Chapter 1, pp For educational use only.
CSC 395 – Software Engineering Lecture 24: Apache Ant –or– Programming the results of programming Based upon a talk by Anthony Wat.
NGOP J.Fromm K.Genser T.Levshina M.Mengel V.Podstavkov.
Peoplesoft: Building and Consuming Web Services
ACS Logging System Concepts and Example H.Sommer (Restructured, based on slides from previous years) UTFSM Valparaiso, Chile, Nov ACS Logging System.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
DIRAC API DIRAC Project. Overview  DIRAC API  Why APIs are important?  Why advanced users prefer APIs?  How it is done?  What is local mode what.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Rsv-control Marco Mambelli – Site Coordination meeting October 1, 2009.
Conditions and Terms of Use
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
Status of the Antarctic Master Directory SCADM Meeting, August 22, 2014.
K. Harrison CERN, 20th April 2004 AJDL interface and LCG submission - Overview of AJDL - Using AJDL from Python - LCG submission.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
CYBERINFRASTRUCTURE FOR THE GEOSCIENCES Data Replication Service Sandeep Chandra GEON Systems Group San Diego Supercomputer Center.
Some Design Notes Iteration - 2 Method - 1 Extractor main program Runs from an external VM Listens for RabbitMQ messages Starts a light database engine.
SAN DIEGO SUPERCOMPUTER CENTER Inca Data Display (data consumers) Shava Smallen Inca Workshop September 5, 2008.
1 © Copyright 2000 Ethel Schuster The Web… in 15 minutes Ethel Schuster
CSC 2720 Building Web Applications Server-side Scripting with PHP.
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
Implementing the XDS Infrastructure Bill Majurski IT Infrastructure National Institute of Standards and Technology.
_______________________________________________________________CMAQ Libraries and Utilities ___________________________________________________Community.
Software Documentation Section 5.5 ALBING’s Section JIA’s Appendix B JIA’s.
SAN DIEGO SUPERCOMPUTER CENTER Inca TeraGrid Status Kate Ericson November 2, 2006.
National Center for Supercomputing ApplicationsNational Computational Science Grid Packaging Technology Technical Talk University of Wisconsin Condor/GPT.
David Adams ATLAS DIAL/ADA JDL and catalogs David Adams BNL December 4, 2003 ATLAS software workshop Production session CERN.
SAN DIEGO SUPERCOMPUTER CENTER Inside the Inca Depot Jim Hayes Inca Workshop September 4-5, 2008.
APST Internals Sathish Vadhiyar. apstd daemon should be started on the local resource Opens a port to listen for apst client requests Runs on the host.
Overview of the Automated Build & Deployment Process Johnita Beasley Tuesday, April 29, 2008.
CH 13 Server and Network Monitoring. Hands-On Microsoft Windows Server Objectives Understand the importance of server monitoring Monitor server.
SAN DIEGO SUPERCOMPUTER CENTER Inca Control Infrastructure Shava Smallen Inca Workshop September 4, 2008.
SAN DIEGO SUPERCOMPUTER CENTER Using the Inca APIs Jim Hayes Inca Workshop September 4-5, 2008.
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
EGEE-III INFSO-RI Enabling Grids for E-sciencE Ricardo Rocha CERN (IT/GS) EGEE’08, September 2008, Istanbul, TURKEY Experiment.
SAN DIEGO SUPERCOMPUTER CENTER Administering Inca with incat Jim Hayes Inca Workshop September 4-5, 2008.
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
ClearQuest XML Server with ClearCase Integration Northwest Rational User’s Group February 22, 2007 Frank Scholz Casey Stewart
 2001 Prentice Hall, Inc. All rights reserved. Chapter 7 - Introduction to Common Gateway Interface (CGI) Outline 7.1Introduction 7.2A Simple HTTP Transaction.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
1 G52IWS: Example Web-services Chris Greenhalgh. 2 Contents Software requirements AXIS web service run-time components Getting started with Jetty & AXIS.
Korea Workshop May GAE CMS Analysis (Example) Michael Thomas (on behalf of the GAE group)
LSF Universus By Robert Stober Systems Engineer Platform Computing, Inc.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Hyperion Artifact Life Cycle Management Agenda  Overview  Demo  Tips & Tricks  Takeaways  Queries.
Lemon Tutorial Sensor How-To Miroslav Siket, Dennis Waldron CERN-IT/FIO-FD.
SAN DIEGO SUPERCOMPUTER CENTER Welcome to the 2nd Inca Workshop Sponsored by the NSF September 4 & 5, 2008 Presenters: Shava Smallen
STAR Scheduling status Gabriele Carcassi 9 September 2002.
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 Technical Overview Jakub T. Moscicki, CERN.
Using Ant in Eclipse Dwight Deugo Nesa Matic
Geant4 GRID production Sangwan Kim, Vu Trong Hieu, AD At KISTI.
Job Management Beijing, 13-15/11/2013. Overview Beijing, /11/2013 DIRAC Tutorial2  DIRAC JDL  DIRAC Commands  Tutorial Exercises  What do you.
Access Grid Workshop – APAC ‘05 Node Services Development Thomas D. Uram Argonne National Laboratory.
Architecture Review 10/11/2004
Air Plugins Extending and customizing uDeploy (IBM UrbanCode Deploy)
Python’s Modules Noah Black.
Module 01 ETICS Overview ETICS Online Tutorials
Production Manager Tools (New Architecture)
Presentation transcript:

SAN DIEGO SUPERCOMPUTER CENTER Working with Inca Reporters Jim Hayes Inca Workshop September 4-5, 2008

SAN DIEGO SUPERCOMPUTER CENTER Outline Reporter Definition Using the Reporter Libraries Reporters in an Inca Deployment Meta-Reporters

SAN DIEGO SUPERCOMPUTER CENTER Reporters Collect Monitoring Data A Reporter is an executable program that measures some aspect of the system or installed software Requirements: Support four specific command-line options Write XML (Inca Reporter schema) to stdout Can be used outside of Inca

SAN DIEGO SUPERCOMPUTER CENTER Reporters Support Four Options --help[=yes|no] If yes, reporter prints help, then exits --version[=yes|no] If yes, reporter prints version, then exits --log=0|1|2|3|4|error|warn|system|info|debug Selects log messages to include in output --verbose=0|1|2 Output plain text or Inca Report XML

SAN DIEGO SUPERCOMPUTER CENTER Well-formed XML; otherwise unrestricted T18:31:08Z cuzco.sdsc.edu cluster.compiler.any.unit 2 /home/jhayes/inca/install bin/cluster.compiler.any.unit compiler gcc … gcc true Reporters Output Inca Report XML ISO8601 formatOptional tag tag on failure

SAN DIEGO SUPERCOMPUTER CENTER Tag Documents Reporter Execution T21:21:08Z (gcc src471.c -o src471 &&./src471) T21:21:08Z /bin/rm -f src471*

SAN DIEGO SUPERCOMPUTER CENTER Tag Describes Reporter help cluster.compiler.any.unit 2 Tests that a specified compiler compiles hello world verbose [012] verbosity level (0|1|2) 1... Inca::Reporter Inca::Reporter::SimpleUnit

SAN DIEGO SUPERCOMPUTER CENTER Outline Reporter Definition Using the Reporter Libraries Reporters in an Inca Deployment Meta-Reporters

SAN DIEGO SUPERCOMPUTER CENTER Libraries Support Common Reporter Tasks Documentation Reporter PurposePerl LibraryPython Library General reportInca::Reporterinca.Reporter Software version testingInca::Reporter::Versioninca.VersionReporter Software unit testingInca::Reporter::SimpleUnitinca.SimpleUnitReporter Globus unit testingInca::Reporter::GlobusUnitinca.GlobusUnitReporter System performance testingInca::Reporter::Performanceinca.PerformanceReporter

SAN DIEGO SUPERCOMPUTER CENTER Reporter Library Implements Base Methods Inca::Reporter inca.Reporter Base class for all reporters Handles command-line parsing Provides interface for log message generation Automates generation of Report header information--hostname, time, reporter name, etc. Supports construction of XML for body Directly used only by reporters that gather miscellaneous information--user environment, system CPU, etc.

SAN DIEGO SUPERCOMPUTER CENTER An Example Base Reporter Body env HOME /Users/jhayes JAVA_HOME /Library/Java/Home PERL5LIB /sw/lib/perl5:/sw/lib/perl5/darwin ID/Value pairs

SAN DIEGO SUPERCOMPUTER CENTER Perl Base Reporter Code use Inca::Reporter; my $reporter = new Inca::Reporter (version => 3, description => 'Reports all environment settings'); foreach my $line(split(/\n/, $reporter->loggedCommand('sh -c set'))) { my ($var, $value) = $line =~ /(\w+)=(.*)/; $reporter->xmlElement('var', 0, $reporter->xmlElement('ID', 0, $var), $reporter->xmlElement('value', 1, $value))); } $reporter->setBody( $reporter->xmlElement('env', 0, $reporter->xmlElement('ID', 0, $reporter->setResult(1); $reporter->print();

SAN DIEGO SUPERCOMPUTER CENTER Python Base Reporter Code import re; import sys; from inca.Reporter import Reporter reporter = Reporter(version=3, description='Reports all environment settings') reporter.processArgv(sys.argv[1:]) varXmls = [] for line in reporter.loggedCommandOutput('sh -c set').split('\n'): parsed = re.match('(\w+)=(.*)', line) varXmls.append( reporter.xmlElement('var', 0, reporter.xmlElement('ID', 0, parsed.group(1)), reporter.xmlElement('value', 1, parsed.group(2)))) reporter.setBody( reporter.xmlElement('env', 0, reporter.xmlElement('ID', 0, 'env'), *varXmls)) reporter.setResult(1) reporter.printReport()

SAN DIEGO SUPERCOMPUTER CENTER Version Reporter Library Inca::Reporter::Version inca.VersionReporter Defines common schema for version reporters Supports subpackage versions Automates common ways of determining version: gcc --dumpversion grep '#define PVFS_RELEASE_NR': $PVFS_HOME/include/pvfs_config.h gpt_query | grep '^condor.*version:'

SAN DIEGO SUPERCOMPUTER CENTER A Typical Version Reporter Body openssh 3.6.1p1 ID/Value pair

SAN DIEGO SUPERCOMPUTER CENTER Perl Version Reporter Code use Inca::Reporter::Version; my $reporter = new Inca::Reporter::Version(package_name => 'openssh'); $reporter->addArg('ssh', 'ssh command', 'ssh'); my $ssh = $reporter->argValue('ssh'); $reporter->setVersionByExecutable ("$ssh -V", 'OpenSSH_([\w\.]+)|GSI ([\w\.\-]+)'); $reporter->print();

SAN DIEGO SUPERCOMPUTER CENTER Python Version Reporter Code import sys; from inca.VersionReporter import VersionReporter reporter = VersionReporter(package_name='openssh') reporter.addArg('ssh', 'ssh command', 'ssh') reporter.processArgv(sys.argv[1:]) ssh = reporter.argValue('ssh') reporter.setVersionByExecutable( ssh + ' -V', 'OpenSSH_([\w\.]+)|GSI ([\w\.\-]+)') reporter.printReport()

SAN DIEGO SUPERCOMPUTER CENTER SimpleUnit Library Inca::Reporter::SimpleUnit inca.SimpleUnitReporter Defines common schema for unit test reporters Tests functionality of libraries and applications Reporter author determines definition of success Provides methods for recording test success or failure

SAN DIEGO SUPERCOMPUTER CENTER A Typical SimpleUnit Reporter Body posixps

SAN DIEGO SUPERCOMPUTER CENTER Perl SimpleUnit Reporter Code use Inca::Reporter::SimpleUnit; my $reporter = new Inca::Reporter::SimpleUnit(unit_name => 'posixps'); my $output = $reporter->loggedCommand('ps -Af'); if($? == 0) { $reporter->unitSuccess(); } else { $reporter->unitFailure(output); } $reporter->print();

SAN DIEGO SUPERCOMPUTER CENTER Python SimpleUnit Reporter Code import sys; from inca.SimpleUnitReporter import SimpleUnitReporter reporter = SimpleUnitReporter(unit_name='posixps') reporter.processArgv(sys.argv[1:]) (status, output) = reporter.loggedCommandStatusOutput('ps -Af') if status == 0: reporter.unitSuccess() else: reporter.unitFailure(output) reporter.printReport()

SAN DIEGO SUPERCOMPUTER CENTER GlobusUnit Library Inca::Reporter::GlobusUnit inca.GlobusUnitReporter Extends SimpleUnit Supports reporters that test Globus components Provides methods for execution via Globus--submitJob and submitCSource

SAN DIEGO SUPERCOMPUTER CENTER Performance Reporter Library Inca::Reporter::Performance inca.PerformanceReporter Defines common schema for system/software performance metric reporters Allows recording of a collection of benchmarks, each a set of parameters (name/value) and statistics (name/value/units)

SAN DIEGO SUPERCOMPUTER CENTER A Typical Performance Reporter Body ping ping host cuzco.sdsc.edu round_trip 11.3 ms

SAN DIEGO SUPERCOMPUTER CENTER Perl Performance Reporter Code use Inca::Reporter::Performance; my $reporter = new Inca::Reporter::Performance(measurement_name => 'ping'); $reporter->addArg('host', 'target host'); my $host = $reporter->argValue('host'); if(!open(INPUT, "ping $host|")) { $reporter->setResult(0, 'ping not available'); } else { my $line = ; $line = ; if($line =~ /time *= *([\d.]+) *(\S*)/) { my $benchmark = $reporter->addNewBenchmark('ping'); $benchmark->setParameter('host', $host); $benchmark->setStatistic('round_trip', $1, $2); $reporter->setCompleted(1); } $reporter->print();

SAN DIEGO SUPERCOMPUTER CENTER Python Performance Reporter Code import os; import popen2; import re; import sys from inca.PerformanceReporter import PerformanceReporter reporter = PerformanceReporter(measurement_name='ping') reporter.addArg('host', 'target host') reporter.processArgv(sys.argv[1:]) host = reporter.argValue('host') try: child = popen2.Popen3('ping ' + host) line = child.fromchild.readline(); line = child.fromchild.readline() parsed = re.search('time *= *([\d.]+) *(\S*)', line) benchmark = reporter.addNewBenchmark('ping') benchmark.setParameter('host', host) benchmark.setStatistic('round_trip', parsed.group(1), parsed.group(2)) os.kill(child.pid, 9); child.wait() reporter.setCompleted(1) except IOError: reporter.setResult(0, 'ping not available') reporter.printReport()

SAN DIEGO SUPERCOMPUTER CENTER Outline Reporter Definition Using the Reporter Libraries Reporters in an Inca Deployment Meta-Reporters

SAN DIEGO SUPERCOMPUTER CENTER Agent and Managers Work With Reporters Agent forwards reporters from Repositories to Reporter Managers Managers run Reporters as per administrator’s schedule and send output and meta-data to Depot Grid Resource … Reporter Manager Reporter Repository Agent Depot R Data Consumers Grid Resource Reporter Manager R R C Incat r r S S S

SAN DIEGO SUPERCOMPUTER CENTER Reporter Repositories Publish Reporters Collection of files made available via a URL Inca knows how to handle Reporters, Perl/Python modules,.tar.gz packages Inca standard repository ( contains Reporter libraries and 177 reporters: 91 version, 73 unit, 13 general Packages.gz catalog of repository contents allows automated retrieval

SAN DIEGO SUPERCOMPUTER CENTER Packages.gz Lists Reporter Attributes arguments: help no|yes no host.* log [012345]|debug|error|info|system|warn 0 verbose [012] 1 version no|yes no dependencies: Inca::Reporter Inca::Reporter::Performance Inca::Reporter::Performance::Benchmark name: grid.benchmark.performance.ping file: bin/grid.benchmark.performance.ping description: Reports the ping time to a given host url: version: 2 arguments: help no|yes no log [012345]|debug|error|info|system|warn 0 verbose [012] 1 version no|yes no dependencies: Inca::Reporter Inca::Reporter::Version description: Reports the version of tgresid file: bin/cluster.admin.tgresid.version name: cluster.admin.tgresid.version version: 3 arguments: help no|yes no log [012345]|debug|error|info|system|warn 0 verbose [012] 1 version no|yes no dependencies: Inca::Reporter description: Reports top non-root CPU % process file: bin/cluster.admin.topcpu name: cluster.admin.topcpu url: version: 3 arguments: dir.* help no|yes no log [012345]|debug|error|info|system|warn 0 verbose [012] 1 version no|yes no dependencies: Inca::Reporter Inca::Reporter::Version description: Reports the version of xcat file: bin/cluster.admin.xcat.version name: cluster.admin.xcat.version url: version: 2`

SAN DIEGO SUPERCOMPUTER CENTER incpack Tool Edits Packages.gz incpack [-I path …] [-X] path [[-X] path …] Creates or appends to Packages.gz by running reporters and reading.attrib files -I -- include library for running reporters -X -- exclude path (e.g., test directory) from catalog

SAN DIEGO SUPERCOMPUTER CENTER Reporters Can Require Other Packages Reporter addDependency method notes that a Reporter needs another package to run Required package must be in Reporter Repository Agent forwards package to Manager, which builds it via, e.g., configure/make Reporter dependency on GridProxy pseudo-package indicates that it requires a credential to run Examples: $reporter->addDependency('Date::Manip'); $reporter->addDependency('sampleGridJob'); $reporter->addDependency('Inca::Reporter::GridProxy');

SAN DIEGO SUPERCOMPUTER CENTER Outline Reporter Definition Using the Reporter Libraries Reporters in an Inca Deployment Meta-Reporters

SAN DIEGO SUPERCOMPUTER CENTER Special Reporter Submits to Batch Queues cluster.batch.wrapper reports queue wait time or output of a specified reporter Supports cobalt, dql, loadleveler, lsf, pub, sge Batch-specific arguments --account, --nodes, --queue, etc. Example: cluster.batch.wrapper \ --scheduler=pbs --account=alf63 \ --exec='cluster.compiler.gcc.version'

SAN DIEGO SUPERCOMPUTER CENTER Summary Reporters Analyze Series New class of reporters to analyze series history and combine series Get series data from Inca Consumer or Web Service Example: summary.successpct.performance reports collective success % of multiple series

SAN DIEGO SUPERCOMPUTER CENTER An Example Summary Reporter Body successpct successpct filter all2all:gsissh_to_.* … all2all:gsissh_to_bg-login1.sdsc.teragrid.org-fail 1 all2all:gsissh_to_bg-login1.sdsc.teragrid.org-pct 94 all2all:gsissh_to_bg-login1.sdsc.teragrid.org-success 18 …

SAN DIEGO SUPERCOMPUTER CENTER Agenda -- Day 1 9: :00Inca overview 10: :00Working with Inca Reporters 11: :00Hands-on: Reporter API and Repository 1:00 - 2:00Inca Control Infrastructure 2:00 - 3:00Administering Inca with incat 3:15 - 4:00Hands-on: Inca deployment (part 1)

SAN DIEGO SUPERCOMPUTER CENTER For the Tutorial … setenv PERL5LIB ~train31/reporters/lib/perl setenv PYTHONPATH ~train31/reporters/lib/python Run reporter #5 on ~train31/jars