How to install a disk image¶
This tutorial will take you through the process of installing a disk image on a resource. Note that it is possible to load a disk image only on a PC-based resource. Images cannot be loaded on to resources such as a noise generator or a mobile phone.
If you have not already done so, ensure that:
*you register for an account
*you make a reservation on the Scheduler for a testbed
For the purpose of this tutorial, let us assume that you are registered as user 'Bob' and have made a reservation for the norbit testbed. First, access the console using the command:
ssh bob@norbit.npc.nicta.com.au
Getting Started¶
To load an image on selected nodes on the norbit testbed, use the command:
omf load all my-own-image.ndz # will write the disk image with the name 'my-own-image.ndz' on all the nodes on the grid omf load [1..10,1..5] my-own-image.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]] my-own-image.ndz # same as above, but only on nodes [3,1] and [5,6] omf load [1,1] my-own-image.ndz # same as above, but only on node [1,1]
The screen displays the output of the imaging process:
Imaging nodes: '[1..20,1..20]' with image 'my-own-image.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!
More about the imaging process...¶
The generic omf command used above is the access point to control various OMF functions, such as the imaging of nodes with the sub-command load. To see a list of all the available omf commands, type omf help.
At the end of the imaging process, three topology files are created in your user directory:
- system_topo_active_grid.rb: a topology with all the nodes that have successfully been imaged
- 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)
- system_topo_timeout_grid.rb: a topology with all the nodes that have timed out the imaging process. These nodes started writing the image on their disk correctly, but they did not finish before the default timeout of 800 seconds.
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 this tutorial.
Finally, all the available options/commands for the imaging function can be obtained by typing the omf help load command:
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