wiki:GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware

Version 11 (modified by lnevers@bbn.com, 8 years ago) (diff)

--

A Tutorial on Systematic Experimental Design

Image Map

Our goal is to setup a layer-3 virtual network with multiple virtual routers. Hence, the first step is to install the routing software. There are various options, such as `XORP` and `Quagga`. In this tutorial, we will install XORP to enable routing functionalities on nodes.

Sometimes it may take a long time to install software on a node, so it is always good to start with one node to test out the whole installation process. The figure below provides an overview of the software installation to a VM. This process turns a generic VM into a software router.

1. Reserve a VM with Standard Image

Assume we have a slice created already. We want to reserve a Xen VM running a standard Ubuntu image as the basis of the software router.

a. Select a VM from an InstaGENI Site

Once you have created an image select the "Add Resources" button to reserve a virtual machine.

In the resulting "Add Resources" panel, drag and drop a Xen VM:

Now click on "Site 1" to select an InstaGENI aggregates, this will show the available sites in the left hand actions:

We will choose the InstaGENI aggregate Kentucky PKS2:

Note Please go to HowToReserveVM for details on how to reserve a VM from an aggregate.

b. Select a Standard Images

Click on the node to show the left-hand commands panel that allows image selection. Click on Disk Image pull-down to see available standard images:

Select Ubuntu 12.04 LTS. You are now ready to reserve the VM, which is done by scrolling to the bottom of the Add Resources page and clicking on the Reserve Resources button:

Once selected, the results section will be updated to show the status for the request as it progresses:

c. Login to the VM

Once the VM sliver creation is completed, you can get status in slice page:

The resources are shown as green when ready.

You are able to login to the node from a terminal using ssh.

ssh username@hostname -p xxxxx
Note You can find information on how to login to GENI hosts from HowToLogin.

2. Customize Installation

In this tutorial we will install XORP 1.8.5 on Ubuntu 12.04 with the following steps:

  • Install Dependencies
     $ sudo apt-get update
     $ sudo apt-get install libssl-dev 
     $ sudo apt-get install ncurses-dev  
     $ sudo apt-get install libpcap-dev 
     $ sudo apt-get install g++ traceroute 
     $ sudo apt-get install scons 
    
  • Download XORP source files
     $ cd 
     $ wget http://www.xorp.org/releases/current/xorp-1.8.5-src.tar.bz2
     $ tar jvxf xorp-1.8.5-src.tar.bz2
    
  • Compile and build XORP
     $ cd xorp
     $ scons
     $ sudo scons install
    
  • Verify the XORP installation (Optional)
     $ scons check
    

The xorp installation takes ~40 minutes to complete. If you choose to run rhe scons check it will take an additional hour to complete. Once completed you will find the directory xorp under path /usr/local/ directory

Note To install other version of XORP, please check the XORP Official Website for details on the dependencies and installation instructions.

3. Create Custom Image

From the manual installation procedure, we learned that it is not efficient to login to every VM and then install XORP. An alternative way is to create a custom image of Ubuntu 12.04 LTS with XORP pre-installed, and save this custom image for future usage. We can create InstaGENI custom image via either Flack or Omni, details can be found at ManageCustomImageInstaGENI.

Here we use Flack to create InstaGENI custom image of Ubuntu 12.04 that has XORP pre-installed.

In Flack, for the same VM that we have just installed xorp, go to it's node property (i.e., clicking ), and click the button "Create Image".

In about 10 minutes, you will get an email that has image information similar to the following:

Image URN: urn:publicid:IDN+instageni.clemson.edu+image+ch-geni-net:LabwikiWithXORP
Image URL: https://www.instageni.clemson.edu/image_metadata.php?uuid=5417bcef-224e-11e4-aa5a-000000000000
Note The custom image with XORP preinstalled with URL below is ready for use, if you want to skip to Step 2 (Manual Installation).
https://www.instageni.clemson.edu/image_metadata.php?uuid=5417bcef-224e-11e4-aa5a-000000000000

If your are going to use the same slice in the next step, now it's time to release the VM resource.

  • Use Omni
    $ omni.py -a <aggregate name> deletesliver <slicename>
    
  • Use Flack
    • Press the Delete button in the bottom of your canvas.
    • Select Delete at used manager and confirm your selection.

4. Verify InstaGENI Custom Image

Now let's load the custom image created in Step 3.

Create a new VM in Flack, and edit the node property. Instead of selecting an advertised image as we did in step 1.b, we will use the URL to the custom image we just created in step 3. Copy an paste the following URL to the URL field.

https://www.instageni.clemson.edu/image_metadata.php?uuid=5417bcef-224e-11e4-aa5a-000000000000

Apply the change, and submit the VM reservation request in Flack.

Once the VM is ready to login, we can verify the XORP installation.

xuanliu@xen:$ cd /usr/local/xorp/sbin
xuanliu@xen:/usr/local/xorp/sbin$ ls
bgp_xrl_shell_funcs.sh  fea_xrl_shell_funcs.sh  xorp_profiler  xorpsh
call_xrl                rib_xrl_shell_funcs.sh  xorp_rtrmgr

5. Cleanup the Slice

After verify the XORP installation, we can cleanup the slice for next step.

  • Use Omni
    $ omni.py -a <aggregate name> deletesliver <slicename>
    
  • Use Flack
    • Press the Delete button in the bottom of your canvas.
    • Select Delete at used manager and confirm your selection.

Overview

Step II: Small Topology

Attachments (23)