Changes between Initial Version and Version 1 of User Guide/Omf Quick Start


Ignore:
Timestamp:
Nov 19, 2019, 4:55:13 PM (4 years ago)
Author:
nilanjan
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • User Guide/Omf Quick Start

    v1 v1  
     1
     2== OMF Basic Reference
     3
     4=== A brief overview ===
     5
     6OMF is a subset of OEDL which is a domain specific language providing a framwork to control and management functionalities for large scale testbeds with multiple networked resources. This framework is implemented as a set of libraries and services mainly written in Ruby. OMF can be used to initiate experiments, control resources & collect live measurements for recording and analysis. The full details for OMF [https://omf.orbit-lab.org/ can be found here.]
     7
     8To get quickly the sections below describe some of the most used OMF commands in the basic form. These commands are run from the testbed console.
     9
     10=== OMF usage
     11{{{
     12console> omf
     13
     14Run a command on the testbed(s)
     15
     16Usage: omf  [COMMAND] [ARGUMENT]...
     17  Available COMMANDs:
     18    help   Print this help message or a specify command usage
     19    exec   Execute an experiment script
     20    load   Load a disk image on a given set of nodes
     21    save   Save a disk image from a given node into a file
     22    tell   Switch a given set of nodes ON/OFF or reboot them
     23    stat   Returns the status of a given set of nodes
     24  To get more help on individual commands: 'omf [COMMAND]'
     25}}}
     26
     27
     28
     29=== OMF status to retrieve status of node(s)
     30{{{
     31console> omf status
     32
     33Returns the status of the nodes in a testbed.
     34
     35Usage:
     36omf stat [-h] -t TOPOLOGY [-h] [-s] [-c AGGREGATE]}}}
     37
     38Arguments:
     39
     40-h, --help                 print this help message
     41-t, --topology TOPOLOGY    a valid topology file or description (MANDATORY)
     42-s, --summary              print a summary of the node status for the testbed
     43-c, --config AGGREGATE     use testbed AGGREGATE
     44}}}
     45
     46 Examples:
     47
     48  Get the status of all nodes in the testbed. This is good way to find all the FQDN of the nodes in the console.
     49    {{{omf stat -t all}}}
     50
     51  Get the status of a single node.
     52    {{{omf stat -t sdr2-md1.bed.cosmos-lab.org}}}
     53
     54  Get the status of multiple nodes. Use a comma-separate list to specify multiple nodes in the topology (no space before or after the comma).
     55    {{{omf stat -t sdr2-md1.bed.cosmos-lab.org,srv1-co1.bed.cosmos-lab.org}}}
     56
     57
     58=== OMF tell to power on or off the node(s)
     59
     60{{{
     61console> omf tell
     62
     63Switch ON/OFF and reboot the nodes in a testbed.
     64
     65Usage:
     66omf tell [-h] -t TOPOLOGY -a ACTION [-c AGGREGATE]}}}
     67
     68Arguments:
     69-h, --help                 print this help message
     70-a, --action ACTION        specify an ACTION:
     71                           on          turn node(s) ON
     72                           offs        turn node(s) OFF (soft)
     73                           offh        turn node(s) OFF (hard)
     74                           reboot      reboots node(s) (soft)
     75                           reset       resets node(s) (hard)
     76-t, --topology TOPOLOGY    a valid topology file or description (MANDATORY)
     77-c, --config AGGREGATE     use testbed AGGREGATE
     78}}}
     79
     80Examples:
     81
     82  Reset (soft) a node.
     83    {{{omf tell -a reset -t sdr2-md1.bed.cosmos-lab.org}}}
     84
     85  Reboot (hard) a node.
     86    {{{omf tell -a reboot -t sdr2-md1.bed.cosmos-lab.org}}}
     87
     88  Turn on multiple nodes.
     89    {{{omf tell -a offh -t sdr2-md1.bed.cosmos-lab.org,srv1-co1.bed.cosmos-lab.org}}}
     90
     91  Turn offh (hard) multiple nodes.
     92    {{{omf tell -a offh -t sdr2-md1.bed.cosmos-lab.org,srv1-co1.bed.cosmos-lab.org}}}
     93
     94
     95=== OMF load to install a disk image on the node(s)
     96
     97{{{
     98console> omf load
     99Install a given disk image on the nodes in a testbed.
     100
     101Usage:
     102omf load [-h] -t TOPOLOGY [-i IMAGE_PATH] [-o TIMEOUT] [-c AGGREGATE]}}}
     103
     104Arguments:
     105
     106-h, --help                 print this help message
     107-t, --topology TOPOLOGY    a valid topology file or description (MANDATORY)
     108                           (if a file 'TOPOLOGY' doesn't exist, interpret it as a
     109                           comma-separated list of nodes)
     110-i, --image IMAGE          disk image to load
     111                           (default is 'baseline.ndz', the latest stable baseline image)
     112-c, --config AGGREGATE     use testbed AGGREGATE
     113-o, --timeout TIMEOUT      a duration (in sec.) after which imageNodes should stop waiting for
     114                           nodes that have not finished their image installation
     115                           (default is 800 sec, i.e. 13min 20sec)
     116-r, --resize SIZE          Resizes the first partition to SIZE GB or to maximum size if SIZE=0 or
     117                           leave x percent of free space if SIZE=x%
     118  --outpath PATH           Path where the resulting Topologies should be saved
     119                           (default is '/tmp')
     120  --outprefix PREFIX       Prefix to use for naming the resulting Topologies
     121                           (default is your experiment ID)
     122}}}
     123
     124Examples:
     125
     126  Load the default baseline image (baseline.ndz) on all nodes in the testbed.
     127
     128    {{{omf load -t system:topo:all -i baseline.ndz}}}
     129
     130  Load a specific image (my_image.ndz) on all nodes in a topology.
     131
     132    {{{omf load -t system:topo:all -i my_image.ndz}}}
     133
     134  Load a specific image (my_image.ndz) onto a single node.
     135
     136    {{{omf load -t sdr2-md1.bed.cosmos-lab.org -i my_image.ndz}}}
     137
     138  Load a specific image (my_image.ndz) onto multiple nodes with a timeout of 400 seconds.
     139
     140    {{{omf load -t sdr2-md1.bed.cosmos-lab.org,srv1-co1.bed.cosmos-lab.org -i my_image.ndz -o 400}}}
     141
     142
     143=== OMF save to export the disk image from a single node into the repository.
     144
     145{{{
     146console> omf save
     147
     148Save a disk image from a given node into an archive file.
     149
     150Usage:
     151omf save -n NODE [-h] [-c AGGREGATE]}}}
     152
     153
     154Arguments:
     155-h, --help           print this help message
     156-n, --node NODE      a valid description of a single node (MANDATORY)
     157                     (no default here, you have to enter a node!)
     158-r, --resize SIZE    Resizes the first partition to SIZE GB or to maximum size if SIZE=0 or
     159                     leave x percent of free space if SIZE=x%
     160}}}
     161
     162NODE must be specified in FQDN (fully qualified domain name) format (eg. node1-1.sb1.orbit-lab.org).
     163
     164Examples:
     165
     166  Save the disk image from a node.
     167    {{{omf save -n sdr2-md1.bed.cosmos-lab.org}}}
     168
     169
     170=== omf exec to execute an OEDL script
     171
     172{{{
     173console> omf exec
     174
     175Execute an experiment script.
     176
     177Usage:
     178exec [OPTIONS] ExperimentName [-- EXP_OPTIONS]}}}
     179
     180!ExperimentName is the filename of the experiment script
     181
     182[EXP_OPTIONS] are any options defined in the experiment script
     183
     184[OPTIONS] are any of the following:
     185-a, --allow-missing              Continue experiment even if some nodes did not check in
     186-c, --config NAME                Configuration section from the config file ('default' if omitted)
     187-C, --configfile FILE            File containing local configuration parameters
     188-d, --debug                      Operate in debug mode
     189-i, --interactive                Run the experiment controller in interactive mode
     190-l, --libraries LIST             Comma separated list of libraries to load (defaults to [system:exp:stdlib,system:exp:eventlib,system:exp:winlib])
     191--log FILE                       File containing logging configuration information
     192-m, --message MESSAGE            Message to add to experiment trace
     193-n, --just-print                 Print the commands that would be executed, but do not execute them
     194-N, --no-am                      Don't use the Aggregate Manager (AM)
     195-p, --print URI                  Print the contents of the experiment script
     196-o, --output-result FILE         File to write final state information to
     197-e, --experiment-id EXPID        Set the ID for this experiment, instead of the default standard ID
     198-O, --output-app                 Display STDOUT & STDERR output from the executed applications
     199-r, --reset                      If set, then reset (reboot) the nodes before the experiment
     200-s, --shutdown                   If set, then shut down resources at the end of an experiment
     201-S, --slice NAME                 Name of the Slice where this EC should operate
     202-t, --tags TAGS                  Comma separated list of tags to add to experiment trace
     203--oml-uri URI                    The URI to the OML server for this experiment
     204-x, --extra-libs LIST            Comma separated list of libraries to load in addition to [system:exp:stdlib,system:exp:eventlib,system:exp:winlib]
     205--slave-mode EXPID               Run in slave mode in disconnected experiment, EXPID is the exp. ID
     206--slave-mode-resource NAME       When in slave mode, NAME is the HRN of the resource for this EC
     207-h, --help                       Show this message
     208-v, --version                    Show the version
     209}}}