Version 22 (modified by, 9 years ago) (diff)


GIMI Documentation


For each service we need documentation for installation and administration.



Job Service


OML server




GIMI Experiment Service

[Jack or Thierry?]


iRODS, which stands for integrated Rule-Oriented Digital System, is an open-source data management software in use at research organizations and government agencies worldwide. iRODS acts as middleware sitting on top of the distributed storage systems and underneath the user applications that require archiving, processing and disseminating data in a transparent and automated fashion. For more detailed and comprehensive descriptions, please refer to

In GIMI, we use iRODS as the back-end system to provide archive and automated processing functions to experimenters. We configured two iRODS instances, one as the production data system, the other as the environment for development purposes. The production system has the iCAT running on, and two data servers running on and is currently allocated with ~2TB disk space, which can be further increased depending on its usage. To interact with iRODS, various user interfaces are provided. For example, iCommand ( provides a UNIX-like command line interface to users who are already familiar with UNIX commands (such as ls, cp, rm, etc). iRODS also provides a rich set of APIs. For example, Jargon, a JAVA client API for iRODS, provides the REST functions so that GENI experimenters can easily create their iRODS accounts via the GENI portal. iRODS is equipped with a powerful rule language and rule engine. We developed iRODS policies and rules that recognize metadata files created based on specific schemas and automate data ingestion to help experimenters more efficiently organize and share their data.

Currently our iRODS instances are running release 3.3.


a) InstaGENI Ubuntu 12.04 Image

Image URN:
Image URL:

b) InstaGENI Ubuntu 12.04 with OVS and Trema Image ()

For the same manager, you can use
For other managers, you can use url=

c) ExoGENI Ubuntu 12.04 Image

Image URL:

Installation Procedure for Ubuntu 12.04

The detailed procedure for installing OMF6 RC maybe found at this link and for installing OML at this link

In brief:

  1. Boot IG VM with Default Ubuntu 12.04 image
  2. Login to VM and continue as root
  3. Install OMF RC
#apt-get update
#apt-get install build-essential libxml2-dev libxslt-dev libssl-dev
#apt-get install ruby1.9.1-dev ruby1.9.1
#apt-get install ruby1.9.3
#gem install omf_rc --pre
#gem install file-tail (Optional*)
#install_omf_rc -i -c

For Creating Image b), "gem install trema" is executed in the above step following gem install omf_rc. For more information on Trema, click here

  1. Test if OMF RC is installed
#echo "---
:uid: samplehostname2
:uri: amqp://
:environment: production
:debug: false" > /etc/omf_rc/config.yml
#start omf_rc
tail /var/log/omf_rc.log

After running the above you should see

[2014-06-04 22:29:50 +0000] INFO  OmfRc::Runner: Starting OMF Resource Controller version '6.1.1'
[2014-06-04 22:29:50 +0000] INFO  OmfRc::Runner: Connected using {:proto=>:amqp, :user=>"guest", :domain=>""}
  1. Install OML Client
$sudo sh -c "echo 'deb /' >> /etc/apt/sources.list.d/oml2.list"
$sudo apt-key add - < Release.key 
$sudo apt-get update
$sudo apt-get install oml2
$sudo apt-get install oml2-apps
  1. Check if OML Client is installed correctly
root@Node1:~# dpkg -l | grep "oml"
ii  gpslogger-oml2                   2.10.0-mytestbed1                 Record and store GPS measurements using OML
ii  iperf-oml2                       2.10.0-mytestbed1                 Internet Protocol bandwidth measuring tool, with OML support
ii  liboml2                          2.11.0-mytestbed1                 OML: The O? Measurement Library (metapackage)
ii  liboml2-9                        2.11.0-mytestbed1                 OML: The O? Measurement Library
ii  liboml2-dev                      2.11.0-mytestbed1                 OML measurement library headers
ii  nmetrics-oml2                    2.10.0-mytestbed1                 Measure and record system information from libsigar using OML
ii  oml2                             2.11.0-mytestbed1                 OML: The O? Measurement Library Suite (Metapackage)
ii  oml2-apps                        2.10.0-mytestbed1                 A meta-package that installs the complete standalone OML2 applications collection
ii  oml2-proxy-server                2.11.0-mytestbed1                 OML proxy server
ii  oml2-proxycon                    2.11.0-mytestbed1                 OML proxy server control script
ii  oml2-server                      2.11.0-mytestbed1                 OML measurement server
ii  otg2-oml2                        2.10.0-mytestbed1                 Orbit Traffic Generator
ii  ripwavemon-oml2                  2.10.0-mytestbed1                 Report statistics from a Navini RipWave modem
ii  trace-oml2                       2.10.0-mytestbed1                 Measure and record libtrace data using OML

*Only required if you want to parse data from a continuously growing file as shown [ here]

Postboot scripts



read -r slice1 </var/emulab/boot/nickname
slicename=$(echo $slice1 | cut -f2 -d.)


host=$(echo $host1 | cut -f1 -d.)

slice=`ruby -e "print '$slicename'[/[^+]*$/]"`
echo $host > /etc/hostname
/bin/hostname -F /etc/hostname
echo 'amqp://' > /var/omf/communication_url
echo $host-$slice > /var/omf/node_uri
restart omf_rc


slice=`ruby -e "print '$2'[/[^+]*$/]"`
echo $host > /etc/hostname
/bin/hostname -F /etc/hostname
apt-get install psmisc
echo 'amqp://' > /var/omf/communication_url
echo $host-$slice > /var/omf/node_uri
if grep 'Ubuntu' /etc/issue; then
restart omf_rc
/etc/init.d/omf_rc restart


What is done in the postboot script? What may need to change over time?

Tool Usage


  • Links to tutorials
  • Links to instructions on how to write OEDL scripts
  • Links to instructions on how to add OML capability to applications

How to Write a LabWiki application for CSV files