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:

  1. system_topo_active_grid.rb: a topology with all the nodes that have successfully been imaged
  2. 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)
  3. 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

OMFHelpLoad.PNG (19.5 kB) Vidya Sunder, 02/02/2009 09:00 am