wiki:Software/cOMF

Version 2 (modified by seskar, 11 years ago) ( diff )

Experiment Controller

Used to execute various experiments in the testbed domain. Invoked with omf command.

user@console:omf
Run a command on the testbed(s)
Usage: omf-5.4  [COMMAND] [ARGUMENT]...
  Available COMMANDs:
    help   Print this help message or a specify command usage
    exec   Execute an experiment script
    load   Load a disk image on a given set of nodes
    save   Save a disk image from a given node into a file
    tell   Switch a given set of nodes ON/OFF or reboot them
    stat   Returns the status of a given set of nodes
  To get more help on individual commands: 'omf-5.4 help [COMMAND]'
  Examples:
            omf-5.4  help exec   Return usage/help for the 'exec' command
            omf-5.4  help load   Return usage/help for the 'load' command

exec

user@console: omf help exec

OMF Experiment Controller 5.4 (git 9ac2ff9)

Execute an experiment script

Usage:  exec [OPTIONS] ExperimentName [-- EXP_OPTIONS]

	ExperimentName is the filename of the experiment script
	[EXP_OPTIONS] are any options defined in the experiment script
	[OPTIONS] are any of the following:

    -a, --allow-missing              Continue experiment even if some nodes did not check in
    -C, --configfile FILE            File containing local configuration parameters
    -c, --config NAME                Configuration section from the config file ('default' if omitted)
    -d, --debug                      Operate in debug mode
    -i, --interactive                Run the experiment controller in interactive mode
    -l, --libraries LIST             Comma separated list of libraries to load (defaults to [system:exp:stdlib,system:exp:eventlib])
        --log FILE                   File containing logging configuration information
    -m, --message MESSAGE            Message to add to experiment trace
    -n, --just-print                 Print the commands that would be executed, but do not execute them
    -p, --print URI                  Print to the console the content of the experiment resource URI
    -o, --output-result FILE         File to write final state information to
    -e, --experiment-id EXPID        Set the ID for this experiment, instead of the default standard ID
    -O, --output-app                 Display STDOUT & STDERR output from the executed applications
    -r, --reset                      If set, then reset (reboot) the nodes before the experiment
    -S, --slice NAME                 Name of the Slice where this EC should operate
    -s, --shutdown                   If set, then shut down resources at the end of an experiment
    -t, --tags TAGS                  Comma separated list of tags to add to experiment trace
        --oml-uri URI                The URI to the OML server for this experiment
    -x, --extra-libs LIST            Comma separated list of libraries to load in addition to [system:exp:stdlib,system:exp:eventlib]
        --slave-mode EXPID           Run in slave mode in disconnected experiment, EXPID is the exp. ID
        --slave-mode-resource NAME   When in slave mode, NAME is the HRN of the resource for this EC
    -h, --help                       Show this message
    -v, --version                    Show the version

load

