[wiki:WikiStart Orbit] > GettingStarted = How to get started = First, you need an account. Please check the UsagePolicy if you are eligible. In order to get an account please [http://www.orbit-lab.org/userManagement/register register here]. A typical experiment requires the following three steps: * [wiki:Documentation/Scheduling Reservation] * [#LoadImage Loading an Image] * [wiki:Tutorial/RunningExpirment Running the experiment] * [wiki:Tutorial/AnalyzeResults Analyzing the results] * [#NextStep Next steps] == Loading an Image == #LoadImage During your approved time slot, you will be able to ssh into the console of the respective grid. A console is a dedicated machine that allows access to all resources on that grid. '''During your approved time slot''', you can then log into the '''console''' corresponding to the following table using SSH: || Name || Nodes || Console FQDN || Special Resources || ||Main grid || 400 || console.grid.orbit-lab.org || USRP2, USRP1, Blue too, Zigbee, etc... || ||Sandbox 1 || 2 || console.sb1.orbit-lab.org || None || ||Sandbox 2 || 2 || console.sb2.orbit-lab.org || None || ||Sandbox 3 || 2 || console.sb3.orbit-lab.org || USRP2 || ||Sandbox 4 || 9 || console.sb4.orbit-lab.org || RF isolated nodes + mixer || ||Sandbox 5 || 2 || console.sb5.orbit-lab.org || USRP1 || ||Sandbox 6 || 2 || console.sb6.orbit-lab.org || WinC2R || ||Sandbox 7 || 2 || console.sb7.orbit-lab.org || None || ||Sandbox 8 || 2 || console.sb8.orbit-lab.org || None || ||Sandbox 9 || 11 || console.sb9.orbit-lab.org || Netfpga + Openflow || ||Outdoor || Variable || console.outdoor.orbit-lab.org || Variable || For example, to access the sandbox1, {{{ yourhost>ssh username@console.sb1.orbit-lab.org }}} When you have successfully logged in, you can start an experiment using the [wiki:Software/cOMF#ExperimentController Orbit Management Framework (OMF)]. First time users are '''highly''' encouraged to reserve time on a sandbox instead of the main grid, and start with the built-in [wiki:/Tutorials/HelloWorld Hello World] experiment. 1. Before we begin using the nodes, it's a good idea to check their status first. This is done with the omf stat command. This will typically produce a result like: {{{ user@console.sb7:~$ omf stat INFO NodeHandler: OMF Experiment Controller 5.4 (git c005675) INFO NodeHandler: Slice ID: default_slice (default) INFO NodeHandler: Experiment ID: default_slice-2013-01-16t15.28.15-05.00 INFO NodeHandler: Message authentication is disabled INFO Experiment: load system:exp:stdlib INFO property.resetDelay: resetDelay = 230 (Fixnum) INFO property.resetTries: resetTries = 1 (Fixnum) INFO Experiment: load system:exp:eventlib INFO Experiment: load system:exp:stat INFO Topology: Loading topology ''. INFO property.nodes: nodes = "system:topo:all" (String) INFO property.summary: summary = false (FalseClass) INFO Topology: Loading topology 'system:topo:all'. Talking to the CMC service, please wait ----------------------------------------------- Domain: sb7.orbit-lab.org Node: node1-1.sb7.orbit-lab.org State: POWEROFF Node: node1-2.sb7.orbit-lab.org State: POWEROFF ----------------------------------------------- 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-2013-01-16t15.28.15-05.00 finished after 0:6 }}} Individual nodes are identified by their fully qualified domain name (FQDN). This establishes their "coordinates" and the "domain" to which they belong. Nodes in different domains can NOT see each other. 2. Node can be in 1 of 3 states: || POWEROFF || Node is Available for use but turned off || || POWERON || Node is Available and is on || || NOT REGISTERED || Node is not Available for use || 3. It is recommended that the node be in the POWEROFF state prior to any experiment process. If the node is in the POWERON state you can use the omf tell command to get the node into the off state. {{{ username@console.domain:~$ omf tell -a offh -t TOPOLOGY }}} The ''TOPOLOGY'' can take on many forms, the simplest being a comma separated list of FQDN's. There are special predefined topologies like: all, system:topo:circle, ... For more details see [wiki:/Software/cOMF OMF documentation] If the node is in the NOT REGISTERED state, you may need to wait for it to recover the POWEROFF state (it some times requires a few moments for the services to sync up). If the node never comes out of the NODE NOT AVAILABLE state please contact an administrator. 4. Prior to the experiment, users need to install an image on the hard disks of the nodes. If you have not created a custom image use the default starting image: '''baseline.ndz'''. This image is built on top of '''Ubuntu 12.04''', and is pre-configured with the proper modules and start up scripts to take advantage of the rest of the Orbit services / hardware. Loading an image is done with the [wiki:/Software/cOMF#load omf load command]. {{{ username@console.domain:~$ omf load -t TOPOLOGY -i IMAGENAME }}} Where ''TOPOLOGY'' is the set of nodes you wish to image , and !IMAGENAME is the name of the image you with to load. The most common sandbox starting image command would look like {{{ username@console.domain:~$ omf load -t all -i baseline.ndz }}} which will load all the nodes of sandbox 1 (totaling 1) with the [wiki:Documentation/SupportedImages baseline] image. An example run on sandbox 7 looks like: {{{ user@console.sb7:~$ omf load -t all -i baseline.ndz INFO NodeHandler: OMF Experiment Controller 5.4 (git c005675) INFO NodeHandler: Slice ID: pxe_slice INFO NodeHandler: Experiment ID: pxe_slice-2013-01-16t14.56.02-05.00 INFO NodeHandler: Message authentication is disabled INFO Experiment: load system:exp:stdlib INFO property.resetDelay: resetDelay = 230 (Fixnum) INFO property.resetTries: resetTries = 1 (Fixnum) INFO Experiment: load system:exp:eventlib INFO Experiment: load system:exp:imageNode INFO property.nodes: nodes = "system:topo:all" (String) INFO property.image: image = "baseline.ndz" (String) INFO property.domain: domain = "sb7.orbit-lab.org" (String) INFO property.outpath: outpath = "/tmp" (String) INFO property.outprefix: outprefix = "pxe_slice-2013-01-16t14.56.02-05.00" (String) INFO property.timeout: timeout = 800 (Fixnum) INFO property.resize: resize = nil (NilClass) INFO Topology: Loading topology 'system:topo:all'. INFO Experiment: Resetting resources INFO stdlib: Waiting for nodes (Up/Down/Total): 0/2/2 - (still down: node1-2.sb7.orbit-lab.org,node1-1.sb7.orbit-lab.org) [0 sec.] INFO stdlib: Waiting for nodes (Up/Down/Total): 0/2/2 - (still down: node1-2.sb7.orbit-lab.org,node1-1.sb7.orbit-lab.org) [10 sec.] INFO stdlib: Waiting for nodes (Up/Down/Total): 0/2/2 - (still down: node1-2.sb7.orbit-lab.org,node1-1.sb7.orbit-lab.org) [20 sec.] INFO stdlib: Waiting for nodes (Up/Down/Total): 0/2/2 - (still down: node1-2.sb7.orbit-lab.org,node1-1.sb7.orbit-lab.org) [30 sec.] INFO ALL_UP: Event triggered. Starting the associated tasks. INFO exp: Progress(0/0/2): 0/0/0 min(node1-2.sb7.orbit-lab.org)/avg/max (30) - Timeout: 760 sec. INFO exp: Progress(0/0/2): 10/10/10 min(node1-2.sb7.orbit-lab.org)/avg/max (30) - Timeout: 750 sec. INFO exp: Progress(0/0/2): 10/15/20 min(node1-1.sb7.orbit-lab.org)/avg/max (30) - Timeout: 740 sec. INFO exp: Progress(0/0/2): 20/25/30 min(node1-2.sb7.orbit-lab.org)/avg/max (30) - Timeout: 730 sec. INFO exp: Progress(0/0/2): 30/35/40 min(node1-1.sb7.orbit-lab.org)/avg/max (30) - Timeout: 720 sec. INFO exp: Progress(0/0/2): 40/40/40 min(node1-2.sb7.orbit-lab.org)/avg/max (30) - Timeout: 710 sec. INFO exp: Progress(0/0/2): 40/45/50 min(node1-1.sb7.orbit-lab.org)/avg/max (30) - Timeout: 700 sec. INFO exp: Progress(0/0/2): 50/55/60 min(node1-1.sb7.orbit-lab.org)/avg/max (30) - Timeout: 690 sec. INFO exp: Progress(0/0/2): 60/65/70 min(node1-1.sb7.orbit-lab.org)/avg/max (30) - Timeout: 680 sec. INFO exp: Progress(0/0/2): 60/65/70 min(node1-1.sb7.orbit-lab.org)/avg/max (30) - Timeout: 670 sec. INFO exp: Progress(0/0/2): 70/75/80 min(node1-2.sb7.orbit-lab.org)/avg/max (30) - Timeout: 660 sec. INFO exp: Progress(0/0/2): 90/90/90 min(node1-2.sb7.orbit-lab.org)/avg/max (30) - Timeout: 650 sec. INFO exp: Progress(1/0/2): 90/95/100 min(node1-1.sb7.orbit-lab.org)/avg/max (30) - Timeout: 640 sec. INFO exp: Progress(2/0/2): 100/100/100 min()/avg/max (30) - Timeout: 630 sec. INFO exp: ----------------------------- INFO exp: Imaging Process Done INFO exp: 2 nodes successfully imaged - Topology saved in '/tmp/pxe_slice-2013-01-16t14.56.02-05.00-topo-success.rb' INFO exp: ----------------------------- INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks. INFO NodeHandler: INFO NodeHandler: Shutting down experiment, please wait... INFO NodeHandler: INFO NodeHandler: Shutdown flag is set - Turning Off the resources INFO run: Experiment pxe_slice-2013-01-16t14.56.02-05.00 finished after 3:13 }}} 5. The imageing process will turn the nodes back off after completing imageing. At this point the nodes disks are imaged with the ''basline'' image and need to be turned back on before proceeding. {{{ username@console.domain:~$ omf tell -a on -t all }}} Give the nodes a couple of minutes to turn on / boot, then check their status with omf stat. = Where to go from here = #NextStep If you are still unsure what Orbit is, please read the [wiki:FAQ FAQ] and the [wiki:Tutorial Tutorial], otherwise go ahead and [http://www.orbit-lab.org/userManagement/register register].