Changes between Initial Version and Version 1 of GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftwareQuagga


Ignore:
Timestamp:
06/16/16 17:10:36 (8 years ago)
Author:
lnevers@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftwareQuagga

    v1 v1  
     1[[PageOutline]]
     2
     3= I. Single Node Software Installation and Custom Images =
     4
     5This experiment is step 1 in the multi-part tutorial on [wiki:GENIExperimenter/Tutorials/SystematicExprCaseStudy Systematic Experimental Design].  The Systematic Experimental Design approach follows this sequence:
     6
     7{{{
     8#!html
     9
     10<div style="text-align:center; width:495px; margin-left:auto; margin-right:auto;">
     11<img id="Image-Maps_5201305222028436" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware/SingleNode.png?format=raw" usemap="#Image-Maps_5201305222028436" border="0" width="495" height="82" alt="" />
     12<map id="_Image-Maps_5201305222028436" name="Image-Maps_5201305222028436">
     13<area shape="rect" coords="12,12,132,73" href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware" alt="" title=""    />
     14<area shape="rect" coords="185,12,313,73" href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/SmallTopo" alt="" title=""    />
     15<area shape="rect" coords="364,12,490,73" href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp" alt="" title=""    />
     16<area shape="rect" coords="493,136,495,138" href="http://www.image-maps.com/index.php?aff=mapped_users_5201305222028436" alt="Image Map" title="Image Map" />
     17</map>
     18<!-- Image map text links - End - -->
     19
     20</div>
     21}}}
     22
     23The 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 [http://www.xorp.org `XORP`] and [http://www.quagga.net `Quagga`]. In this tutorial, we will install XORP to enable routing functionalities on nodes.
     24
     25Sometimes 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.
     26
     27[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:softwareinstall-flow.png)]]
     28
     29= 1. Reserve a VM with a Standard Image =
     30
     31Assume 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. 
     32
     33== a. Select a VM from an InstaGENI Site ==
     34
     35Once you have created an image select the ''' ''Add Resources'' ''' button to reserve a virtual machine.
     36
     37[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:AddResources.jpg,60%)]]
     38
     39In the resulting "Add Resources" panel, drag and drop a Xen VM:
     40
     41[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:DragXen.jpg,60%)]]
     42
     43Now click on "Site 1" to select an InstaGENI aggregates, this will show the available sites in the left hand actions:
     44
     45[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:SelectSite.jpg,60%)]]
     46
     47We will choose the InstaGENI aggregate Kentucky PKS2:
     48
     49[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:ClemsonSite.jpg,60%)]]
     50
     51
     52{{{
     53#!html
     54<table border="0" cellpadding="0" cellspacing="0"><tr><td><img src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Graphics/stock_notes.png" width="40" height="40" alt="Note"></td><td> Please go to <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/GettingStarted_PartI/Procedure/DesignSetup">HowToReserveVM</a> for details on how to reserve a VM from an aggregate.</td></tr></table>
     55  </li>
     56</ol>
     57</td>
     58</tr>
     59</table>
     60}}}
     61
     62== b. Select a Standard Images ==
     63
     64Click on the node to show the left-hand options panel that allows image selection. Click on `Disk Image` pull-down to see available standard images:
     65
     66[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:SelectDefaultImage.jpg,60%)]]
     67
     68Select '''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:
     69
     70[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:ReserveResources.jpg)]]
     71
     72Once selected, the results section will be updated to show the status for the request as it progresses:
     73
     74[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:CreateStatus.jpg,60%)]]
     75
     76
     77== c. Login to the VM ==
     78
     79Once the VM sliver creation is completed, you can get status in slice page:
     80
     81[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:SliverStatus.jpg,60%)]]
     82
     83The resources are shown as green when ready.
     84
     85You are able to login to the node from a terminal using `ssh`.
     86{{{
     87ssh username@hostname -p xxxxx
     88}}}
     89
     90
     91{{{
     92#!html
     93<table border="0" cellpadding="0" cellspacing="0">
     94<tr>
     95<td><img src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Graphics/stock_notes.png" width="40" height="40" alt="Note"></td>
     96<td>  You can find information on how to login to GENI hosts from <a href="http://groups.geni.net/geni/wiki/HowTo/LoginToNodes">HowToLogin</a>.</td></tr></table>
     97  </li>
     98</ol>
     99</td>
     100</tr>
     101</table>
     102}}}
     103
     104
     105= 2. Customize Your VM =
     106
     107In this tutorial we will install `XORP 1.8.5` on `Ubuntu 12.04` with the following steps:
     108
     109 * Install Dependencies
     110{{{
     111 sudo apt-get update
     112 sudo apt-get install libssl-dev
     113 sudo apt-get install ncurses-dev 
     114 sudo apt-get install libpcap-dev
     115 sudo apt-get install g++ traceroute
     116 sudo apt-get install scons
     117}}}
     118 * Download XORP source files
     119{{{
     120 cd
     121 wget http://www.xorp.org/releases/current/xorp-1.8.5-src.tar.bz2
     122 tar jvxf xorp-1.8.5-src.tar.bz2
     123}}}
     124
     125 * Compile and build `XORP`
     126{{{
     127 cd xorp
     128 scons
     129 sudo scons install
     130}}}
     131
     132 * Verify the `XORP` installation (Optional)
     133{{{
     134 scons check
     135}}}
     136
     137The `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
     138
     139{{{
     140#!html
     141<table border="0" cellpadding="0" cellspacing="0">
     142<tr>
     143<td><img src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Graphics/stock_notes.png" width="40" height="40" alt="Note"></td>
     144<td>  To install other version of XORP, please check the <a href="http://www.xorp.org XORP Official Website">XORP Official Website</a> for details on the dependencies and installation instructions. </td></tr></table>
     145  </li>
     146</ol>
     147</td>
     148</tr>
     149</table>
     150}}}
     151
     152= 3. Create a Custom Image =
     153
     154From the manual installation procedure to customize the VM, we learned that it is not efficient to manually install `XORP` on multiple VMs. An alternative approach is to create a custom image of `Ubuntu 12.04 LTS` with `XORP` pre-installed and save this custom image for future usage.
     155
     156You can create InstaGENI custom images in the Slice page by selecting the ''' ''Snapshot'' ''' button:
     157
     158[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:snapshot.jpg)]]
     159
     160Choose a custom image name that reflects its content and whether the image is visible to other GENI Users. Also note that the image name MUST include alphanumeric characters only.
     161
     162[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:CustomName.jpg,60%)]]
     163
     164Click on the ''' ''Create'' ''' button and you will get an update on the same page capturing image information :
     165
     166[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:ImageInfo.jpg,60%)]]
     167
     168The custom image is typically available within 10 minutes of the creation time.  There is also an email notification for the image creation completion, but the notification email tend to be quarantined to IT mail systems.
     169
     170{{{
     171#!html
     172<table border="0" cellpadding="0" cellspacing="0">
     173<tr>
     174<td><img src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Graphics/stock_notes.png" width="40" height="40" alt="Note"></td>
     175<td> The custom image with XORP pre-installed is available for use by any InstaGENI aggregate by using the URL above. This will allow you to skip the customization in Step 2 when using this newly defined custom image. </td></tr></table>
     176  </li>
     177</ol>
     178</td>
     179</tr>
     180</table>
     181}}}
     182
     183
     184Further details can be found at [http://groups.geni.net/geni/wiki/HowTo/ManageCustomImagesInstaGENI ManageCustomImageInstaGENI]. 
     185
     186If your are going to use the same slice and aggregate in the next step, now it's time to release the Xen VM resource in the ''' ''Slices'' ''' panel:
     187
     188[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:DeleteSliver.jpg,60%)]]
     189
     190If you are using Omni:
     191{{{
     192 $ omni.py -a <aggregate name> deletesliver <slicename>
     193}}}
     194
     195= 4. Verify InstaGENI Custom Image =
     196
     197Now let's load the custom image created in Step 3 by requesting a new VM that uses that image:
     198 * Select the ''' ''Slice'' ''' panel and then click on ''' ''Add Resources'' ''' button.
     199 * Drag and drop a ''Xen VM'' node type to the canvas.
     200 * Select the site ''Kentucky PKS2 InstaGENI''
     201 * Click on the node and then in the left-hand panel select the ''Disk Image'' pull-down and choose ''Other''.
     202 * In the URN slot paste your image URN, in our example the image URN is "urn:publicid:IDN+pks2.sdn.uky.edu+image+ch-geni-net:Ubuntu12Xorp"
     203
     204[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:ImageURN.jpg, 60%)]]
     205
     206 * Scroll down to the bottom of the Add Resources panel and click on the ''' '' Reserve Resources'' ''' button.
     207 * Go back to the Slice panel to moniror polling of the resource, which will take place every 5 seconds until the resource is ready.
     208 
     209Once the VM is ready to login, we can verify the XORP installation.
     210
     211{{{
     212lnevers@node-0:~$ cd /usr/local/xorp/sbin/
     213lnevers@node-0:/usr/local/xorp/sbin$ ls
     214bgp_xrl_shell_funcs.sh  fea_xrl_shell_funcs.sh  xorp_profiler  xorpsh
     215call_xrl                rib_xrl_shell_funcs.sh  xorp_rtrmgr
     216lnevers@node-0:/usr/local/xorp/sbin$
     217}}}
     218
     219= 5. Cleanup the Slice =
     220
     221After verifying the `XORP` installation, you can release the Xen VM resource in the ''' ''Slices'' ''' panel:
     222
     223[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware:DeleteSliver.jpg,60%)]]
     224
     225If you are using Omni:
     226{{{
     227 $ omni.py -a <aggregate name> deletesliver <slicename>
     228}}}
     229 
     230
     231
     232'''[wiki:GENIExperimenter/Tutorials/SystematicExprCaseStudy Overview]'''
     233
     234'''[wiki:GENIExperimenter/Tutorials/SystematicExprCaseStudy/SmallTopo Step II: Small Topology]'''