wiki:GIMIAcceptanceTests/GIMITest8.7.2012

Version 9 (modified by Jeanne Ohren, 12 years ago) (diff)

--

GIMI Testing executed on 8/7/2012


Status of All Tests


Step Status Open Tickets
1. Establish test/experiment environment
2. Obtain slice of GENI resources, install and configure GIMI I&M tools
3. Run and orchestrate GIMI I&M tools and reference/actual experiment
4. Push I&M measurement results to iRODS archive service
5. Pull I&M measurement results from iRODS archive service to UW for processing
6. Observe I&M measurement results on GIMI presentation service
7. Push Analysis Results to iRODS archive service
8. Release resources, and cleanup

1. Establish test/experiment environment

User Workspace

Same as 8.1.2012 configuration.

iRODS server

Same as 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 gimi-postboot.sh from the web server (on pc41.emulab.net) and runs it with the slicename and nodeid parameters
        <services>
          <execute command="wget -q -P /tmp http://pc41.emulab.net/gimi-postboot.sh ;chmod +x /tmp/gimi-postboot.sh;/tmp/gimi-postboot.sh %SLICENAME% NodeB > /tmp/gimi-postboot.log" shell="/bin/sh"/>
        </services>
    
  • Inputs:
    • 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

  • 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.

  • 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

Attachments (2)

Download all attachments as: .zip