Changes between Initial Version and Version 1 of GIR2.1_NetKarma

03/14/11 22:00:54 (11 years ago)



  • GIR2.1_NetKarma

    v1 v1  
     1== !NetKarma Evaluation ==
     3The gush2netkarma package deliverable is a script that uses a set of rules to read a log file and generate appropriate provenance information.   The initial version was deemed too old (GEC7 version), a new version [ geni_adaptor.tar.gz ](GEC8 version) was made available on Aug 3rd and requires a download password. Time frame for GEC8 version: This evaluation took place August 25-28, 2010.
     5A second version was made available on September 13, which delivered a new ruleset to handle log issues discovered in the previous evaluation.
     7== !NetKarma Findings ==
     9Requested account to get access to code that allows experiment provenance capture using GUSH. The [] file is available Global Research NOC.
     11 * Pre-requisite of openjdk-6-jre and sun-java6-jdk not documented.
     12 * Installation instructions need clarification about the expected location of the various files. 
     13 * Initial make fails with what seems like a missing file error.
     14 * sets CLASSPATH for java-1.6.0-open-jdk but does not set PATH for /usr/lib/jvm/java-1.6.0-openjdk/bin
     16Found from PI that version available is the deliverable of the first generation adaptor and that the version
     17posted is suited to the purposes of the GEC7 demo only.  Developer is working on cleaning that up and posting
     18a version that has a clear separation of the front end adaptor, and demo-only back end graph generation. 
     20The GEC8 version was downloaded on August 3. Upon use, it was found that some prerequisites where not captured:
     21    * graphviz: rich set of graph drawing tools
     22    * libgtkglext1: OpenGL Extension to GTK+ (shared libraries)
     23    * libgts-dev: GNU Triangulated Surface Library
     24Only the graphviz tool was added to the list of pre-requisistes.
     26Once all pre-requisites were installed, using logs from gush testing revealed an issue with the ruleset.xml delivered.
     27Tried to verify that new ruleset addresses issues in September 3rd version.
     29== !NetKarma How-to ==
     31'''!NetKarma GEC7 Version How-to'''
     33The GEC7 version of the netkarma tgz files deliver a Readme.txt which describes installation and run time:
     37The package has 4 parts:
     38i) src: contains the java files for parsing the logfiles.
     39ii) lib: contains jar files required for successful execution of the parser.
     40iii) the visualization tool for OPM graphs.
     41iv) config-files and shell-scripts: required for executing theend-to-end process for generating OPM graphs.
     44i) Copy the src/*.java files in a directory where the config-files & shell-scripts have been kept.
     45ii) Copy the lib directory.
     46iii) Unzip the OPM-toolbox
     47iv) Modify the config-parameters ($CLASSPATH & $JAVA_HOME) in and, if required.
     50Compile the source-code using the following commands:-
     51i) source
     52ii) make
     55The package also contains the following files which are required for the programs to execute:-
     56i) ruleset.xml: the rule file to parse the geni logfiles.
     57ii) some decode-info for the ruleset.
     61To generate the OPM graph, run the shell-script as:
     62./ <rule.xml file> <logfile> <out_opm_file> <.dot file> <.pdf file> <opmtoolbox-path>
     651. Unpacked the which created directory named !NetKarmaFiles.
     672. Executed the "Configuration-info" steps:
     69   * Not sure what is the target of step i. Some configuration files are delivered at the top level of the !NetKarmaFiles
     70directory, so I created links in the !NetKarmaFiles to the "src*.java" files.
     72   * The file "" and "" files set CLASSPATH to a directory named ~/geni_parser, based on this, the step ii copies the '''lib''' to '''~/geni_parser''' directory.
     74   * Unzip a files named "" which created a directory named "OPM-toolbox".
     76   * Did not modify configuration parameters as files were placed in expected locations.
     783. Executed "Compilation" steps, ran into undocumented requirements:
     79  * Two packages had to be installed: openjdk-6-jre and sun-java6-jdk.
     80  * The sets the CLASSPATH, but also PATH needs to be set to point to /usr/lib/jvm/java-1.6.0-openjdk/bin
     82Once the above were completed, was able to execute the compilation steps:
     84 $ source
     85 $ make
     86 javac -g
     87 javac -g
     88 javac -g
     89 javac -g
     90 javac -g
     91 javac -g
     92 javac -g
     93 javac -g
     94 javac -g
     95 javac -g
     98Tried to use Provenance collector script, but not enough information is available, could not get details
     99about parameters and their meaning:
     101 $ ./
     102Usage: ./ <rule.xml file> <logfile> <out_opm_file> <.dot file> <.pdf file> <opmtoolbox-path>
     105'''!NetKarma GEC8 Version How-to'''
     1071. Downloaded geni_adaptor.tar.gz from
     1092. Unpacked the tgz bundle which delivers a directory named '''geni_parser''' containing a Readme.txt:
     113# Copyright 2010 The Trustees of Indiana University
     115# Licensed under the Apache License, Version 2.0 (the "License");
     116# you may not use this file except in compliance with the License.
     117# You may obtain a copy of the License at
     121# Unless required by applicable law or agreed to in writing, software
     122# distributed under the License is distributed on an "AS IS" BASIS,
     123# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     124# See the License for the specific language governing permissions and
     125# limitations under the License.
     127# -----------------------------------------------------------------
     129# Project:  NetKarma Provenance Service Adaptor
     130# File:  Readme.txt
     131# Description: 
     132#    This prototype provenance collection adaptor mines a log file against a
     133#    set of rules and generates provenance events.  The provenance events would
     134#    normally be sent to the Karma service, but in this GEC7 demo (March 2010), the provenance
     135#    events are written to a file.  The file is then fed as input to a visualization
     136#    client that reads the file and generates a visual representation of the provenance
     137#    graph.
     138# -----------------------------------------------------------------
     141This module can be built from the included source.
     144Building from Source:
     147i)  Apache-Ant  (the directory where this is installed is referred to as ANT_HOME)
     148ii) JDK 1.6     (the directory where this is installed is referred to as JAVA_HOME)
     150Edit the Configuration File:
     151In the file, set the paths for the GENI_HOME, JAVA_HOME, and ANT_HOME
     152environment variables to match the directory where you unzipped the tarball (GENI_HOME)
     153and where you installed java and ant respectively.
     155Aside from the above prerequisites, all of the necessary source, configuration files,
     156and jars are included in the tarball named geni_adaptor.tar.gz.  Unzip this tarball and it will
     157create a directory named geni_parser (containing this readme file) that will be
     158your build and installation directory.
     159This installation directory is referred to as <GENI_HOME>.
     161Also, unzip the
     163This module is built and run using a set of scripts.  The scripts in the <GENI_HOME>
     164directory are configured for the bash shell.  If you are using the C shell, please
     165use the scripts in the <GENI_HOME>/tcsh_scripts instead.
     167To build the parser, run the following script in the <GENI_HOME> directory.
     170If you encounter an error, please be sure that both ANT and JDK 1.6 are on
     171your path.
     173Running the Geni Parser:
     175Edit the Configuration File:
     176Similar to compiling, please edit the settings for GENI_HOME and JAVA_HOME in the
     177geni_stdenvs.cfg file used to set the environment for running the parser.
     179Specifying the Rules Files:
     180When the parser is run it expects the following two files which are used to specify
     181the rules used to map log entries into notifications. Defaults are included for these
     182in the <GENI_HOME> directory:
     183 i) ruleset.xml: the rule file to parse the geni logfiles.
     184 ii) some decode-info for the ruleset.
     188To generate the OPM graph, run the shell-script as: <logfile>
     190where <logfile> is the log-file which is to be parsed
     192There is a sample log file named "logfile-ubuntu-15555-1267499048.txt" in the tarball.
     196In case, you get any java-runtime linkage error for jaxb-api, put the
     197lib/jaxb-api-2.1.jar in <JAVA_HOME>/lib/endorsed directory.
     2003. Install Apache Ant and JDK 1.6:
     202  $ sudo apt-get install ant
     203  $ sudo apt-get install sun-java6-jdk
     2054. Edit the configuration file to set GENI_HOME, JAVA_HOME, and ANT_HOME:
     208  export GENI_HOME=/home/lnevers/NetKarma/geni_parser
     209  export JAVA_HOME=/usr/lib/jvm/java-6-sun-
     210  export ANT_HOME=/usr/share/ant
     211  export PATH=$ANT_HOME/bin:$JAVA_HOME/bin:$PATH
     213  export CLASSPATH=$GENI_HOME/lib/provInfo.jar:$GENI_HOME/lib/commons-lang-2.3.jar:$GENI_HOME/lib/jaxb-impl.jar:$GENI_HOME/lib/jsr173_1.0_api.jar:$GENI_HOME/lib/opm-core-1.1.1.jar:$GENI_HOME/lib/opm-elmo-1.1.1.jar:$GENI_HOME/lib/Ruleset.jar:$GENI_HOME/lib/runtime-$GENI_HOME/lib/xbean.jar:$GENI_HOME/lib/xml-apis-1.0.b2.jar:.
     2175. Unzipped, which created a directory named opmToolbox:
     219  $ unzip
     2226. Compiled the parser tool:
     224 lnevers@sendaria:~/NetKarma/geni_parser$ ./
     225 Buildfile: build.xml
     227 build-subprojects:
     229 init:
     231 build-project:
     232     [echo] Geni-Update-1.0: /home/lnevers/NetKarma/geni_parser/build.xml
     233    [javac] Compiling 11 source files to /home/lnevers/NetKarma/geni_parser/bin
     235 build:
     238 Total time: 1 second
     2417. Running the parser tool requires the following:
     243 * Edit the geni_stdenvs.cfg gile to set GENI_HOME and JAVA_HOME
     244 * Check rule files ruleset.xml and
     246Note: Initial attempt to run the parser showed a failure which resulted in the following packages being identified as required:
     248 $ sudo apt-get install graphviz
     249 $ sudo apt-get install libgtkglext1
     250 $ sudo apt-get install libgts-dev
     253Once the prerequisites are install, the parser can be run:
     255 $ ./ logfile-ubuntu-15555-1267499048.txt
     258The script generates 4 output files:
     260 *
     261 * opm_out.pdf
     262 * opm_out.rdf
     263 * opm_out.xml
     265The opm_out.pdf for logfile-ubuntu-15555-1267499048.txt shows the following:
     268The opm_out.rdf for logfile-ubuntu-15555-1267499048.txt when viewed with suggested RDF tools Welkin:
     271A "Play" button on the drawing tab for welkin tools moved the nodes in the upper-right-hand quadrant:
     274The for logfile-ubuntu-15555-1267499048.txt shows the following: