| 1 | = [http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/UnderstandAMAPI/Procedure Understanding the AM API using Content Centric Networking] = |
| 2 | {{{ |
| 3 | #!html |
| 4 | |
| 5 | <div style="text-align:center; width:495px; margin-left:auto; margin-right:auto;"> |
| 6 | <img id="Image-Maps_5201305222028436" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Execute.jpg?format=raw" usemap="#Image-Maps_5201305222028436" border="0" width="495" height="138" alt="" /> |
| 7 | <map id="_Image-Maps_5201305222028436" name="Image-Maps_5201305222028436"> |
| 8 | <area shape="rect" coords="18,18,135,110" href="./DesignSetup" alt="" title="" /> |
| 9 | <area shape="rect" coords="180,18,297,111" href="./Execute" alt="" title="" /> |
| 10 | <area shape="rect" coords="344,17,460,110" href="./Finish" alt="" title="" /> |
| 11 | <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" /> |
| 12 | </map> |
| 13 | <!-- Image map text links - End - --> |
| 14 | |
| 15 | </div> |
| 16 | }}} |
| 17 | |
| 18 | == 4 Wait for experiment setup == |
| 19 | |
| 20 | You can tell whether your nodes are ''ready'' by using a script built on `omni` called `readyToLogin`. |
| 21 | |
| 22 | {{{ |
| 23 | #!html |
| 24 | <ol type='a'> |
| 25 | <li> |
| 26 | Please use the command: |
| 27 | <pre> |
| 28 | readyToLogin --no-keys -a AM_NICKNAME SLICENAME |
| 29 | <pre> |
| 30 | where (as before) <tt>AM_NICKNAME</tt> and <tt>SLICENAME</tt> are your aggregate |
| 31 | manager nickname and your slice name (both found on your worksheet). |
| 32 | </li> |
| 33 | <li>If it reports that the sliver is not yet ready (for example, it might say that the status is "changing"), then please wait a minute |
| 34 | or two and try again. Once everything is complete, <tt>readyToLogin</tt> |
| 35 | will give output that should look something like this: |
| 36 | <pre> |
| 37 | ... |
| 38 | server's geni_status is: ready (am_status:ready) |
| 39 | User example logs in to server using: |
| 40 | ssh -p 32768 example@pc1.utah.geniracks.net |
| 41 | User example logs in to client using: |
| 42 | ssh -p 32769 example@pc1.utah.geniracks.net |
| 43 | ... |
| 44 | </pre> |
| 45 | |
| 46 | <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>If you didn't previously complete the Flack tutorial (or are not running an <tt>ssh</tt> agent), then your <tt>ssh</tt> client might |
| 47 | not be set up to log in with above commands. Try re-running <tt>readyToLogin</tt> without the <tt>--no-keys</tt> option, and it will give you one or |
| 48 | more <tt>ssh</tt> commands to choose from (which should work, although might require the key passphrase).</td></tr></table> |
| 49 | |
| 50 | </li> |
| 51 | </ol> |
| 52 | }}} |
| 53 | |
| 54 | == 5 Browse server webpage and log in to client node == |
| 55 | |
| 56 | The `install` and `execute` services requested in our RSpec have |
| 57 | already started, and the apache webserver has started on the server and measurements are now being collected. |
| 58 | |
| 59 | {{{ |
| 60 | #!html |
| 61 | <table> |
| 62 | <tr><td> |
| 63 | <ol type='a'> |
| 64 | <li> |
| 65 | Enter the hostname of the server node in your browser. It should bring up a webpage of statistics from your experiment similar to that shown in the figure. |
| 66 | </li> |
| 67 | </ol> |
| 68 | </td> |
| 69 | <td> |
| 70 | <img |
| 71 | src="http://groups.geni.net/geni/attachment/wiki/GENIEducation/SampleAssignments/UnderstandAMAPI/Graphics/webserver_v1.png?format=raw" |
| 72 | alt="Enter the hostname in your browser to see statistics" width="300" |
| 73 | title="Enter the hostname in your browser to see statistics" /> </a> |
| 74 | <br/> |
| 75 | <b>Figure 5-1</b> Enter the hostname of the <i>server</i> node in your browser to see statistics</i> |
| 76 | </td> |
| 77 | </tr> |
| 78 | </table> |
| 79 | <table> |
| 80 | <tr> |
| 81 | <td> |
| 82 | <ol type='a' start='2'> |
| 83 | <li>Find the <code>ssh</code> commands for your client in your <code>readyToLogin</code> output. Copy and paste those <code>ssh</code> commands directly into your terminal |
| 84 | to log in. You should see a shell prompt |
| 85 | from the remote end: |
| 86 | <pre> |
| 87 | [example@client ~]$ |
| 88 | </pre> |
| 89 | |
| 90 | <table id="Table_01" border="0" cellpadding="5" cellspacing="0"> |
| 91 | <tr> |
| 92 | <td> |
| 93 | <img src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Graphics/4NotesIcon_512x512.png" width="50" height="50" alt="Note"> |
| 94 | </td> |
| 95 | <td> |
| 96 | While you're welcome to inspect either |
| 97 | the client or server, for the purpose of this experiment the <tt>client</tt> host is the one |
| 98 | running the <tt>iperf</tt> tests and collecting all the logs. |
| 99 | </td> |
| 100 | </tr> |
| 101 | </table> |
| 102 | </li> |
| 103 | <li> |
| 104 | |
| 105 | Look in the <code>/local</code> directory to see the install scripts and other files from the Archive you specified in your RSpec: |
| 106 | <pre> |
| 107 | cd /local |
| 108 | ls |
| 109 | </pre> |
| 110 | </li> |
| 111 | <li> |
| 112 | Look for the <code>iperf</code> and <code>wget</code> processes started by your install scripts: |
| 113 | <pre> |
| 114 | ps ax |
| 115 | </pre> |
| 116 | |
| 117 | <table id="Table_03" border="0" cellpadding="5" cellspacing="0"> |
| 118 | <tr> |
| 119 | <td> |
| 120 | <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Symbols-Tips-icon.png?format=raw" width="50" height="50" alt="Tip"> |
| 121 | </td> |
| 122 | <td> |
| 123 | If you do not see the proper files and processes, please double-check the <code>RSpec</code> you used in the previous step. |
| 124 | </tr> |
| 125 | </table> |
| 126 | |
| 127 | </li> |
| 128 | </ol> |
| 129 | </td> |
| 130 | |
| 131 | </tr> |
| 132 | <tr><td> |
| 133 | </td></tr> |
| 134 | </table> |
| 135 | }}} |
| 136 | |
| 137 | |
| 138 | |
| 139 | The client machine is saving all the test results in the `/tmp/iperf-logs` |
| 140 | directory. Files with timestamps in the names will gradually appear |
| 141 | there (there are 100 tests overall, and it may take 20 minutes for all |
| 142 | of them to complete if you want to wait for them). |
| 143 | |
| 144 | Each log file corresponds to one test with some number of simultaneous |
| 145 | TCP connections over the VLAN link you requested between the two hosts. |
| 146 | Later tests gradually include more concurrent connections, so the |
| 147 | throughput of each individual connection will decrease, but the |
| 148 | aggregate throughput (the `[SUM]` line at the end of each file) |
| 149 | should remain approximately consistent. |
| 150 | |
| 151 | |
| 152 | |
| 153 | == 6. Analyze Experiment == |
| 154 | |
| 155 | For a real experiment, of course, this step would be the most important |
| 156 | and collection, analysis and archival of the results would be critical, |
| 157 | but for now, play around as necessary to satisfy your curiosity and |
| 158 | then continue. |
| 159 | |
| 160 | ---- |
| 161 | |
| 162 | = [wiki:GENIEducation/SampleAssignments/UnderstandAMAPI/Procedure Introduction] = |
| 163 | = [wiki:GENIEducation/SampleAssignments/UnderstandAMAPI/Procedure/Finish Next: Finish] = |