[[PageOutline]] = GIMI Testing executed on 8/7/2012 = [[BR]] [wiki:GIMIAcceptanceTests/TestStatus Status of All Tests] [[BR]] [[BR]] [[BR]] || '''Step''' || '''Status''' || '''Open Tickets''' || || 1. [wiki:GIMIAcceptanceTests/GIMITest8.7.2012#a1.Establishtestexperimentenvironment Establish test/experiment environment] || || || || 2. [wiki:GIMIAcceptanceTests/GIMITest8.7.2012#a2.ObtainsliceofGENIresourcesinstallandconfigureGIMIIMtools Obtain slice of GENI resources, install and configure GIMI I&M tools] || || || || 3. [wiki:GIMIAcceptanceTests/GIMITest8.7.2012#a3.RunandorchestrateGIMIIMtoolsandreferenceactualexperiment Run and orchestrate GIMI I&M tools and reference/actual experiment] || || || || 4. [wiki:GIMIAcceptanceTests/GIMITest8.7.2012#a4.PushIMmeasurementresultstoiRODSarchiveservice Push I&M measurement results to iRODS archive service] || || || || 5. [wiki:GIMIAcceptanceTests/GIMITest8.7.2012#a5.PullIMmeasurementresultsfromiRODSarchiveservicetoUWiREEL Pull I&M measurement results from iRODS archive service to UW for processing] || |||| || 6. [wiki:GIMIAcceptanceTests/GIMITest8.7.2012#a6.ObserveIMmeasurementresultsonGIMIpresentationservice Observe I&M measurement results on GIMI presentation service] || || || || 7. [wiki:GIMIAcceptanceTests/GIMITest8.7.2012#a7.PushAnalysisResultstoiRODSarchiveservice Push Analysis Results to iRODS archive service] || || || || 8. [wiki:GIMIAcceptanceTests/GIMITest8.7.2012#a8.Releaseresourcesandcleanup Release resources, and cleanup] || || || == 1. Establish test/experiment environment == [[Image(wiki:JOhrenSandbox/GIMINotes8.1.2012:GIMIEnvironment.png)]] === User Workspace === Same as [wiki:JOhrenSandbox/GIMINotes8.1.2012#a1.Establishtestexperimentenvironment 8.1.2012 configuration]. === iRODS server === Same as [wiki:JOhrenSandbox/GIMINotes8.1.2012#a1.Establishtestexperimentenvironment 8.1.2012 configuration]. === OML server === * Installed on pc41.emulab.net * Upgraded oml2_server, liboml2-0, and libocomm0 to version 2.8.1 * Started oml2-server on the command line {{{ $ oml2-server --listen=3003 --data-dir=/users/johren/gimi --logfile=/users/johren/oml_server.log -H /users/johren/oml2-server-hook.sh }}} * Configured hook script to use my iRODS server {{{ *************** *** 23,31 **** # THE SOFTWARE. # irodsUserName=rods ! irodsHost=emmy8.casa.umass.edu irodsPort=1247 ! irodsZone=geniRenci export irodsUserName irodsHost irodsPort irodsZone # XXX: You might need to initialise the iRODS password for the UNIX user --- 23,31 ---- # THE SOFTWARE. # irodsUserName=rods ! irodsHost=pc41.emulab.net irodsPort=1247 ! irodsZone=bbnZone export irodsUserName irodsHost irodsPort irodsZone # XXX: You might need to initialise the iRODS password for the UNIX user }}} * Configured /etc/omf-expctl-5.4/omf-expctl.yaml to point to my OML server (can also be specified on the command line) {{{ # URI to the OML server to use for this EC # (can be overwritten on the EC command line) :omluri: 'tcp:pc41.emulab.net:3003' }}} == 2. Obtain slice of GENI resources, install and configure GIMI I&M tools == * Used omni to create the slice and the sliver on ExoSM aggregate * Rspec includes an execute service for each node that downloads [https://github.com/johren/GENI-UserWorkspace/blob/master/GIMI/gimi-postboot.sh gimi-postboot.sh] from the web server (on pc41.emulab.net) and runs it with the slicename and nodeid parameters {{{ }}} * Inputs: * [https://github.com/johren/GENI-UserWorkspace/blob/master/GIMI/gimi-template.rspec rspec template] - %SLICENAME% must be replaced by the slice name when using this script * Output: * slice manifest * slice login information * all nodes are ready to run the experiment * hostname is set * oml2-iperf installed * RC is configured and running == 3. Run and orchestrate GIMI I&M tools and reference/actual experiment == * Run the tcp_iperf.rb script using the EC on the UW VM {{{ $ omf-5.4 exec --no-cmc -S johGIM1208071301 tcp_iperf.rb -- --source1 johGIM1208071301-NodeA --sink johGIM1208071301-NodeC }}} * Inputs: * slicename * tcp_iperf.rb * Outputs: * sq3 database file on the OML server == 4. Push I&M measurement results to iRODS archive service == * This is done by the oml2-server-hook.sh script * I had to do a lot of modification to this script because it is very tailored to the OML server configuration * Pulls filename and username from the path of the file so it is very dependent upon the filesystem configuration of the server (e.g. home directories are in /users instead of /home) {{{ ! NAME=${DBFILE:12:6}; ! FILE=${DBFILE:12}; ----------- ! NAME=${DBFILE:7:6}; ! FILE=${DBFILE:19}; }}} * Had to make some changes to the ichmod commands to get it to work with my iRODS server {{{ ! ichmod -M own $NAME /geniRenci/home/$NAME/$FILE ! iput -f ${DBFILE} /geniRenci/home/$NAME/$FILE; ! imeta add -d /geniRenci/home/$NAME/$FILE Date ${DATE} ! imeta add -d /geniRenci/home/$NAME/$FILE UserName $NAME ! imeta add -d /geniRenci/home/$NAME/$FILE SliceName $SLICE -------- ! ichmod -M own rods /bbnZone/home/$NAME ! iput -f ${DBFILE} /bbnZone/home/$NAME/$FILE; ! ichmod -M own $NAME /bbnZone/home/$NAME/$FILE ! imeta add -d /bbnZone/home/$NAME/$FILE Date ${DATE} ! imeta add -d /bbnZone/home/$NAME/$FILE UserName $NAME ! imeta add -d /bbnZone/home/$NAME/$FILE SliceName $SLICE }}} * The hook script currently expects the usernames to begin with "gimi". I had to modify my script to look specifically for my username. '''This will not currently work on emmy9 when experimenters use their own credentials''' {{{ ! if [[ $NAME =~ ^gimi[0-9] ]]; then -------- ! if [[ $NAME =~ ^johren ]]; then }}} * Inputs: * oml2-server-hook script running on the OML server * sq3 database file on the OML server * Outputs: * sq3 database file in experimenter's home location on the iRODS server * experimenter is able to iget the sq3 file == 5. Pull I&M measurement results from iRODS archive service to UW/iREEL == * Ran the tutorial_viz.sh command to pull the results from iRODS and run the R script on it to create the images {{{ $ ./tutorial_viz.sh johGIM1208071301 }}} * Inputs: * sq3 file is accessible in the experimenter's home location on the iRODS server {{{ geniuser@UserWorkspace:~$ ils /bbnZone/home/johren: gimirun1.sq3 johGIM1207311032.sq3 johGIM1208011452.sq3 johGIM1208061034.sq3 johGIM1208061255.sq3 johGIM1208071043.sq3 johGIM1208071301.sq3 <------ johGIM1208071316.sq3 }}} * Outputs: * visualization images available on the web server on the UW {{{ geniuser@UserWorkspace:~$ ls /var/www index.html johGIM1208071301.png <------ johGIM1208071316.png oml.html <------ }}} == 6. Observe I&M measurement results on GIMI presentation service == Right now, the presentation service is the web server on the UW. I observed the results by pointing the browser at http://localhost/oml.html [[Image(wiki:JOhrenSandbox/GIMINotes8.1.2012:GIMIEnvironment.png)]] * Inputs: * None * Outputs: * visualization images viewable in the web server on the UW == 7. Push Analysis Results to iRODS archive service == Used the i-command iput to push the analysis image to iRODS. {{{ geniuser@UserWorkspace:/var/www$ iput johGIM1208071301.png geniuser@UserWorkspace:/var/www$ ils /bbnZone/home/johren: gimirun1.sq3 johGIM1207311032.sq3 johGIM1208011452.sq3 johGIM1208061034.sq3 johGIM1208061255.sq3 johGIM1208071043.sq3 johGIM1208071301.png <------ johGIM1208071301.sq3 johGIM1208071316.sq3 }}} Logged in to the iRODS web interface and viewed the image. [[Image(wiki:GIMIAcceptanceTests/GIMITest8.7.2012:ScreenShot2012-08-07at2.09.07PM.png]] * Inputs: * visualization images in UW * Outputs: * visualization images viewable in iRODS == 8. Release resources, and cleanup == * Used omni to delete the sliver * When should the data on the OML server be cleaned up? * Inputs: * slice name * Outputs: * sliver has been deleted