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 | |
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 === |
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 `<node>` and `<link>` 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 `<node>` and `<link>` 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 === |