121 | | The six lines that start with '''xterm -e ssh ...''' contain the information you need to connect to your nodes. There are six nodes in this experiment, and you will want to open a window for each. Copy and paste the commands, '''adding the -A switch to each ssh command''' as shown below. You will get six new terminal windows, one on each node of your experiment. (You should say yes if you are prompted to accept the RSA key of the remote host. |
122 | | |
123 | | {{{ |
124 | | xterm -e ssh -A -i /Users/mberman/.ssh/id_rsa_gpolab mberman@pc336.emulab.net & |
| 121 | The six lines that start with '''xterm -e ssh ...''' contain the information you need to connect to your nodes. There are six nodes in this experiment, and you will want to open a window for each. Copy and paste the commands, '''adding the -A switch to each ssh command''' as shown below. You will get six new terminal windows, one on each node of your experiment. (You should say yes if you are prompted to accept the RSA key of the remote host.) |
| 122 | |
| 123 | {{{ |
| 124 | xterm -e ssh -A -i /Users/mberman/.ssh/id_rsa mberman@pc336.emulab.net & |
129 | | Run the extractClickConfig.py script as shown below, using the same aggregate manager and slice name you just used to create your sliver. It will retrieve the manifest rspec for your slice. This is a blob of XML that describes the resources in your slice. If you're interested, feel free to look through the xml file that's left in your click-example directory. But you don't need to, because the extractor will pull out the relevant bits and organize them for you. |
130 | | |
131 | | {{{ |
132 | | ./extractClickConfig.py -a http://www.emulab.net/protogeni/xmlrpc/am -n StupidSliceName |
133 | | }}} |
134 | | |
135 | | You'll get output something like this. |
136 | | |
137 | | {{{ |
138 | | INFO:omni:Loading config file /home/mberman/.gcf/omni_config |
139 | | INFO:omni:Using control framework utah-pg |
140 | | INFO:omni:Saving output to a file. |
141 | | INFO:omni:Gathering resources reserved for slice StupidSliceName. |
142 | | INFO:omni:Listed resources on 1 out of 1 possible aggregates. |
143 | | INFO:omni:Writing to 'StupidSliceName-rspec-www-emulab-net-protogeni.xml' |
144 | | INFO:omni:Loading config file /home/mberman/.gcf/omni_config |
145 | | INFO:omni:Using control framework utah-pg |
146 | | Parsing manifest. |
147 | | Writing ssh configuration to ssh_config. |
| 129 | == Configure your routers == |
| 130 | |
| 131 | In each of your four router hosts, run the extractClickConfig script as shown below. |
| 132 | |
| 133 | {{{ |
| 134 | [mberman@top ~]$ /local/click-example/extractClickConfig.py |
| 135 | }}} |
| 136 | |
| 137 | You'll get output something like this: |
| 138 | {{{ |
149 | | hostA: hostA.StupidSliceName.emulab-net.emulab.net (pc136.emulab.net) |
150 | | top: top.StupidSliceName.emulab-net.emulab.net (pc140.emulab.net) |
151 | | left: left.StupidSliceName.emulab-net.emulab.net (pc135.emulab.net) |
152 | | right: right.StupidSliceName.emulab-net.emulab.net (pc138.emulab.net) |
153 | | bottom: bottom.StupidSliceName.emulab-net.emulab.net (pc141.emulab.net) |
154 | | hostB: hostB.StupidSliceName.emulab-net.emulab.net (pc133.emulab.net) |
155 | | Writing top router configuration to top.click. |
156 | | Writing bottom router configuration to bottom.click. |
157 | | Writing left router configuration to left.click. |
158 | | Writing right router configuration to right.click. |
159 | | Writing deployment script to deployClick.sh. |
160 | | Run "sh deployClick.sh" to deploy router configurations. |
161 | | Writing configuration graph to myslice.dot. |
162 | | Run "dot myslice.dot -Tpng -o myslice.png" to generate diagram. |
| 140 | hostA: hostA.StupidSliceName.emulab-net.emulab.net pc347.emulab.net |
| 141 | top: top.StupidSliceName.emulab-net.emulab.net pc336.emulab.net |
| 142 | left: left.StupidSliceName.emulab-net.emulab.net pc358.emulab.net |
| 143 | right: right.StupidSliceName.emulab-net.emulab.net pc278.emulab.net |
| 144 | bottom: bottom.StupidSliceName.emulab-net.emulab.net pc348.emulab.net |
| 145 | hostB: hostB.StupidSliceName.emulab-net.emulab.net pc353.emulab.net |
166 | | ''The extractor script makes some assumptions about your omni configuration, specifically that at least one ssh private key file listed for the ProtoGENI login user is available in the same location as the installed public key, but with the .pub suffix removed. This is the most common configuration, so unless you have done something unusual, you should be OK.'' |
167 | | |
168 | | The extractor will generate eight output files in your click-example directory: |
169 | | |
170 | | * Click configuration files: {top,left,right,bottom}.click |
171 | | * A ssh configuration file: ssh_config |
172 | | * A dot source diagram of your slice: myslice.dot |
173 | | * The manifest rspec for your slice: <slicename>-rspec-<aggregate>.xml |
174 | | * A deployment script for your click files: deployClick.sh |
175 | | |
176 | | (Optional) Run '''dot''' to make a diagram of your slice. There is lots of information on this diagram, and it will save you looking up host and interface names and numbers. |
177 | | |
178 | | {{{ |
179 | | dot myslice.dot -Tpng -o myslice.png |
| 149 | (If you are prompted for a password, check to make sure that you provided the -A switch in your xterm command above.) |
| 150 | |
| 151 | The extractClickConfig script produces router configurations for your experiment. It also creates a diagram of your experiment. Copy it back to the '''click-example''' directory on your local host so you can view it. There's a copy on each of your routers hosts, I've chosen top, but it doesn't matter. You'll need to copy the host name from the script output above. |
| 152 | |
| 153 | {{{ |
| 154 | scp top.StupidSliceName.emulab-net.emulab.net:myslice.png . |