= OMF = {{{ 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 }}}