Changes between Initial Version and Version 1 of GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ndn/Procedure/Setup


Ignore:
Timestamp:
06/14/16 17:44:51 (8 years ago)
Author:
tteixeir@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ndn/Procedure/Setup

    v1 v1  
     1= [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure/Setup  Understanding the AM API using Content Centric Networking] =
     2{{{
     3#!html
     4 
     5 
     6<div style="text-align:center; width:495px; margin-left:auto; margin-right:auto;">
     7<img id="Image-Maps_5201305222028436" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Setup.jpg?format=raw" usemap="#Image-Maps_5201305222028436" border="0" width="495" height="138" alt="" />
     8<map id="_Image-Maps_5201305222028436" name="Image-Maps_5201305222028436">
     9<area shape="rect" coords="18,18,135,110" href="./Setup" alt="" title=""    />
     10<area shape="rect" coords="180,18,297,111" href="./Execute" alt="" title=""    />
     11<area shape="rect" coords="344,17,460,110" href="./Finish" alt="" title=""    />
     12<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" />
     13</map>
     14<!-- Image map text links - End - -->
     15 
     16</div>
     17}}}
     18 
     19 
     20 
     21== 1.  Design the Experiment ==
     22   
     23{{{
     24#!html
     25<table border="0">
     26   <tr>
     27     <td >
     28        <ol type='a'><li>In today's experiment you will use resources at the aggregate listed on the worksheet. If you don't have a worksheet use <i>Clemson InstaGENI (aka instageni.clemson.edu)</i> </li>
     29 </li>
     30        </ol>
     31     </td>
     32   </tr>
     33</table>
     34}}}
     35 
     36== 2.  Establish the Environment ==
     37 
     38=== 2.1 Pre-work: Ensure SSH keys are setup ===
     39 
     40Verify that you have at least one public key associated with your account. To do that, after you login to the portal check under your Profile, under the `SSH keys` tab. If you do not have SSH keys associated yet, please follow the instructions on that tab of the Portal.
     41 
     42=== 2.2 Configure Omni ===
     43 
     44 
     45{{{
     46#!html
     47<table>
     48<tr><td>
     49        <ol type='a'>
     50          <li>Login to the <a href="http://portal.geni.net"> GENI Portal </a> </li>
     51          <li> Click on your name in the upper right hand corner, then select the `Profile tab` menu item. Then click on the `Configure omni` tab under
     52           `PROFILE`.</li>
     53        </ol>
     54</td><td>
     55           <img
     56           src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/ConfigureOmniTab.png"
     57          width="400" /> 
     58     <br />
     59     <b>Figure 2-1</b> Click on the <i>Configure omni</i> tab under
     60    <i>Profile</i>.</i>
     61</td></tr>
     62<tr><td>
     63        <ol type='a' start='3'>
     64           <li> Click on the `Download your omni data` button under step 2. </li>
     65</ol>
     66</td><td>
     67           <img
     68           src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/DownloadOmniDataButton.jpg"
     69           width="400" />
     70     <br />
     71     <b>Figure 2-2</b> <i>Download your omni data</i> under step 2.
     72</td></tr>
     73<tr><td>
     74        <ol type='a' start='4'>
     75           <li> If this is the first time you try to access your GENI
     76           certificate you will have to generate one. Click on the
     77           `generate a certificate` link.</li>
     78</ol>
     79</td><td>
     80          <img
     81           src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/GenerateCertLink.jpg"
     82           width="400" />
     83     <br />
     84     <b>Figure 2-3</b> Click on <i>Generate a certificate</i>.</i>
     85</td></tr>
     86<tr><td>
     87        <ol type='a' start='5'>
     88           <li> Unless you really understand how SSL certificates
     89           work, choose the simple option. Click on the `Generate
     90           Combined Certificate and Key File` button and then click on
     91           `Close`.  You will be taken back to the download page with
     92           the warning.  Reload the page to enable the download
     93           button.  If you are a member of more than one project, select
     94           which project you would like to be the default one for
     95           running experiments in GENI. You can always change the
     96           project that is used by the `-r` command line option of
     97           Omni. </li>
     98</ol>
     99</td><td>
     100           <img
     101           src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/SimpleOption.jpg"
     102           width="350"/> 
     103     <br />
     104     <b>Figure 2-4</b> Click on <i>Generate Combined Certificate and Key File</i>.
     105</td></tr>
     106<tr><td>
     107        <ol type='a' start='6'>
     108           <li>  Then click on `Download your omni data`.</li> 
     109</ol>
     110</td><td>
     111        <img
     112       src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/DownloadOmniData.jpg"
     113        width="400"/>   
     114     <br />
     115     <b>Figure 2-5</b> Click on <i>Download your omni data</i>.
     116</td></tr>
     117</table>
     118<table>
     119<tr><td>
     120        <ol type='a' start='7'>
     121           <li> The bundle will be saved at <code>~/Downloads/omni.bundle</code> </li>
     122<li>Open a terminal window and type:<pre
     123class="wiki">omni-configure</pre>The cert and key files you need will
     124be installed in the appropriate folders.</li>
     125</ol>
     126</td></tr>
     127</table>
     128}}}
     129 
     130== 3.  Obtain Resources ==
     131
     132 
     133=== 3.1 Create a slice ===
     134 
     135Create a slice using `omni` and the slice name of your choice.  From now on that slice name will be referred to as `SLICENAME`.
     136{{{
     137$ omni createslice SLICENAME
     138}}}
     139 
     140=== 3.2. Load a simple topology in Jacks ===
     141For this exercise, we will edit an existing RSpec file.  Start by loading this predefined topology into Jacks.
     142 
     143{{{
     144#!html
     145<table>
     146<tr><td>
     147  <ol type='a'>
     148    <li>In the Portal, open the Slice page for the slice you just created.  Notice that you created the slice with omni and it is available via the Portal.</li>
     149    <li>Press the <b>Add Resources</b> button to launch Jacks for this slice.</li>
     150    <li>From the <b>Choose RSpec</b> menu (see figure), select the <b>URL</b> button.</li>
     151  </ol>
     152  </td>
     153  <td> 
     154     <img border="0"
     155        src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab1_3.png?format=raw"
     156        width="400" alt="Import an RSpec into Jacks"  title="Import an RSpec into Jacks" /> 
     157     <br />
     158     <b>Figure 3-1</b> <i>Import an RSpec into Jacks.</i>
     159  </td>
     160</tr>
     161</table>
     162<table>
     163<tr><td>
     164  <ol type='a' start='4'>
     165    <li>Enter the URL for the RSpec: <br>
     166       <tt> http://www.gpolab.bbn.com/experiment-support/LabOne/ccnx/lab1ccn-line-PARTIAL.xml </tt> <br>
     167    then click <b>Select</b>.<br/>
     168    </li>
     169    <li>After you click <b>Select</b>, a network topology should appear on the canvas.</li>
     170 </ol>
     171</td>
     172</tr>
     173 
     174</table>
     175 
     176    </li>
     177  </ol>
     178</td>
     179
     180 
     181</tr></table>
     182}}}
     183 
     184=== 3.3. Modify the RSpec to automatically install and execute CCNX software ===
     185 
     186'''Background:''' For this experiment, we need to install the following software on the nodes:
     187   * The CCNX software (ccnx-0.6.2.tar.gz)
     188   * Scripts that set up the CCNX software (ccnx-setup.tar.gz)
     189   * Scripts used to pull atmospheric precipitation data using the CCNX protocol (ccnx-atmos.tar.gz)
     190 
     191When the nodes start up, we need the following scripts to be executed:
     192   * Script that sets up the node (node-setup)
     193   * Script that sets up the ccnx protocol (ccnx-setup)
     194   * Script that setup up ccnx protocol routes (add-precip-routes)
     195 
     196In the following steps we automate the installation and running of the software using install and execute scripts in the RSpec. 
     197 
     198{{{
     199#!html
     200<table><tr>
     201<td colspan=2>
     202  <ol type='a'>
     203     <li>Click on the <b>collab node</b> (see figure) to manipulate details of the node configuration.
     204 
     205 
     206<table id="Table_01" border="0" cellpadding="5" cellspacing="0">
     207        <tr>
     208                <td>
     209                        <img src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Graphics/4NotesIcon_512x512.png" width="50" height="50" alt="Note">
     210               </td>
     211<td>
     212When you open the node information, you should see a new pane with fields to fill in like
     213in the figure.   
     214</td>
     215        </tr>
     216</table>
     217 
     218 
     219     </li>
     220 </ol>
     221</td>
     222 
     223<td colspan=2>
     224  <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab1_5.png?format=raw" width='500'/>
     225     <br />
     226     <b>Figure 3-2</b> <i>Edit the nodes</i>
     227</td>
     228</tr>
     229</table>
     230 
     231<table>
     232<tr><td>
     233  <ol type='a' start='2'>
     234 
     235<li>The way we will request installation of the proper software and execution
     236of our experiment is to add <i>install</i> and <i>execute</i> services.
     237</li>
     238</td>
     239<td>
     240<img width='500' src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab1_6.png?format=raw" />
     241     <br />
     242     <b>Figure 3-3</b> <i>Specify the install and execute scripts </i>
     243</td></tr>
     244 
     245 
     246</table>
     247 
     248<table>
     249 
     250<tr>
     251<td colspan=2>
     252<ol  type='a' start='3'>
     253<li>
     254You will be adding three install scripts.  First, select "<tt>Add</tt>" under the <b>Install Scripts</b> sections as shown.  In the box in the <b>URL</b> field enter (cut-and-paste): <br>
     255<pre>http://www.gpolab.bbn.com/experiment-support/LabOne/ccnx/ccnx-0.6.2.tar.gz</pre>
     256and enter
     257<pre>/</pre>
     258in the box under it (labeled 'Install Path:').
     259<br>
     260<br>
     261Now, select "<tt>Add</tt>" under the <b>Install Scripts</b> again.  This time add: <br>
     262<pre>http://www.gpolab.bbn.com/experiment-support/LabOne/ccnx/ccnx-atmos.tar.gz</pre>
     263and enter <br>
     264<pre>/</pre>
     265in the box under it (labeled 'Install Path:').
     266<br>
     267<br>
     268Similarly, add a third install service: 
     269<pre>http://www.gpolab.bbn.com/experiment-support/LabOne/ccnx/ccnx-setup.tar.gz</pre>
     270and enter <br>
     271<pre>/tmp</pre>
     272in the box under it (labeled 'Install Path:').  <strong> Note the different install directory this time. </strong>
     273<br>
     274<br>
     275 
     276  <li>In a similar manner, use the "<tt>Add</tt>" button under the <b>Execute Scripts</b> section to add three execute services on this node:
     277<br>
     278<pre>
     279cd /tmp/ccnx-setup &&  ./node-setup
     280cd /tmp/ccnx-setup &&  ./add-precip-routes rsrchr
     281cd /tmp/ccnx-setup && ./ccnx-setup router 4
     282</pre>
     283  </li>
     284 
     285<table border="0" cellpadding="0" cellspacing="0"><tr><td><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/warning-icon-hi.png?format=raw" width='50' height='50'/></td><td>Be very careful when entering this information -- these commands will not
     286be executed yet, so it will be some time before you will see any relevant
     287error messages if there is a mistake here.</td></tr></table>
     288   </li> 
     289                </ol> 
     290                </table> 
     291
     292<table>
     293<tr><td>
     294  <ol type='a' start='5'>
     295  <li> You <i> DO NOT </i> have to specify install and execute scripts for the other nodes as they have already been done for you.  You can check this by clicking on the icons for these nodes. </li>
     296 
     297   
     298</ol>
     299</td>
     300</tr>
     301 
     302</table>
     303}}}
     304 
     305 
     306 
     307 
     308=== 3.4. Export the modified request RSpec ===
     309Now we will pull back some of the covers and inspect exactly what Jacks has been doing for us when preparing the RSpecs for the experiments we design.  Each node and link has a corresponding element in the RSpec, and the details of the component configuration (such as the install and execute services we requested above) are specified with attributes, or sometimes child elements, within those portions of the document.
     310 
     311{{{
     312#!html
     313<table><tr>
     314<td>
     315   <ol type='a'>
     316   <li>From the <i>Add Resources</i> window (see figure), select the <b>View
     317Rspec</b> button on the top right hand side.  This will bring up a pane showing the
     318current RSpec -- please take a moment to inspect it.  The `&lt;node&gt;` and `&lt;link&gt;` elements
     319contain the specification for the components we will request, and if you
     320look closely, you will be able to see the install and execute service
     321elements you added earlier.  Click on the "View RSpec" button again to return to the main screen.
     322   </li>
     323 
     324   </ol>
     325   </td>
     326   <td>
     327      <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab1_7.png?format=raw" width='500'/>
     328         <br/>
     329         <b>Figure 3-4</b> View and save the final request RSpec
     330   </td>
     331</tr></table>
     332 
     333<table><tr>
     334<td>
     335   <ol type='a' start=2>
     336   <li>Use the <b>Download</b> button (in the lower left part of the screen next to Save RSpec) to
     337make a local copy of your RSpec with the name <tt>rspec.xml</tt>.  We'll use this in the next step to
     338demonstrate how other client tools also use RSpec files to communicate
     339requests to aggregate managers.</li>
     340   </ol>
     341</td></tr>
     342</table>
     343}}}
     344 
     345 
     346 
     347=== 3.5. Instantiate the new experiment using Omni ===
     348 
     349For this step, we'll change the approach a bit and switch to a new client tool, the command line Omni client.   
     350 
     351From a terminal, please enter the command:
     352{{{
     353$ omni -a AM_NICKNAME createsliver SLICENAME RSPEC_FILE
     354}}}
     355where {{{AM_NICKNAME}}} is the nickname for your assigned aggregate manager and {{{SLICENAME}}} is the name of the slice you created earlier (both of these are given on your worksheet).  {{{RSPEC_FILE}}} should be replaced with the filename of the RSpec you saved in step 3.4.
     356 
     357 
     358If all is well, Omni should give you a number of informational messages, such as:
     359{{{
     360INFO:omni:Loading config file /home/geni/.gcf/omni_config
     361}}}
     362 
     363It should quickly proceed to the point where it makes the request to the remote manager:
     364{{{
     365INFO:omni:Creating sliver(s) from rspec file /home/geni/Downloads/experiments.rspec for slice ...
     366}}}
     367
     368This step can sometimes be time-consuming, so please be patient.  If it succeeds, within a couple of minutes Omni should report:
     369{{{
     370INFO:omni: Completed createsliver:
     371}}}
     372
     373and your resource reservation is complete!
     374 
     375 
     376----
     377= [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure/Setup Introduction] =
     378= [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure/Execute Next:  Execute] =