user@console:omf help load
Install a given disk image on the nodes in a testbed
Usage:
      omf-5.4 load [-h] [-i IMAGE_PATH] [-o TIMEOUT] [-t TOPOLOGY] [-c AGGREGATE]
 
      With: 
      -h, --help                print this help message
      -c, --config AGGREGATE    use testbed AGGREGATE
      -t, --topology TOPOLOGY   a valid topology file or description (defaults to 'system:topo:all')
                                (if a file 'TOPOLOGY' doesn't exist, interpret it as a comma-separated list of nodes)
      -i, --image IMAGE         disk image to load
                                (default is 'baseline.ndz', the latest stable baseline image)
      -o, --timeout TIMEOUT     a duration (in sec.) after which imageNodes should stop waiting for
                                nodes that have not finished their image installation
                                (default is 800 sec, i.e. 13min 20sec)
          --outpath PATH        Path where the resulting Topologies should be saved
                                (default is '/tmp')
          --outprefix PREFIX    Prefix to use for naming the resulting Topologies
                                (default is your experiment ID)
 
      Some Examples: 
                    omf-5.4 load
                    omf-5.4 load -t system:topo:all -i baseline-2.4.ndz
                    omf-5.4 load -t omf.nicta.node1 -i wireless-2.6.ndz
                    omf-5.4 load -t omf.nicta.node1,omf.nicta.node2 -i baseline.ndz -o 400
                    omf-5.4 load -t system:topo:circle -i my_Own_Image.ndz
                    omf-5.4 load -t my_Own_Topology -i baseline-2.2.ndz -t 600 -c grid
                    omf-5.4 load -t my_Own_Topology --outpath ./ --outprefix my_Own_Prefix

save

omf-5.4 help save
Save a disk image from a given node into an archive file
Usage:
      omf-5.4 save -n NODE [-h] [-c AGGREGATE]
 
      With: 
      -h, --help       print this help message
      -n, --node NODE  a valid description of a single node
                       (no default here, you have to enter a node!)
 
      Some Examples: 
                    omf-5.4 save -n omf.nicta.node1
                    omf-5.4 save -n omf.nicta.node3 -c grid

tell

user@console:omf help tell
Switch ON/OFF and reboot the nodes in a testbed
Usage:
      omf-5.4 tell -a ACTION [-h] [-t TOPOLOGY] [-c AGGREGATE]
 
      With: 
      -h, --help           print this help message
 
      -a, --action ACTION  specify an action
      ACTION:
      on              turn node(s) ON
      offs            turn node(s) OFF (soft)
      offh            turn node(s) OFF (hard)
      reboot          reboots node(s) (soft)
      reset           resets node(s) (hard)
 
      -c, --config AGGREGATE    use testbed AGGREGATE
      -t, --topology TOPOLOGY   a valid topology file or description (defaults to 'system:topo:all')
 
      Some Examples: 
                    omf-5.4 tell -a reset
                    omf-5.4 tell -a on -t system:topo:all -c grid
                    omf-5.4 tell -a reboot -t omf.nicta.node1
                    omf-5.4 tell -a offs -t omf.nicta.node1,omf.nicta.node2 -c sb1
                    omf-5.4 tell -a offh -t system:topo:all
                    omf-5.4 tell -a reset -t topo_grid_active

stat

user@console:omf-5.4 help stat
Returns the status of the nodes in a testbed
Usage:
      omf-5.4 stat [-h] [-s] [-t TOPOLOGY] [-c AGGREGATE]
 
      With: 
      -h, --help                print this help message
      -s, --summary             print a summary of the node status for the testbed
      -c, --config AGGREGATE    use testbed AGGREGATE
      -t, --topology TOPOLOGY   a valid topology file or description (defaults to 'system:topo:all')
 
      Some Examples: 
                    omf-5.4 stat
                    omf-5.4 stat -s
                    omf-5.4 stat -t omf.nicta.node1,omf.nicta.node2 -c sb1
                    omf-5.4 stat -t system:topo:all -c grid

For example:

user@console.outdoor:~# omf stat

 INFO NodeHandler: OMF Experiment Controller 5.4 (git 6d34264)
 INFO NodeHandler: Slice ID: default_slice (default)
 INFO NodeHandler: Experiment ID: default_slice-2012-10-14t14.42.15-04.00
 INFO NodeHandler: Message authentication is disabled
 INFO Experiment: load system:exp:stdlib
 INFO property.resetDelay: value = 210 (Fixnum)
 INFO property.resetTries: value = 1 (Fixnum)
 INFO Experiment: load system:exp:eventlib
 INFO Experiment: load system:exp:stat
 INFO Topology: Loading topology ''.
 INFO property.nodes: value = "system:topo:all" (String)
 INFO property.summary: value = false (FalseClass)
 INFO Topology: Loading topology 'system:topo:all'.
 Talking to the CMC service, please wait
-----------------------------------------------
 Domain: outdoor.orbit-lab.org
 Node: node3-6.outdoor.orbit-lab.org   	 State: NOT REGISTERED
 Node: node3-3.outdoor.orbit-lab.org   	 State: POWEROFF
 Node: node2-10.outdoor.orbit-lab.org    State: POWEROFF
 Node: node1-10.outdoor.orbit-lab.org    State: POWEROFF
 Node: node1-8.outdoor.orbit-lab.org   	 State: POWERON
 Node: node1-6.outdoor.orbit-lab.org   	 State: POWERON
 Node: node3-2.outdoor.orbit-lab.org   	 State: POWEROFF
 Node: node3-1.outdoor.orbit-lab.org   	 State: POWEROFF
 Node: node1-3.outdoor.orbit-lab.org   	 State: POWERON
 Node: node3-5.outdoor.orbit-lab.org   	 State: POWEROFF
 Node: node2-5.outdoor.orbit-lab.org   	 State: NOT REGISTERED
 Node: node1-2.outdoor.orbit-lab.org   	 State: POWERON
-----------------------------------------------
 INFO Experiment: Switching ON resources which are OFF
 INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks.
 INFO NodeHandler: 
 INFO NodeHandler: Shutting down experiment, please wait...
 INFO NodeHandler: 
 INFO run: Experiment default_slice-2012-10-14t14.42.15-04.00 finished after 0:6
Note: See TracWiki for help on using the wiki.