Changes between Version 49 and Version 50 of GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure/Setup


Ignore:
Timestamp:
09/14/15 18:33:27 (7 years ago)
Author:
sedwards@bbn.com
Comment:

Revert to GEC22 version

Legend:

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

    v49 v50  
    1 = [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure/Setup  Understanding the AM API using Content Centric Networking] =
    2 {{{
    3 #!html
     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 the `Profile tab` link on the top of your
     52           screen. Then click on the `Configure omni` tab under
     53           `PROFILE`.</li>
     54        </ol>
     55</td><td>
     56           <img
     57           src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/ConfigureOmniTab.png"
     58          width="400" /> 
     59     <br />
     60     <b>Figure 2-1</b> Click on the <i>Configure omni</i> tab under
     61    <i>Profile</i>.</i>
     62</td></tr>
     63<tr><td>
     64        <ol type='a' start='3'>
     65           <li> Click on the `Download your omni data` button under step 2. </li>
     66</ol>
     67</td><td>
     68           <img
     69           src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/DownloadOmniDataButton.jpg"
     70           width="400" />
     71     <br />
     72     <b>Figure 2-2</b> <i>Download your omni data</i> under step 2.
     73</td></tr>
     74<tr><td>
     75        <ol type='a' start='4'>
     76           <li> If this is the first time you try to access your GENI
     77           certificate you will have to generate one. Click on the
     78           `generate a certificate` link.</li>
     79</ol>
     80</td><td>
     81          <img
     82           src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/GenerateCertLink.jpg"
     83           width="400" />
     84     <br />
     85     <b>Figure 2-3</b> Click on <i>Generate a certificate</i>.</i>
     86</td></tr>
     87<tr><td>
     88        <ol type='a' start='5'>
     89           <li> Unless you really understand how SSL certificates
     90           work, choose the simple option. Click on the `Generate
     91           Combined Certificate and Key File` button and then click on
     92           `Close`.  You will be taken back to the download page with
     93           the warning.  Reload the page to enable the download
     94           button.</li>
     95</ol>
     96</td><td>
     97           <img
     98           src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/SimpleOption.jpg"
     99           width="350"/> 
     100     <br />
     101     <b>Figure 2-4</b> Click on <i>Generate Combined Certificate and Key File</i>.
     102</td></tr>
     103<tr><td>
     104        <ol type='a' start='6'>
     105           <li> If you are a member of more than one project, select
     106           which project you would like to be the default one for
     107           running experiments in GENI. You can always change the
     108           project that is used by the `-r` command line option of
     109           Omni.  Then click on `Download your omni data`.</li> 
     110</ol>
     111</td><td>
     112        <img
     113       src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/DownloadOmniData.jpg"
     114        width="400"/>   
     115     <br />
     116     <b>Figure 2-5</b> Click on <i>Download your omni data</i>.
     117</td></tr>
     118</table>
     119<table>
     120<tr><td>
     121        <ol type='a' start='7'>
     122           <li> The bundle will be saved at <code>~/Downloads/omni.bundle</code> </li>
     123<li>Open a terminal window and type:<pre
     124class="wiki">omni-configure</pre>The cert and key files you need will
     125be installed in the appropriate folders.</li>
     126</ol>
     127</td></tr>
     128</table>
     129}}}
     130 
     131== 3.  Obtain Resources ==
    4132
     133 
     134=== 3.1 Create a slice ===
     135 
     136Create a slice using `omni` and the slice name of your choice.  From now on that slice name will be referred to as `SLICENAME`.
     137{{{
     138$ omni createslice SLICENAME
     139}}}
     140 
     141=== 3.2. Load a simple topology in Jacks ===
     142For this exercise, we will edit an existing RSpec file.  Start by loading this predefined topology into Jacks.
     143 
     144{{{
     145#!html
     146<table>
     147<tr><td>
     148  <ol type='a'>
     149    <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>
     150    <li>Press the <b>Add Resources</b> button to launch Jacks for this slice.</li>
     151    <li>From the <b>Choose RSpec</b> menu (see figure), select the <b>URL</b> button.</li>
     152  </ol>
     153  </td>
     154  <td> 
     155     <img border="0"
     156        src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab1_3.png?format=raw"
     157        width="400" alt="Import an RSpec into Jacks"  title="Import an RSpec into Jacks" /> 
     158     <br />
     159     <b>Figure 3-1</b> <i>Import an RSpec into Jacks.</i>
     160  </td>
     161</tr>
     162</table>
     163<table>
     164<tr><td>
     165  <ol type='a' start='4'>
     166    <li>Enter the URL for the RSpec: <br>
     167       <tt> http://www.gpolab.bbn.com/experiment-support/ccnx-xen/LabOneCCNX_request_rspec.xml </tt> <br>
     168    then click <b>Select</b>.<br/>
     169    </li>
     170    <li>After you click <b>Select</b>, a network topology should appear on the canvas.</li>
     171 </ol>
     172</td>
     173</tr>
     174 
     175</table>
     176 
     177    </li>
     178  </ol>
     179</td>
    5180
    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 - -->
     181 
     182</tr></table>
     183}}}
     184 
     185=== 3.3. Modify the RSpec to automatically install and execute CCNX software ===
     186 
     187For this experiment, we need to install the following software on the nodes:
     188   * The CCNX software (ccnx-0.6.2.tar.gz)
     189   * Scripts that set up the CCNX software (ccnx-setup.tar.gz)
     190   * Scripts used to pull atmospheric precipitation data using the CCNX protocol (ccnx-atmos.tar.gz)
     191 
     192When the nodes start up, we need the following scripts to be executed:
     193   * Script that sets up the node (node-setup)
     194   * Script that sets up the ccnx protocol (ccnx-setup)
     195   * Script that setup up ccnx protocol routes (add-precip-routes)
     196 
     197We automate the installation and running of the software using install and execute scripts in the RSpec. 
     198 
     199{{{
     200#!html
     201<table><tr>
     202<td colspan=2>
     203  <ol type='a'>
     204     <li>Click on the <b>collab node</b> (see figure) to manipulate details of the node configuration.
     205 
     206 
     207<table id="Table_01" border="0" cellpadding="5" cellspacing="0">
     208        <tr>
     209                <td>
     210                        <img src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Graphics/4NotesIcon_512x512.png" width="50" height="50" alt="Note">
     211               </td>
     212<td>
     213When you open the node information, you should see a new pane with fields to fill in like
     214in the figure.   
     215</td>
     216        </tr>
     217</table>
     218 
     219 
     220     </li>
     221 </ol>
     222</td>
     223 
     224<td colspan=2>
     225  <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab1_5.png?format=raw" width='500'/>
     226     <br />
     227     <b>Figure 3-2</b> <i>Edit the nodes</i>
     228</td>
     229</tr>
     230</table>
     231 
     232<table>
     233<tr><td>
     234  <ol type='a' start='2'>
     235 
     236<li>The way we will request installation of the proper software and execution
     237of our experiment is to add <i>install</i> and <i>execute</i> services.
     238</li>
     239</td>
     240<td>
     241<img width='500' src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab1_6.png?format=raw" />
     242     <br />
     243     <b>Figure 3-3</b> <i>Specify the install and execute scripts </i>
     244</td></tr>
     245 
     246 
     247</table>
     248 
     249<table>
     250 
     251<tr>
     252<td colspan=2>
     253<ol  type='a' start='3'>
     254<li>
     255You 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>
     256<pre>http://www.gpolab.bbn.com/experiment-support/ccnx-xen/ccnx-0.6.2.tar.gz</pre>
     257and enter
     258<pre>/</pre>
     259in the box under it (labeled 'Install Path:').
     260<br>
     261<br>
     262Now, select "<tt>Add</tt>" under the <b>Install Scripts</b> again.  This time add: <br>
     263<pre>http://www.gpolab.bbn.com/experiment-support/ccnx-xen/ccnx-atmos.tar.gz</pre>
     264and enter <br>
     265<pre>/</pre>
     266in the box under it (labeled 'Install Path:').
     267<br>
     268<br>
     269Similarly, add a third install service: 
     270<pre>http://www.gpolab.bbn.com/experiment-support/ccnx-xen/ccnx-setup.tar.gz</pre>
     271and enter <br>
     272<pre>/tmp</pre>
     273in the box under it (labeled 'Install Path:').  <strong> Note the different install directory this time. </strong>
     274<br>
     275<br>
     276 
     277  <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:
     278<br>
     279<pre>
     280cd /tmp/ccnx-setup &&  ./node-setup
     281cd /tmp/ccnx-setup &&  ./add-precip-routes rsrchr
     282cd /tmp/ccnx-setup && ./ccnx-setup router 4
     283</pre>
     284  </li>
     285 
     286<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
     287be executed yet, so it will be some time before you will see any relevant
     288error messages if there is a mistake here.</td></tr></table>
     289  </li>
     290</ol>
     291/td>
     292/tr>
     293</table>
     294 
     295<table>
     296<tr><td>
     297  <ol type='a' start='5'>
     298  <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.
     299 
     300   
     301</ol>
     302</td>
     303</tr>
     304 
     305</table>
     306}}}
     307 
     308 
     309 
     310 
     311=== 3.4. Export the modified request RSpec ===
     312Now 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.
     313 
     314{{{
     315#!html
     316<table><tr>
     317<td>
     318   <ol type='a'>
     319   <li>From the <i>Add Resources</i> window (see figure), select the <b>View
     320Rspec</b> button on the top right hand side.  This will bring up a pane showing the
     321current RSpec -- please take a moment to inspect it.  The `&lt;node&gt;` and `&lt;link&gt;` elements
     322contain the specification for the components we will request, and if you
     323look closely, you will be able to see the install and execute service
     324elements you added earlier.  Click on the "View RSpec" button again to return to the main screen.
     325   </li>
     326 
     327   </ol>
     328   </td>
     329   <td>
     330      <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab1_7.png?format=raw" width='500'/>
     331         <br/>
     332         <b>Figure 3-4</b> View and save the final request RSpec
     333   </td>
     334</tr></table>
     335 
     336<table><tr>
     337<td>
     338   <ol type='a' start=2>
     339   <li>Use the <b>Download</b> button (in the lower left part of the screen next to Save RSpec) to
     340make a local copy of your RSpec with the name <tt>rspec.xml</tt>.  We'll use this in the next step to
     341demonstrate how other client tools also use RSpec files to communicate
     342requests to aggregate managers.</li>
     343   </ol>
     344</td></tr>
     345</table>
     346}}}
     347 
     348 
     349 
     350=== 3.5. Instantiate the new experiment using Omni ===
     351 
     352For this step, we'll change the approach a bit and switch to a new client tool, the command line Omni client.   
     353 
     354From a terminal, please enter the command:
     355{{{
     356$ omni -a AM_NICKNAME createsliver SLICENAME RSPEC_FILE
     357}}}
     358where {{{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.
     359 
     360 
     361If all is well, Omni should give you a number of informational messages, such as:
     362{{{
     363INFO:omni:Loading config file /home/geni/.gcf/omni_config
     364}}}
     365 
     366It should quickly proceed to the point where it makes the request to the remote manager:
     367{{{
     368INFO:omni:Creating sliver(s) from rspec file /home/geni/Downloads/experiments.rspec for slice ...
     369}}}
    15370
    16 </div>
    17 }}}
     371This step can sometimes be time-consuming, so please be patient.  If it succeeds, within a couple of minutes Omni should report:
     372{{{
     373INFO:omni: Completed createsliver:
     374}}}
    18375
    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 any site with <i>InstaGENI</i> in it's name.</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 
    40 Verify 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 the `Profile tab` link on the top of your
    52            screen. Then click on the `Configure omni` tab under
    53            `PROFILE`.</li>
    54         </ol>
    55 </td><td>
    56            <img
    57            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/ConfigureOmniTab.png"
    58            width="400" />
    59      <br />
    60      <b>Figure 2-1</b> Click on the <i>Configure omni</i> tab under
    61      <i>Profile</i>.</i>
    62 </td></tr>
    63 <tr><td>
    64         <ol type='a' start='3'>
    65            <li> Click on the `Download your omni data` button under step 2. </li>
    66 </ol>
    67 </td><td>
    68            <img
    69            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/DownloadOmniDataButton.jpg"
    70            width="400" />
    71      <br />
    72      <b>Figure 2-2</b> <i>Download your omni data</i> under step 2.
    73 </td></tr>
    74 <tr><td>
    75         <ol type='a' start='4'>
    76            <li> If this is the first time you try to access your GENI
    77            certificate you will have to generate one. Click on the
    78            `generate a certificate` link.</li>
    79 </ol>
    80 </td><td>
    81            <img
    82            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/GenerateCertLink.jpg"
    83            width="400" />
    84      <br />
    85      <b>Figure 2-3</b> Click on <i>Generate a certificate</i>.</i>
    86 </td></tr>
    87 <tr><td>
    88         <ol type='a' start='5'>
    89            <li> Unless you really understand how SSL certificates
    90            work, choose the simple option. Click on the `Generate
    91            Combined Certificate and Key File` button and then click on
    92            `Close`.  You will be taken back to the download page with
    93            the warning.  Reload the page to enable the download
    94            button.</li>
    95 </ol>
    96 </td><td>
    97            <img
    98            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/SimpleOption.jpg"
    99            width="350"/>
    100      <br />
    101      <b>Figure 2-4</b> Click on <i>Generate Combined Certificate and Key File</i>.
    102 </td></tr>
    103 <tr><td>
    104         <ol type='a' start='6'>
    105            <li> If you are a member of more than one project, select
    106            which project you would like to be the default one for
    107            running experiments in GENI. You can always change the
    108            project that is used by the `-r` command line option of
    109            Omni.  Then click on `Download your omni data`.</li>
    110 </ol>
    111 </td><td>
    112         <img
    113         src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/DownloadOmniData.jpg"
    114         width="400"/> 
    115      <br />
    116      <b>Figure 2-5</b> Click on <i>Download your omni data</i>.
    117 </td></tr>
    118 </table>
    119 <table>
    120 <tr><td>
    121         <ol type='a' start='7'>
    122            <li> The bundle will be saved at <code>~/Downloads/omni.bundle</code> </li>
    123 <li>Open a terminal window and type:<pre
    124 class="wiki">omni-configure</pre>The cert and key files you need will
    125 be installed in the appropriate folders.</li>
    126 </ol>
    127 </td></tr>
    128 </table>
    129 }}}
    130 
    131 == 3.  Obtain Resources ==
    132 
    133 
    134 === 3.1 Create a slice ===
    135 
    136 Create a slice using `omni` and the slice name of your choice.  From now on that slice name will be referred to as `SLICENAME`.
    137 {{{
    138 $ omni createslice SLICENAME
    139 }}}
    140 
    141 === 3.2. Load a simple topology in Jacks ===
    142 For this exercise, we will edit an existing RSpec file.  Start by loading this predefined topology into Jacks.
    143 
    144 {{{
    145 #!html
    146 <table>
    147 <tr><td>
    148   <ol type='a'>
    149     <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>
    150     <li>Press the <b>Add Resources</b> button to launch Jacks for this slice.</li>
    151     <li>From the <b>Choose RSpec</b> menu (see figure), select the <b>URL</b> button.</li>
    152   </ol>
    153   </td>
    154   <td>
    155      <img border="0"
    156         src="http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/JacksLab1_7_v2.png"
    157         width="400" alt="Import an RSpec into Jacks"  title="Import an RSpec into Jacks" />
    158      <br />
    159      <b>Figure 3-1</b> <i>Import an RSpec into Jacks.</i>
    160   </td>
    161 </tr>
    162 </table>
    163 <table>
    164 <tr><td>
    165   <ol type='a' start='4'>
    166     <li>Enter the URL for the RSpec: <br>
    167        <tt> http://www.gpolab.bbn.com/exp/LabOne/ccnx/lab1ccn-3node.xml </tt> <br>
    168     then click <b>Select</b>.<br/>
    169     </li>
    170     <li>After you click <b>Select</b>, a network topology should appear on the canvas.</li>
    171   </ol>
    172 </td>
    173 </tr>
    174 
    175 </table>
    176 
    177     </li>
    178   </ol>
    179 </td>
    180 
    181 
    182 </tr></table>
    183 }}}
    184 
    185 === 3.3. Modify the RSpec to automatically install and execute CCNX software ===
    186 
    187 For this experiment, we need to install the following software on the nodes:
    188    * The CCNX software (ccnx-0.6.2.tar.gz)
    189    * Scripts that set up the CCNX software (ccnx-setup.tar.gz)
    190    * Scripts used to pull atmospheric precipitation data using the CCNX protocol (ccnx-atmos.tar.gz)
    191 
    192 When the nodes start up, we need the following scripts to be executed:
    193    * Script that sets up the node (node-setup)
    194    * Script that sets up the ccnx protocol (ccnx-setup)
    195    * Script that setup up ccnx protocol routes (add-precip-routes)
    196 
    197 We automate the installation and running of the proper software using `install` and `execute` scripts in the RSpec. These can be added by selecting the '''Add''' button under the '''Install Scripts''' and '''Execute Scripts''' fields for each node.
    198 
    199 Most of the nodes have an install script specified for each of the three pieces of software listed above which loads a tarball of software onto each node:
    200  * `http://www.gpolab.bbn.com/experiment-support/ccnx-xen/ccnx-0.6.2.tar.gz`
    201  * `http://www.gpolab.bbn.com/experiment-support/ccnx-xen/ccnx-atmos.tar.gz`
    202  * `http://www.gpolab.bbn.com/experiment-support/ccnx-xen/ccnx-setup.tar.gz`
    203 
    204 Likewise, the nodes have execute scripts to configure the software on each node:
    205  * `cd /tmp/ccnx-setup && ./node-setup`
    206  * `cd /tmp/ccnx-setup && ./add-precip-routes router`
    207  * `cd /tmp/ccnx-setup && ./ccnx-setup router 5`
    208 
    209 {{{
    210 #!html
    211 <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>
    212 You <i> DO NOT </i> have to specify install and execute scripts for the nodes as they have already been done for you.  You can check this by clicking on the icons for these nodes.
    213 <br/><br/>
    214 In general, one should be very careful when entering this information -- these commands will not
    215 be executed yet, so it will be some time before you will see any relevant
    216 error messages if there is a mistake here.
    217 </td></tr></table>
    218 }}}
    219 
    220 
    221 
    222 {{{
    223 #!html
    224 <table><tr>
    225 <td colspan=2>
    226   <ol type='a'>
    227      <li>Click on each node to manipulate details of the node configuration.
    228 <br/><br/>
    229 The <tt>ccnx-setup</tt> execute command takes as parameters the name of a single "barrier" node, which must be up in order for the experiment to start, and the number of nodes in the topology as follows:
    230 <pre>ccnx-setup BARRIER_NODE NUM_NODES</pre>
    231 We will continue to use the node <tt>ccnx-router</tt> as the barrier node.
    232 <br/><br/>
    233 We will add two nodes to the topology, so go ahead and change the number of nodes from 3 to 5.
    234 The new <tt>ccnx-router</tt> execute command on <b>all three nodes</b> should be:
    235 <pre>cd /tmp/ccnx-setup && ./ccnx-setup ccnx-router 5</pre>
    236 
    237 
    238 <table id="Table_01" border="0" cellpadding="5" cellspacing="0">
    239         <tr>
    240                 <td>
    241                         <img src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Graphics/4NotesIcon_512x512.png" width="50" height="50" alt="Note">
    242                </td>
    243 <td>
    244 When you open the node information, you should see a new pane with fields to fill in like
    245 in the figure. 
    246 </td>
    247         </tr>
    248 </table>
    249 
    250 
    251      </li>
    252   </ol>
    253 </td>
    254 
    255 <td colspan=2>
    256   <img src="http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/JacksLab1_5_v2.png" width='500'/>
    257      <br />
    258      <b>Figure 3-2</b> <i>Edit all three nodes</i>
    259 </td>
    260 </tr>
    261 </table>
    262 
    263 
    264 
    265 <table><tr>
    266 <td colspan=2>
    267   <ol type='a' start='2'>
    268      <li>Copy the <tt>user</tt> node by:
    269 <ul>
    270 <li>Click on the <tt>user</tt> node. </li>
    271 <li>Press the <b>Duplicate Nodes Only</b> button. </li>
    272 <li>A node <tt>user-0</tt> should appear. Look at the install and execute scripts.  They should be the same as on the original <tt>user</tt> node.</li>
    273 </ul>
    274      </li>
    275      <li>Copy the <tt>ccnx-router</tt> node the same way.  The new node should be <tt>ccnx-router-1</tt>.</li>
    276   </ol>
    277 </td>
    278 
    279 <td colspan=2>
    280   <img src="http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/JacksLab1_20_v2.png" width='500'/>
    281      <br />
    282      <b>Figure 3-3</b> <i>Copy the <tt>ccnx-router</tt> and <tt>user</tt> nodes.</i>
    283 </td>
    284 </tr>
    285 </table>
    286 <table><tr>
    287 <td colspan=2>
    288   <ol type='a' start='4'>
    289      <li>Draw a link between the <tt>ccnx-router</tt> and <tt>ccnx-router-1</tt> nodes.</li>
    290      <li>Draw another link between the new <tt>ccnx-router-1</tt> node and the <tt>user-0</tt> node.</li>
    291      <li>The topology should look like Figure 3-4</li>
    292   </ol>
    293 </td>
    294 
    295 <td colspan=2>
    296   <img src="http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/JacksLab1_21_v2.png" width='500'/>
    297      <br />
    298      <b>Figure 3-4</b> <i>Draw links to connect the nodes.</i>
    299 </td>
    300 </tr>
    301 </table>
    302 
    303 <table><tr>
    304 <td colspan=2>
    305   <ol type='a' start='7'>
    306      <li>Press the <b>Auto-IP</b> button to automatically assign IP addresses to each interface in the topology.</li>
    307      <li>
    308 The <tt>add-precip-routes</tt> execute command takes as a parameter the name of the "next hop" node, which is the next node on the path to the <tt>data</tt> node:
    309 <pre>add-precip-routes NEXT_HOP_NODE</pre>
    310 
    311 Edit the new <tt>ccnx-router-1</tt> node to point to <tt>ccnx-router</tt>.
    312 <br/><br/>
    313 The new <tt>add-precip-routes</tt> execute command on <b>ccnx-router-1</b> should be:
    314 <pre>cd /tmp/ccnx-setup && ./add-precip-routes ccnx-router</pre>
    315 </li>
    316 <li>
    317 Edit the new <tt>user-0</tt> node to point to <tt>ccnx-router-1</tt>.
    318 <br/><br/>
    319 The new <tt>add-precip-routes</tt> execute command on <b>user-0</b> should be:
    320 <pre>cd /tmp/ccnx-setup && ./add-precip-routes ccnx-router-1</pre>
    321 
    322 </li>
    323   </ol>
    324 </td>
    325 
    326 <td colspan=2>
    327   <img src="http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/JacksLab1_22_v2.png" width='500'/>
    328      <br />
    329      <b>Figure 3-5</b> <i>Edit the next hop on <tt>ccnx-router-1</tt> and <tt>user-0</tt>.</i>
    330 </td>
    331 </tr>
    332 </table>
    333 }}}
    334 
    335 
    336 
    337 === 3.4. Export the modified request RSpec ===
    338 Now 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.
    339 
    340 {{{
    341 #!html
    342 <table><tr>
    343 <td>
    344    <ol type='a'>
    345    <li>From the <i>Add Resources</i> window (see figure), select the <b>View
    346 Rspec</b> button on the top right hand side.  This will bring up a pane showing the
    347 current RSpec -- please take a moment to inspect it.  The `&lt;node&gt;` and `&lt;link&gt;` elements
    348 contain the specification for the components we will request, and if you
    349 look closely, you will be able to see the install and execute service
    350 elements you added earlier.  Click on the "View RSpec" button again to return to the main screen.
    351    </li>
    352 
    353    </ol>
    354    </td>
    355    <td>
    356       <img src="http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/JacksLab1_24_v2.png" width='500'/>
    357          <br/>
    358          <b>Figure 3-4</b> View and save the final request RSpec
    359    </td>
    360 </tr></table>
    361 
    362 <table><tr>
    363 <td>
    364    <ol type='a' start=2>
    365    <li>Use the <b>Download</b> button (in the lower left part of the screen next to Save RSpec) to
    366 make a local copy of your RSpec with the name <tt>rspec.xml</tt>.  We'll use this in the next step to
    367 demonstrate how other client tools also use RSpec files to communicate
    368 requests to aggregate managers.</li>
    369    </ol>
    370 </td></tr>
    371 </table>
    372 }}}
    373 
    374 
    375 
    376 === 3.5. Instantiate the new experiment using Omni ===
    377 
    378 For this step, we'll change the approach a bit and switch to a new client tool, the command line Omni client. 
    379 
    380 From a terminal, please enter the command:
    381 {{{
    382 $ omni -a AM_NICKNAME createsliver SLICENAME RSPEC_FILE
    383 }}}
    384 where {{{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.
    385 
    386 
    387 If all is well, Omni should give you a number of informational messages, such as:
    388 {{{
    389 INFO:omni:Loading config file /home/geni/.gcf/omni_config
    390 }}}
    391 
    392 It should quickly proceed to the point where it makes the request to the remote manager:
    393 {{{
    394 INFO:omni:Creating sliver(s) from rspec file /home/geni/Downloads/experiments.rspec for slice ...
    395 }}}
    396 
    397 This step can sometimes be time-consuming, so please be patient.  If it succeeds, within a couple of minutes Omni should report:
    398 {{{
    399 INFO:omni: Completed createsliver:
    400 }}}
    401 
    402 and your resource reservation is complete!
    403 
    404 
    405 ----
    406 = [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure/Setup Introduction] =
    407 = [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure/Execute Next:  Execute] =
     376and your resource reservation is complete!
     377 
     378 
     379----
     380= [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure/Setup Introduction] =
     381= [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure/Execute Next:  Execute] =