46 | | Options as run: |
47 | | framework: portal |
48 | | project: ShufengProject |
49 | | |
50 | | Args: createslice OpenFlowFW |
51 | | |
52 | | Result Summary: Created slice with Name OpenFlowFW, URN urn:publicid:IDN+panther:ShufengProject+slice+OpenFlowFW, Expiration 2013-05-20 21:42:26 |
53 | | |
54 | | INFO:omni: ============================================================ |
55 | | }}} |
56 | | '''Step 2. Renew Slice (to make sure that your reservation does not expire before you finished your experiment, renew the slice to a specific time):''' |
57 | | {{{ |
58 | | omni.py renewslice OpenFlowFW 20130521 |
59 | | }}} |
60 | | Output: |
61 | | {{{ |
62 | | INFO:omni:Loading config file /Users/shuang/.gcf/omni_config |
63 | | INFO:omni:Using control framework portal |
64 | | INFO:omni.pgch:Requesting new slice expiration '2013-05-21T00:00:00' |
65 | | INFO:omni:Slice OpenFlowFW now expires at 2013-05-21 00:00:00 UTC |
66 | | INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+OpenFlowFW expires within 1 day on 2013-05-21 00:00:00 UTC |
67 | | INFO:omni: ------------------------------------------------------------ |
68 | | INFO:omni: Completed renewslice: |
69 | | |
70 | | Options as run: |
71 | | framework: portal |
72 | | project: ShufengProject |
73 | | |
74 | | Args: renewslice OpenFlowFW 20130521 |
75 | | |
76 | | Result Summary: Slice OpenFlowFW now expires at 2013-05-21 00:00:00 UTC |
77 | | Slice urn:publicid:IDN+panther:ShufengProject+slice+OpenFlowFW expires within 1 day(s) on 2013-05-21 00:00:00 UTC |
78 | | INFO:omni: ============================================================ |
79 | | }}} |
80 | | '''Step 3. Create Sliver using fw.rspec:''' |
81 | | {{{ |
82 | | omni.py createsliver -a pg-utah OpenFlowFW fw.rspec |
83 | | }}} |
84 | | Output: |
85 | | {{{ |
86 | | INFO:omni:Loading config file /Users/shuang/.gcf/omni_config |
87 | | INFO:omni:Using control framework portal |
88 | | INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN |
89 | | INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+OpenFlowFW expires within 1 day on 2013-05-21 00:00:00 UTC |
90 | | INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN |
91 | | INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN |
92 | | INFO:omni:Creating sliver(s) from rspec file fw.rspec for slice urn:publicid:IDN+panther:ShufengProject+slice+OpenFlowFW |
93 | | INFO:omni: (PG log url - look here for details on any failures: https://www.emulab.net/spewlogfile.php3?logfile=eaad7201112953f49037e03149fa15ce) |
94 | | INFO:omni:Got return from CreateSliver for slice OpenFlowFW at https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0: |
95 | | INFO:omni:<!-- Reserved resources for: |
96 | | Slice: OpenFlowFW |
97 | | at AM: |
98 | | URN: unspecified_AM_URN |
99 | | URL: https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0 |
100 | | --> |
101 | | INFO:omni:<rspec xmlns="http://www.protogeni.net/resources/rspec/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/manifest.xsd " type="manifest"> |
102 | | <node client_id="router" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc140" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+129503"> |
103 | | <sliver_type name="raw-pc"> |
104 | | <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/> |
105 | | </sliver_type> |
106 | | <interface client_id="router:right" component_id="urn:publicid:IDN+emulab.net+interface+pc140:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+129513" mac_address="0002b335f1b7"> |
107 | | <ip netmask="255.255.255.0" type="ipv4" address="10.10.11.2"/> |
108 | | </interface> |
109 | | <interface client_id="router:switch" component_id="urn:publicid:IDN+emulab.net+interface+pc140:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+129506" mac_address="00034794c7fd"> |
110 | | <ip netmask="255.255.255.0" type="ipv4" address="10.10.10.2"/> |
111 | | </interface> |
112 | | <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc140"/><host name="router.OpenFlowFW.panther.emulab.net"/><services><login authentication="ssh-keys" hostname="pc140.emulab.net" port="22" username="shufeng"/></services></node> |
113 | | <node client_id="switch" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc137" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+129502"> |
114 | | <sliver_type name="raw-pc"> |
115 | | <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/> |
116 | | </sliver_type> |
117 | | <services> |
118 | | <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/openvswitch-1.6.1-F15.tar.gz" install_path="/"/> |
119 | | <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/trema-trema-8e97343-F15.tar.gz" install_path="/opt"/> |
120 | | <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/of-topo-setup.tar.gz" install_path="/tmp"/> |
121 | | <execute shell="sh" command="cd /tmp/of-topo-setup && ./switch-setup"/> |
122 | | <login authentication="ssh-keys" hostname="pc137.emulab.net" port="22" username="shufeng"/></services> |
123 | | <interface client_id="switch:router" component_id="urn:publicid:IDN+emulab.net+interface+pc137:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+129507" mac_address="00d0b725463a"> |
124 | | <ip netmask="255.255.255.0" type="ipv4" address="192.168.129.1"/> |
125 | | </interface> |
126 | | <interface client_id="switch:left" component_id="urn:publicid:IDN+emulab.net+interface+pc137:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+129510" mac_address="0002b3861f8b"> |
127 | | <ip netmask="255.255.255.0" type="ipv4" address="192.168.128.1"/> |
128 | | </interface> |
129 | | <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc137"/><host name="switch.OpenFlowFW.panther.emulab.net"/></node> |
130 | | <node client_id="right" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc135" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+129501"> |
131 | | <sliver_type name="raw-pc"> |
132 | | <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/> |
133 | | </sliver_type> |
134 | | <interface client_id="right:router" component_id="urn:publicid:IDN+emulab.net+interface+pc135:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+129512" mac_address="0002b3861d13"> |
135 | | <ip netmask="255.255.255.0" type="ipv4" address="10.10.11.1"/> |
136 | | </interface> |
137 | | <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc135"/><host name="right.OpenFlowFW.panther.emulab.net"/><services><login authentication="ssh-keys" hostname="pc135.emulab.net" port="22" username="shufeng"/></services></node> |
138 | | <node client_id="left" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc138" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+129500"> |
139 | | <sliver_type name="raw-pc"> |
140 | | <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/> |
141 | | </sliver_type> |
142 | | <services> |
143 | | <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/of-topo-setup.tar.gz" install_path="/tmp"/> |
144 | | <execute shell="sh" command="cd /tmp/of-topo-setup && ./left-setup"/> |
145 | | <login authentication="ssh-keys" hostname="pc138.emulab.net" port="22" username="shufeng"/></services> |
146 | | <interface client_id="left:switch" component_id="urn:publicid:IDN+emulab.net+interface+pc138:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+129509" mac_address="0002b365d12b"> |
147 | | <ip netmask="255.255.255.0" type="ipv4" address="10.10.10.1"/> |
148 | | </interface> |
149 | | <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc138"/><host name="left.OpenFlowFW.panther.emulab.net"/></node> |
150 | | <link client_id="switch-router" sliver_id="urn:publicid:IDN+emulab.net+sliver+129505" vlantag="260"> |
151 | | <interface_ref client_id="router:switch" component_id="urn:publicid:IDN+emulab.net+interface+pc140:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+129506"/> |
152 | | <interface_ref client_id="switch:router" component_id="urn:publicid:IDN+emulab.net+interface+pc137:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+129507"/> |
153 | | </link> |
154 | | <link client_id="left-switch" sliver_id="urn:publicid:IDN+emulab.net+sliver+129508" vlantag="263"> |
155 | | <interface_ref client_id="left:switch" component_id="urn:publicid:IDN+emulab.net+interface+pc138:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+129509"/> |
156 | | <interface_ref client_id="switch:left" component_id="urn:publicid:IDN+emulab.net+interface+pc137:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+129510"/> |
157 | | </link> |
158 | | <link client_id="right-router" sliver_id="urn:publicid:IDN+emulab.net+sliver+129511" vlantag="262"> |
159 | | <interface_ref client_id="right:router" component_id="urn:publicid:IDN+emulab.net+interface+pc135:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+129512"/> |
160 | | <interface_ref client_id="router:right" component_id="urn:publicid:IDN+emulab.net+interface+pc140:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+129513"/> |
161 | | </link> |
162 | | </rspec> |
163 | | INFO:omni: ------------------------------------------------------------ |
164 | | INFO:omni: Completed createsliver: |
165 | | |
166 | | Options as run: |
167 | | aggregate: ['pg-utah'] |
168 | | framework: portal |
169 | | project: ShufengProject |
170 | | |
171 | | Args: createsliver OpenFlowFW fw.rspec |
172 | | |
173 | | Result Summary: Got Reserved resources RSpec from www-emulab-net-protogeniv2 |
174 | | INFO:omni: ============================================================ |
175 | | }}} |
176 | | The above output shows the reserved nodes: pc140, pc135, pc137, pc138 and how they are connected. |
177 | | [[BR]] |
178 | | Alternatively, you can use the following command to show the reserved nodes as well as ways to login: |
179 | | {{{ |
180 | | readyToLogin.py OpenFlowFW -a pg-utah |
181 | | }}} |
182 | | When the nodes are not ready, the status will be `notready` or `changing`. In this case, you simply have to wait then try the above command again. [[BR]] |
183 | | Otherwise, the result is something like the following: |
184 | | {{{ |
185 | | #======================================== |
186 | | #SSH CONFIGURATION INFO for User shufeng |
187 | | #======================================== |
188 | | |
189 | | Host right |
190 | | Port 22 |
191 | | HostName pc135.emulab.net |
192 | | User shufeng |
193 | | IdentityFile /Users/shuang/.ssh/geni_key |
194 | | |
195 | | Host router |
196 | | Port 22 |
197 | | HostName pc140.emulab.net |
198 | | User shufeng |
199 | | IdentityFile /Users/shuang/.ssh/geni_key |
200 | | |
201 | | Host left |
202 | | Port 22 |
203 | | HostName pc138.emulab.net |
204 | | User shufeng |
205 | | IdentityFile /Users/shuang/.ssh/geni_key |
206 | | |
207 | | Host switch |
208 | | Port 22 |
209 | | HostName pc137.emulab.net |
210 | | User shufeng |
211 | | IdentityFile /Users/shuang/.ssh/geni_key |
212 | | |
213 | | ================================================================================ |
214 | | LOGIN INFO for AM: https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0 |
215 | | ================================================================================ |
216 | | |
217 | | right's geni_status is: ready (am_status:ready) |
218 | | User shufeng logins to right using: |
219 | | xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc135.emulab.net & |
220 | | |
221 | | router's geni_status is: ready (am_status:ready) |
222 | | User shufeng logins to router using: |
223 | | xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc140.emulab.net & |
224 | | |
225 | | left's geni_status is: ready (am_status:ready) |
226 | | User shufeng logins to left using: |
227 | | xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc138.emulab.net & |
228 | | |
229 | | switch's geni_status is: ready (am_status:ready) |
230 | | User shufeng logins to switch using: |
231 | | xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc137.emulab.net & |
232 | | }}} |
233 | | '''Step 4. Renew the sliver:''' |
234 | | {{{ |
235 | | omni.py renewsliver -a pg-utah OpenFlowFW 20130521 |
236 | | }}} |
237 | | Output: |
238 | | {{{ |
239 | | INFO:omni:Loading config file /Users/shuang/.gcf/omni_config |
240 | | INFO:omni:Using control framework portal |
241 | | INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN |
242 | | INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+OpenFlowFW expires within 1 day on 2013-05-21 00:00:00 UTC |
243 | | INFO:omni:Renewing Sliver OpenFlowFW until 2013-05-21 00:00:00+00:00 (UTC) |
244 | | INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN |
245 | | INFO:omni: (PG log url - look here for details on any failures: https://www.emulab.net/spewlogfile.php3?logfile=20886a427910fadd245e7eac8028dd6e) |
246 | | INFO:omni:Renewed sliver urn:publicid:IDN+panther:ShufengProject+slice+OpenFlowFW at unspecified_AM_URN (https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0) until 2013-05-21T00:00:00+00:00 (UTC) |
247 | | INFO:omni: ------------------------------------------------------------ |
248 | | INFO:omni: Completed renewsliver: |
249 | | |
250 | | Options as run: |
251 | | aggregate: ['pg-utah'] |
252 | | framework: portal |
253 | | project: ShufengProject |
254 | | |
255 | | Args: renewsliver OpenFlowFW 20130521 |
256 | | |
257 | | Result Summary: Slice urn:publicid:IDN+panther:ShufengProject+slice+OpenFlowFW expires within 1 day(s) on 2013-05-21 00:00:00 UTC |
258 | | Renewed sliver urn:publicid:IDN+panther:ShufengProject+slice+OpenFlowFW at unspecified_AM_URN (https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0) until 2013-05-21T00:00:00+00:00 (UTC) |
259 | | |
260 | | INFO:omni: ============================================================ |
261 | | }}} |
262 | | Note: When dealing with specific slivers, we need to add "-a pg-utah" to specify which aggregate manager we want to use (i.e., from where we want to reserve the resources). In our case here, we are using utah aggregate.[[BR]] |
263 | | For a list of available aggregates, please see the file ~/.gcf/omni_config, check out `ProtoGENI AMs` section. |
264 | | |
265 | | OK. After this point, we are ready to log on to the nodes and do the OpenFlow FireWall experiments! :-) [[BR]] |
270 | | |
271 | | |
272 | | |
273 | | = Create an Experimental Topology for LoadBalancing with OpenFlow = |
274 | | To create the Load Balancing Topology, simply follow the same steps as when you created the Fire Wall Topology. [[BR]] |
275 | | '''1. Use Omni to create the topology: [[BR]]''' |
276 | | Download the RSPEC from http://www.gpolab.bbn.com/experiment-support/OpenFlowExampleExperiment/lb.rspec [[BR]] |
277 | | Next, we need to create this experiment using the RSPEC file: [[BR]] |
278 | | '''Step 1. Create slice (use a unique name for your slice): Here I am using OpenFlowLB''' |
279 | | {{{ |
280 | | omni.py createslice OpenFlowLB |
281 | | }}} |
282 | | '''Step 2. Renew Slice (to make sure that your reservation does not expire before you finished your experiment, renew the slice to a specific time):''' |
283 | | {{{ |
284 | | omni.py renewslice OpenFlowLB 20130521 |
285 | | }}} |
286 | | '''Step 3. Create Sliver using lb.rspec:''' |
287 | | {{{ |
288 | | omni.py createsliver -a pg-utah OpenFlowLB lb.rspec |
289 | | }}} |
290 | | Again, you can use the following command to show the reserved nodes as well as ways to login: |
291 | | {{{ |
292 | | readyToLogin.py OpenFlowLB -a pg-utah |
293 | | }}} |
294 | | When the nodes are not ready, the status will be `notready` or `changing`. In this case, you simply have to wait then try the above command again. [[BR]] |
295 | | Otherwise, the result is something like the following: |
296 | | {{{ |
297 | | #======================================== |
298 | | #SSH CONFIGURATION INFO for User shufeng |
299 | | #======================================== |
300 | | |
301 | | Host right |
302 | | Port 22 |
303 | | HostName pc135.emulab.net |
304 | | User shufeng |
305 | | IdentityFile /Users/shuang/.ssh/geni_key |
306 | | |
307 | | Host router |
308 | | Port 22 |
309 | | HostName pc140.emulab.net |
310 | | User shufeng |
311 | | IdentityFile /Users/shuang/.ssh/geni_key |
312 | | |
313 | | Host left |
314 | | Port 22 |
315 | | HostName pc138.emulab.net |
316 | | User shufeng |
317 | | IdentityFile /Users/shuang/.ssh/geni_key |
318 | | |
319 | | Host switch |
320 | | Port 22 |
321 | | HostName pc137.emulab.net |
322 | | User shufeng |
323 | | IdentityFile /Users/shuang/.ssh/geni_key |
324 | | |
325 | | ================================================================================ |
326 | | LOGIN INFO for AM: https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0 |
327 | | ================================================================================ |
328 | | |
329 | | right's geni_status is: ready (am_status:ready) |
330 | | User shufeng logins to right using: |
331 | | xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc135.emulab.net & |
332 | | |
333 | | router's geni_status is: ready (am_status:ready) |
334 | | User shufeng logins to router using: |
335 | | xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc140.emulab.net & |
336 | | |
337 | | left's geni_status is: ready (am_status:ready) |
338 | | User shufeng logins to left using: |
339 | | xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc138.emulab.net & |
340 | | |
341 | | switch's geni_status is: ready (am_status:ready) |
342 | | User shufeng logins to switch using: |
343 | | xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc137.emulab.net & |
344 | | }}} |
345 | | '''Step 4. Renew the sliver:''' |
346 | | {{{ |
347 | | omni.py renewsliver -a pg-utah OpenFlowLB 20130521 |
348 | | }}} |
349 | | Note: When dealing with specific slivers, we need to add "-a pg-utah" to specify which aggregate manager we want to use (i.e., from where we want to reserve the resources). In our case here, we are using utah aggregate.[[BR]] |
350 | | For a list of available aggregates, please see the file ~/.gcf/omni_config, check out `ProtoGENI AMs` section. |
351 | | |
352 | | OK. After this point, we are ready to log on to the nodes and do the OpenFlow Load Balancing experiments! :-) [[BR]] |