Changes between Version 4 and Version 5 of GENIExperimenter/Tutorials/jFed/GettingStarted_PartII_ndn/Procedure/Setup


Ignore:
Timestamp:
06/24/16 13:45:10 (8 years ago)
Author:
tteixeir@bbn.com
Comment:

--

Legend:

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

    v4 v5  
    2121== 1.  Design the Experiment ==
    2222 
    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 }}}
     23In today's experiment you will use resources at the aggregate listed on the worksheet. If you don't have a worksheet, use the closest Instageni rack to the first letter of your name (i.e. if your name starts with the letter C, pick a rack that starts with C). This will help to prevent that too many users choose the same rack and eventually the rack will run out of resources.
    3524
    3625== 2.  Establish the Environment ==
     
    5544{{{
    5645#!html
    57 <table>
    58 <tr><td>
    59         <ol type='a'>
    60           <li>Login to the <a href="http://portal.geni.net"> GENI Portal </a> </li>
    61            <li> Click on the `Profile tab` link on the top of your
     46<table style="width:100%">
     47    <tr>
     48        <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
    6252           screen. Then click on the `Configure omni` tab under
    6353           `PROFILE`.</li>
    64         </ol>
    65 </td><td>
    66            <img
    67            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/ConfigureOmniTab.png"
    68            width="400" />
    69      <br />
    70      <b>Figure 2-1</b> Click on the <i>Configure omni</i> tab under
    71      <i>Profile</i>.</i>
    72 </td></tr>
    73 <tr><td>
    74         <ol type='a' start='3'>
    75            <li> Click on the `Download your omni data` button under step 2. </li>
    76 </ol>
    77 </td><td>
    78            <img
    79            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/DownloadOmniDataButton.jpg"
    80            width="400" />
    81      <br />
    82      <b>Figure 2-2</b> <i>Download your omni data</i> under step 2.
    83 </td></tr>
    84 <tr><td>
    85         <ol type='a' start='4'>
    86            <li> If this is the first time you try to access your GENI
    87            certificate you will have to generate one. Click on the
    88            `generate a certificate` link.</li>
    89 </ol>
    90 </td><td>
    91            <img
    92            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/GenerateCertLink.jpg"
    93            width="400" />
    94      <br />
    95      <b>Figure 2-3</b> Click on <i>Generate a certificate</i>.</i>
    96 </td></tr>
    97 <tr><td>
    98         <ol type='a' start='5'>
    99            <li> Unless you really understand how SSL certificates
    100            work, choose the simple option. Click on the `Generate
    101            Combined Certificate and Key File` button and then click on
    102            `Close`.  You will be taken back to the download page with
    103            the warning.  Reload the page to enable the download
    104            button.</li>
    105 </ol>
    106 </td><td>
    107            <img
    108            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/SimpleOption.jpg"
    109            width="350"/>
    110      <br />
    111      <b>Figure 2-4</b> Click on <i>Generate Combined Certificate and Key File</i>.
    112 </td></tr>
    113 <tr><td>
    114         <ol type='a' start='6'>
    115            <li> If you are a member of more than one project, select
    116            which project you would like to be the default one for
    117            running experiments in GENI. You can always change the
    118            project that is used by the `-r` command line option of
    119            Omni.  Then click on `Download your omni data`.</li>
    120 </ol>
    121 </td><td>
    122         <img
    123         src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/DownloadOmniData.jpg"
    124         width="400"/> 
    125      <br />
    126      <b>Figure 2-5</b> Click on <i>Download your omni data</i>.
    127 </td></tr>
    128 </table>
     54            </ol>
     55        </td>
     56        <td align="right">
     57            <img
     58            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/ConfigureOmniTab.png"
     59            width="400" /> <br/>
     60            <b>Figure 2-1</b> Click on the <i>Configure omni</i> tab under
     61            <i>Profile</i>.
     62        </td>
     63    </tr>
     64
     65    <tr>
     66        <td>
     67            <ol type='a' start='3'>
     68                <li> Click on the `Download your omni data` button under step 2. </li>
     69            </ol>
     70        </td>
     71        <td align="right">
     72            <img
     73            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/DownloadOmniDataButton.jpg"
     74            width="400" /> <br/>
     75            <b>Figure 2-2</b> <i>Download your omni data</i> under step 2.
     76        </td>
     77    </tr>
     78
     79    <tr>
     80        <td>
     81            <ol type='a' start='4'>
     82            <li> If this is the first time you try to access your GENI
     83            certificate you will have to generate one. Click on the
     84            `generate a certificate` link.</li>
     85            </ol>
     86        </td>
     87        <td align="right">
     88            <img
     89            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/GenerateCertLink.jpg"
     90            width="400" /> <br/>
     91            <b>Figure 2-3</b> Click on <i>Generate a certificate</i>.</i>
     92        </td>
     93    </tr>
     94    <tr>
     95        <td>
     96            <ol type='a' start='5'>
     97                <li> Unless you really understand how SSL certificates
     98                work, choose the simple option. Click on the `Generate
     99                Combined Certificate and Key File` button and then click on
     100                `Close`.  You will be taken back to the download page with
     101                the warning.  Reload the page to enable the download
     102                button.</li>
     103            </ol>
     104        </td>
     105        <td align="right">
     106            <img
     107            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/SimpleOption.jpg"
     108            width="350"/> <br/>
     109            <b>Figure 2-4</b> Click on <i>Generate Combined Certificate and Key File</i>.
     110        </td>
     111    </tr>
     112    <tr>
     113        <td>
     114            <ol type='a' start='6'>
     115                <li> If you are a member of more than one project, select
     116                which project you would like to be the default one for
     117                running experiments in GENI. You can always change the
     118                project that is used by the `-r` command line option of
     119                Omni.  Then click on `Download your omni data`.</li>
     120            </ol>
     121        </td>
     122        <td align="right">
     123            <img
     124            src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/OmniConfigure/Automatic/DownloadOmniData.jpg"
     125            width="400"/>  <br/>
     126            <b>Figure 2-5</b> Click on <i>Download your omni data</i>.
     127        </td>
     128    </tr>
     129</table>
     130
    129131<table>
    130 <tr><td>
    131         <ol type='a' start='7'>
    132            <li> The bundle will be saved at <code>~/Downloads/omni.bundle</code> </li>
    133 <li>Open a terminal window and type:<pre
    134 class="wiki">omni-configure</pre>The cert and key files you need will
    135 be installed in the appropriate folders.</li>
    136 </ol>
    137 </td></tr>
     132    <tr>
     133        <td>
     134            <ol type='a' start='7'>
     135                <li> The bundle will be saved at <code>~/Downloads/omni.bundle</code> </li>
     136                <li>Open a terminal window and type:<pre
     137                class="wiki">omni-configure</pre>The cert and key files you need will
     138                be installed in the appropriate folders.</li>
     139            </ol>
     140        </td>
     141    </tr>
    138142</table>
    139143}}}
     
    155159{{{
    156160#!html
    157 <table>
    158 <tr><td>
    159   <ol type='a'>
    160     <li>In the Portal, launch jFed for this slice.</li>
    161     <li>From the <b>jFed Experimenter Toolkit</b> menu (see figure), select the <b>Open URL</b> button.</li>
    162   </ol>
    163   </td>
    164   <td>
    165      <img border="0"
    166         src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JFedLab1_1.png?format=raw"
    167         width=400 alt="Import an RSpec into jFed"  title="Import an RSpec into jFed" />
    168      <br />
    169      <b>Figure 3-1</b> <i>Import an RSpec into jFed.</i>
    170   </td>
    171 </tr>
    172 </table>
    173 <table>
    174 <tr><td>
    175   <ol type='a' start='3'>
    176     <li>Enter the URL for the RSpec: <br>
    177        <tt>http://www.gpolab.bbn.com/experiment-support/LabOne/ccnx/lab1ccn-3node-jfed-rawpc.xml</tt><br>
    178     then click <b>Ok</b>.<br/>
    179     </li>
    180     <li>When jFed pops up a message asking you to pick a manager to use, select the manager listed on your worksheet from the
    181     list.  After you pick an aggregate manager, a network topology should appear
    182     on the canvas.
    183 
    184 
    185 <table id="Table_01" border="0" cellpadding="5" cellspacing="0">
    186         <tr>
    187 <td>
    188      <img border="0"
    189         src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JFedLab1_2.png?format=raw"
    190         width="400" alt="Pick Aggregate Manager"  title="Pick Aggregate Manager" />
    191      <br />
    192      <b>Figure 3-2</b> <i>Pick an Aggregate Manager.</i>
    193   </td>
    194 <td>
    195 Because this RSpec file contains a generic description of resources and does not specify any particular aggregate manager, jFed will pop up a message asking you to specify an aggregate to use:
    196 <br/>
    197 <i>
    198 Assign these nodes now ....
    199 </i>
    200 </td>
    201         </tr>
    202 </table>
    203 
    204     </li>
    205   </ol>
    206 </td>
    207 
    208 
    209 </tr></table>
    210 }}}
    211 
    212 === 3.3. Modify the RSpec to automatically install and execute CCNX software ===
    213 
    214 For this experiment, we need to install the following software on the nodes:
    215    * The CCNX software (ccnx-0.6.2.tar.gz)
    216    * Scripts that set up the CCNX software (ccnx-setup.tar.gz)
    217    * Scripts used to pull atmospheric precipitation data using the CCNX protocol (ccnx-atmos.tar.gz)
    218 
    219 When the nodes start up, we need the following scripts to be executed:
    220    * Script that sets up the node (node-setup)
    221    * Script that sets up the ccnx protocol (ccnx-setup)
    222    * Script that setup up ccnx protocol routes (add-precip-routes)
    223 
    224 We automate the installation and running of the proper software using `install` and `execute` scripts in the RSpec. These can be added by double clicking on a node, and then clicking a "+" under the "Boot scripts" tab.
    225 
    226 {{{
    227 #!comment
    228 
    229 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:
    230  * `http://www.gpolab.bbn.com/experiment-support/ccnx-xen/ccnx-0.6.2.tar.gz`
    231  * `http://www.gpolab.bbn.com/experiment-support/ccnx-xen/ccnx-atmos.tar.gz`
    232  * `http://www.gpolab.bbn.com/experiment-support/ccnx-xen/ccnx-setup.tar.gz`
    233 
    234 Likewise, the nodes have execute scripts to configure the software on each node:
    235  * `cd /tmp/ccnx-setup && ./node-setup`
    236  * `cd /tmp/ccnx-setup && ./add-precip-routes router`
    237  * `cd /tmp/ccnx-setup && ./ccnx-setup router 5`
    238 }}}
    239 
    240 {{{
    241 #!html
    242 <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>
    243 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.
    244 <br/><br/>
    245 In general, be very careful when entering this information.  These commands will not
    246 be executed until the nodes boot up and may fail silently.
    247 </td></tr></table>
    248 }}}
    249 
    250 
    251 
    252 {{{
    253 #!html
    254 <table><tr>
    255 <td colspan=2>
    256   <ol type='a'>
    257      <li>Click on each node to manipulate details of the node configuration. The execute commands below are found under the "Boot scripts" tab.
    258 <br/><br/>
    259 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:
    260 <pre>ccnx-setup BARRIER_NODE NUM_NODES</pre>
    261 We will continue to use the node <tt>router</tt> as the barrier node.
    262 <br/><br/>
    263 We will add two nodes to the topology, so go ahead and change the number of nodes from 3 to 5.
    264 The new <tt>router</tt> execute command on <b>all three nodes</b> should be:
    265 <pre>cd /tmp/ccnx-setup && ./ccnx-setup router 5</pre>
    266 
    267      </li>
    268   </ol>
    269 </td>
    270 
    271 <td colspan=2>
    272   <img src="http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/LabOne_JFed_Fig3-2.png" width='500'/>
    273      <br />
    274      <b>Figure 3-2</b> <i>Edit all three nodes</i>
    275 </td>
    276 </tr>
    277 </table>
    278 
    279 
    280 
    281 <table><tr>
    282 <td colspan=2>
    283   <ol type='a' start='2'>
    284      <li>Copy the <tt>user</tt> node by:
    285 <ul>
    286 <li>Click on the <tt>user</tt> node. </li>
    287 <li>Press the <b>Duplicate</b> button. </li>
    288 <li>A new node should appear. </li>
    289 <li>Double click on the new node and rename it <tt>user0</tt>.</li>
    290 <li>Remove each link connecting <tt>user0</tt> to the topology. Delete the link by right clicking on each link and selecting "Delete". You may need to move the nodes around to see the added links.</li>
    291 <li>Look at the install and execute scripts.  They should be the same as on the original <tt>user</tt> node.</li>
    292 </ul>
    293      </li>
    294      <li>Copy the <tt>router</tt> node the same way setting the name of the new node to be <tt>router1</tt>.  Be sure to delete the links from this node as well.</li>
    295   </ol>
    296 </td>
    297 
    298 <td colspan=2>
    299   <img src="http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/LabOne_JFed_Fig3-3.png" width='500'/>
    300      <br />
    301      <b>Figure 3-3</b> <i>Copy the <tt>router</tt> and <tt>user</tt> nodes.</i>
    302 </td>
    303 </tr>
    304 </table>
    305 <table><tr>
    306 <td colspan=2>
    307   <ol type='a' start='4'>
    308      <li>Draw a link between the <tt>router</tt> and <tt>router1</tt> nodes.</li>
    309      <li>Draw another link between the new <tt>router1</tt> node and the <tt>user0</tt> node.</li>
    310      <li>The topology should look like Figure 3-4</li>
    311   </ol>
    312 </td>
    313 
    314 <td colspan=2>
    315   <img src="http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/LabOne_JFed_Fig3-4.png" width='500'/>
    316      <br />
    317      <b>Figure 3-4</b> <i>Draw links to connect the nodes.</i>
    318 </td>
    319 </tr>
    320 </table>
    321 
    322 <table><tr>
    323 <td colspan=2>
    324   <ol type='a' start='7'>
    325      <li>Let the aggregate selecting IP addresses for you.  To do this, click on each link and set the "Configuration Type" field to "Auto".</li>
    326      <li>
    327 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:
    328 <pre>add-precip-routes NEXT_HOP_NODE</pre>
    329 
    330 Edit the new <tt>router1</tt> node to point to <tt>router</tt>.
    331 <br/><br/>
    332 The new <tt>add-precip-routes</tt> execute command on <b>router1</b> should be:
    333 <pre>cd /tmp/ccnx-setup && ./add-precip-routes router</pre>
    334 </li>
    335 <li>
    336 Edit the new <tt>user0</tt> node to point to <tt>router1</tt>.
    337 <br/><br/>
    338 The new <tt>add-precip-routes</tt> execute command on <b>user0</b> should be:
    339 <pre>cd /tmp/ccnx-setup && ./add-precip-routes router1</pre>
    340 
    341 </li>
    342   </ol>
    343 </td>
    344 
    345 <td colspan=2>
    346   <img src="http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/LabOne_JFed_Fig3-5.png" width='500'/>
    347      <br />
    348      <b>Figure 3-5</b> <i>Edit the next hop on <tt>router1</tt> and <tt>user0</tt>.</i>
    349 </td>
    350 </tr>
    351 </table>
    352 }}}
    353 
    354 
    355 === 3.4. Export the modified request RSpec ===
     161<table style="width:100%">
     162    <tr>
     163        <td>
     164            <ol type='a'>
     165                <li>In the Portal, launch jFed for this slice.</li>
     166                <li>From the <b>jFed Experimenter Toolkit</b> menu (see figure), select the <b>Open URL</b> button.</li>
     167            </ol>
     168        </td>
     169        <td align="right">
     170            <img border="0"
     171            src="http://192.1.242.151/images/jFed/IntroPage.png?format=raw"
     172            width=400 alt="Import an RSpec into jFed"  title="Import an RSpec into jFed" />  <br/>
     173            <b>Figure 3-1</b> <i>Import an RSpec into jFed.</i>
     174        </td>
     175    </tr>
     176</table>
     177
     178<table style="width:100%">
     179    <tr>
     180        <td>
     181            <ol type='a' start='3'>
     182                <li>Enter the URL for the RSpec: <br>
     183                <tt>http://192.1.242.151/files/lab1-ndn-rspec.xml</tt><br>
     184                then click <b>Ok</b>.<br/> </li>
     185                <li>When jFed pops up a message asking you to pick a manager to use, select the manager listed on your worksheet from the
     186                list. After you pick an aggregate manager, a network topology should appear
     187                on the canvas.
     188                <table id="Table_01" border="0" cellpadding="5" cellspacing="0">
     189                    <tr>
     190                        <td>
     191                            Because this RSpec file contains a generic description of resources and does not specify any particular aggregate manager, jFed will pop up a message asking you to specify an aggregate to use: <br/>
     192                            <i>Assign these nodes now ....</i>
     193                        </td>
     194                        <td align="right">
     195                            <img border="0"
     196                            src="http://192.1.242.151/images/jFed/AM_window.png?format=raw"
     197                            width="400" alt="Pick Aggregate Manager"  title="Pick Aggregate Manager" /> <br />
     198                            <b>Figure 3-2</b> <i>Pick an Aggregate Manager.</i>
     199                        </td>
     200                    </tr>
     201                </table>
     202                </li>
     203            </ol>
     204        </td>
     205    </tr>
     206</table>
     207}}}
     208
     209
     210=== 3.3. Export the modified request RSpec ===
    356211Now we will pull back some of the covers and inspect exactly what jFed 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.
    357212
    358213{{{
    359214#!html
    360 <table><tr>
    361 <td>
    362    <ol type='a'>
    363    <li>From the <i>jFed Experimenter Toolkit</i> window (see figure), select the <b>RSpec Editor</b> tab.  This will bring up a window showing the
    364 current RSpec -- please take a moment to inspect it.  The `&lt;node&gt;` and `&lt;link&gt;` elements
    365 contain the specification for the components we will request, and if you
    366 look closely, you will be able to see the install and execute service
    367 elements you added earlier.
    368    </li>
    369 
    370    </ol>
    371    </td>
    372    <td>
    373       <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JFedLab1_7.png?format=raw" width='400'/>
    374          <br/>
    375          <b>Figure 3-5</b> View the final request RSpec
    376    </td>
    377 </tr></table>
    378 
    379 <table><tr>
    380 <td>
    381    <ol type='a'>
    382    <li>Use the <b>Save to file</b> button (in the upper left) to
    383 a local copy of your RSpec with the name <tt>ccn_precip.xml</tt>.  We'll use this in the next step to
    384 demonstrate how other client tools also use RSpec files to communicate
    385 requests to aggregate managers.</li>
    386    </ol>
    387 </td>
    388    <td>
    389       <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JFedLab1_8.png?format=raw" width='400'/>
    390          <br/>
    391          <b>Figure 3-6</b> Save the final request RSpec
    392    </td>
    393 </tr>
    394 </table>
    395 }}}
    396 
    397 
    398 
    399 === 3.6. Instantiate the new experiment using Omni ===
     215<table style="width:100%">
     216    <tr>
     217        <td>
     218            <ol type='a'>
     219                <li>From the <i>jFed Experimenter Toolkit</i> window (see figure), select the <b>RSpec Editor</b> tab.  This will bring up a window showing the
     220                current RSpec -- please take a moment to inspect it.  The `&lt;node&gt;` and `&lt;link&gt;` elements
     221                contain the specification for the components we will request, and if you
     222                look closely, you will be able to see the install and execute service
     223                elements you added earlier. </li>
     224                <li>Use the <b>Save to file</b> button (in the upper left) to
     225                a local copy of your RSpec with the name <tt>ccn_precip.xml</tt>.  We'll use this in the next step to
     226                demonstrate how other client tools also use RSpec files to communicate
     227                requests to aggregate managers.</li>
     228            </ol>
     229        </td>
     230        <td align="right">
     231            <img src="http://192.1.242.151/images/jFed/SaveRSpec.png?format=raw" width='400'/>
     232                <br/>
     233                <b>Figure 3-3</b> View and save the final request RSpec
     234        </td>
     235    </tr>
     236</table>
     237}}}
     238
     239
     240
     241=== 3.4. Instantiate the new experiment using Omni ===
    400242
    401243For this step, we'll change the approach a bit and switch to a new client tool, the command line Omni client.