Go back --> [wiki:Tutorial Tutorials] [[TOC(heading=Tutorial TOC, Tutorial, Tutorial/HowToImage, depth=2)]] = How to install a disk image on the nodes of a Testbed = If you have not done so yet: * [http://www.orbit-lab.org/register Register] for an account * [https://www.orbit-lab.org/schedule/ Make a reservation] on the Scheduler for a given testbed Lets assume that you registered as user 'bob' and made a reservation for the 'grid' testbed. You then access the 'grid' console using the command: {{{ ssh bob@console.grid.orbit-lab.org }}} [[BR]] == Getting Started == Then, to image some nodes on the 'grid' testbed, use the command: {{{ omf load all ubuntu.ndz # will write the disk image with the name 'ubutnu.ndz' on all the nodes on the 'grid' omf load [1..10,1..5] ubuntu.ndz # same as above, but only on the nodes that have their coordinates x=[1..10] and y=[1..5] omf load [[3,1],[5,6]] ubuntu.ndz # same as above, but only on nodes [3,1] and [5,6] omf load [1,1] ubuntu.ndz # same as above, but only on node [1,1] }}} The output of the "imaging" process will look like the following: {{{ Imaging nodes: '[1..20,1..20]' with image 'ubuntu.ndz' on default domain (retrieved from hostname) INFO init: NodeHandler Version 4.2.0 (1272) INFO init: Experiment ID: grid_2007_07_03_03_13_50 ... WARN -:topo:image: Ignoring missing node '5@14' ... INFO stdlib: Waiting for nodes (Up/Down/Total): 0/387/387 - (still down: n_20_11,n_17_14,n_15_18) INFO stdlib: Waiting for nodes (Up/Down/Total): 34/353/387 - (still down: n_20_11,n_17_14,n_15_18) INFO stdlib: Waiting for nodes (Up/Down/Total): 61/326/387 - (still down: n_20_11,n_17_14,n_15_18) ... WARN stdlib: Giving up on node n_4_1 INFO whenAll: *: 'status[@value='UP']' fires INFO exp: Progress(0/0/214): 0/0/0 min(n_20_11)/avg/max (216) - Timeout: 581 sec. ... INFO exp: Progress(208/14/214): 0/91/100 min(n_18_19)/avg/max (216) - Timeout: 6 sec. ... INFO Experiment: DONE! }}} [[BR]] == Learning More == The generic '''omf''' command used above is the access point to control various ORBIT functions, such as the imaging of nodes with the sub-command "load". To see a list of all the available '''omf''' commands, you should type ''"omf help"''. At the end of the ''imaging'' process, you will have 3 ''topology'' files within your user directory: * [attachment:system_topo_active_grid.rb system_topo_active_grid.rb] - a ''topology'' with all the nodes that have successfully been imaged * [attachment:system_topo_failed_grid.rb system_topo_failed_grid.rb] - a ''topology'' with all the nodes that have failed during the "imaging" process (possibly due to some disk read/write errors) * [attachment:system_topo_timedout_grid.rb system_topo_timedout_grid.rb] - a ''topology'' with all the nodes that have timed out the "imaging" process. These nodes correctly started writing the image on their disk, but they did not finish before the default timeout of 800 sec. You can then: * use the information in the ''topo_grid_active.rb'' file to check/select which node to use in your experiments * or directly use the topology defined in this file within your experiment scripts, as described in details in this [wiki:Tutorial/HowToTopology tutorial]. Finally, the complete available option/commands for imaging function are given by ''"omf help load"'': {{{ omf help load Install a given disk image on the nodes in a testbed Usage: omf load [-h] omf load [TOPOLOGY] [IMAGE_PATH] [TIMEOUT] [DOMAIN] With: -h, --help print this help message TOPOLOGY a valid topology description or file without the trailing '.rb' (default is 'all', the entire set of nodes on the default testbed) IMAGE_PATH a valid path to a disk image on the image repository (default is 'baseline.ndz', the latest stable baseline image) 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) DOMAIN the testbed domain for the nodes to image (default is the testbed of the console where this command is running) Some Examples: omf load omf load all omf load all baseline-2.4.ndz omf load [1,1] wireless-2.6.ndz omf load [[1,2],[1,4]] baseline.ndz 400 omf load [[1,1],[2..6,1..2]] omf load system:topo:circle my_Own_Image.ndz omf load my_Own_Topology baseline-2.2.ndz 600 grid }}}