| 1 | = [.. Scaling Up: How to Grow the Topology of an Existing Experiment] = |
| 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="./DesignSetup" 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>Wisconsin InstaGENI</i> </li> |
| 29 | <li>Note that the instructor has already <a href="../BackboneSetup">reserved a backbone with shared VLANs</a> for your slice to connect to. </li> |
| 30 | </ol> |
| 31 | </td> |
| 32 | </tr> |
| 33 | </table> |
| 34 | }}} |
| 35 | |
| 36 | == 2. Establish the Environment == |
| 37 | |
| 38 | |
| 39 | |
| 40 | === 2.1 Pre-work: Install geni-lib === |
| 41 | 1. Install the `geni-lib` tool using the [http://geni-lib.readthedocs.org/en/latest/intro/install.html installation instructions] for your operating system. |
| 42 | 1. Install [https://networkx.github.io/ `networkx`] on your system. |
| 43 | {{{ |
| 44 | pip install networkx |
| 45 | }}} |
| 46 | 1. On mac and UNIX you may need to add geni-lib to your path: |
| 47 | {{{ |
| 48 | export PYTHONPATH="/PATH/TO/geni-lib:$PYTHONPATH" |
| 49 | }}} |
| 50 | |
| 51 | == 3. Obtain Resources == |
| 52 | |
| 53 | Now we will generate a topology and reserve it. |
| 54 | |
| 55 | === 3.1 Generate RSpec based on existing smaller topology === |
| 56 | |
| 57 | a. Download this [http://www.gpolab.bbn.com/exp/scalingup/tutorial/site.txt config file] to use with the `scaleup` tool distributed |
| 58 | with `geni-lib`. |
| 59 | a. Open the file using your favorite text editor (e.g. `vi` or `emacs`). |
| 60 | a. Replace each value of `X` with the value on your worksheet. Use search and replace in your text editor if possible. ''If you are doing this outside a tutorial, replace `X` with `1`.'' |
| 61 | a. Run the `scaleup` script on the configuration file. |
| 62 | * On Mac and UNIX-like systems run: |
| 63 | {{{ |
| 64 | cd /to/your/geni-lib |
| 65 | tools/scaleup/rspec_gen.py -r site.txt |
| 66 | }}} |
| 67 | * On Windows: |
| 68 | {{{ |
| 69 | cd C:\\Development\geni-lib |
| 70 | tools\scaleup\rspec_gen.py -r site.txt |
| 71 | }}} |
| 72 | a. Look at the generated file using your favorite tool (`less`, |
| 73 | `more`, `emacs`, `vi`). (Or you can look at an example of the generated file: [http://www.gpolab.bbn.com/exp/scalingup/tutorial/site-1.xml site-1.xml].) |
| 74 | i. Can you find each node? Can you find the router node? The host nodes? |
| 75 | a. Load the RSpec in your favorite tool (e.g. Jacks, jFed). Find the shared VLAN (it usually looks like a link with only one end point). |
| 76 | i. Change the IP address of the shared VLAN as directed on your worksheet. |
| 77 | a. Bind the topology to the aggregate listed on your worksheet. |
| 78 | a. '''Save this RSpec.''' In a real experiment, if this topology works, you would save the RSpec in version control. |
| 79 | |
| 80 | === 3.3 Reserve Topology === |
| 81 | a. Create a slice and reserve the resources |
| 82 | a. Wait for the topology to come up. |
| 83 | |
| 84 | |
| 85 | ---- |
| 86 | = [.. Introduction] = |
| 87 | = [../Execute Next: Execute] = |