Changes between Version 31 and Version 32 of GENIExperimenter/ExperimentExample-OF
- Timestamp:
- 09/19/12 15:26:47 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GENIExperimenter/ExperimentExample-OF
v31 v32 5 5 This page illustrates an !OpenFlow (OF) example for the [wiki:HowToUseOmni Omni How-to] page. OpenFlow is used for the control of the network resources in the GENI backbone and at Meso-scale campus locations. Experimenters can use GENI resources without learning !OpenFlow. Experimenters can choose to control the network switching fabric in their slices by running an !OpenFlow controller. Many experimenters use existing !OpenFlow controller code as-is, some use controllers with relatively simple modifications, and some experimenters have written their own controller. The GPO is available to help design your controller and plan your experiment configuration. Feel free to contact us at [mailto:help@geni.net]. 6 6 7 The experiment in this page uses Omni from the gcf 1.6.1 package to reserve resources. If you are using gcf 2.0 or higher, note that you '''must''' specify the AM API version option ''' ''-V 1'' ''' for all Omni commands that are executed at !OpenFlow and MyPLC aggregates, these aggregates support AM API V1. The example in this page uses credentials from the GPO ProtoGENI Clearinghouse (pgeni.gpolab.bbn.com) to set up a 3 Meso-scale sites !OpenFlow experiment. The sites are BBN, Wisconsin and Clemson each with a MyPLC compute resource. If you are interested in using PG resources, see the [http://groups.geni.net/geni/wiki/HelloGENI HelloGENI] experiment page for an !OpenFlow experiment using PG nodes.7 The experiment in this page uses Omni to reserve resources. If you are using gcf 2.0 or higher, you '''must''' specify the AM API version option ''' ''-V 1'' ''' for all Omni commands that are executed at !OpenFlow and MyPLC aggregates, these aggregates support AM API V1. If you are using gcf 1.X you do not need to specify ''' ''-V 1'' ''', as the AM API version 1.0 is the default for gcf 1.x packages. The example in this page uses credentials from the GPO ProtoGENI Clearinghouse (pgeni.gpolab.bbn.com) to set up a 3 Meso-scale sites !OpenFlow experiment. The sites are BBN, Wisconsin and Clemson each with a MyPLC compute resource. If you are interested in using PG resources, see the [http://groups.geni.net/geni/wiki/HelloGENI HelloGENI] experiment page for an !OpenFlow experiment using PG nodes. 8 8 9 9 [[Image(OF-FOAM-experiment.jpg)]] … … 62 62 63 63 {{{ 64 $ ./src/omni.py -a plc-bbn listresources -t ProtoGENI 2 -o # generates rspec-myplc-gpolab-bbn-com-12346-.xml65 $ ./src/omni.py -a plc-clemson listresources -t ProtoGENI 2 -o # generates rspec-myplc-clemson-edu-12346-.xml66 $ ./src/omni.py -a plc-wisconsin listresources - t ProtoGENI 2 -o # generates rspec-wings-openflow-1-wail-wisc-edu-12346-.xml64 $ ./src/omni.py -a plc-bbn -V 1 listresources -t ProtoGENI 2 -o # generates rspec-myplc-gpolab-bbn-com-12346-.xml 65 $ ./src/omni.py -a plc-clemson -V 1 listresources -t ProtoGENI 2 -o # generates rspec-myplc-clemson-edu-12346-.xml 66 $ ./src/omni.py -a plc-wisconsin listresources -V 1 -t ProtoGENI 2 -o # generates rspec-wings-openflow-1-wail-wisc-edu-12346-.xml 67 67 }}} 68 68 … … 224 224 1. Clemson FOAM aggregate: 225 225 {{{ 226 $ ./src/omni.py -a of-clemson listresources -o # generates output file rspec-foam-clemson-edu-3626-foam-gapi-1.xml226 $ ./src/omni.py -a of-clemson -V 1 listresources -o # generates output file rspec-foam-clemson-edu-3626-foam-gapi-1.xml 227 227 }}} 228 228 2. Wisconsin FOAM aggregate: 229 229 {{{ 230 $ ./src/omni.py -a of-wisconsin listresources -o # generates rspec-foam-wail-wisc-edu-3626-foam-gapi-1.xml230 $ ./src/omni.py -a of-wisconsin -V 1 listresources -o # generates rspec-foam-wail-wisc-edu-3626-foam-gapi-1.xml 231 231 }}} 232 232 3. BBN FOAM aggregate: 233 233 {{{ 234 $ ./src/omni.py -a of-bbn listresources -o # generates rspec-foam-gpolab-bbn-com-3626-foam-gapi-1.xml234 $ ./src/omni.py -a of-bbn -V 1 listresources -o # generates rspec-foam-gpolab-bbn-com-3626-foam-gapi-1.xml 235 235 }}} 236 236 4. NLR !OpenFlow Core FOAM aggregate: 237 237 {{{ 238 $ ./src/omni.py -a of-nlr listresources -o # generates rspec-foam-nlr-net-3626-foam-gapi-1.xml238 $ ./src/omni.py -a of-nlr -V 1 listresources -o # generates rspec-foam-nlr-net-3626-foam-gapi-1.xml 239 239 }}} 240 240 … … 698 698 $ cd gcf-1.6.1 699 699 $ ./src/omni.py createslice 3sites-OF 700 $ ./src/omni.py -a of-bbn createsliver 3sites-OF openflow-bbn.rspec701 $ ./src/omni.py -a of-clemson createsliver 3sites-OF openflow-clemson.rspec702 $ ./src/omni.py -a of-wisconsin createsliver 3sites-OF openflow-wisconsin.rspec703 $ ./src/omni.py -a of-nlr createsliver 3sites-OF openflow-nlr.rspec704 $ ./src/omni.py -a plc-bbn createsliver 3sites-OF myplc-bbn.rspec705 $ ./src/omni.py -a plc-clemson createsliver 3sites-OF myplc-clemson.rspec706 $ ./src/omni.py -a plc-wisconsin createsliver 3sites-OF myplc-wisconsin.rspec700 $ ./src/omni.py -a of-bbn -V 1 createsliver 3sites-OF openflow-bbn.rspec 701 $ ./src/omni.py -a of-clemson -V 1 createsliver 3sites-OF openflow-clemson.rspec 702 $ ./src/omni.py -a of-wisconsin -V 1 createsliver 3sites-OF openflow-wisconsin.rspec 703 $ ./src/omni.py -a of-nlr -V 1 createsliver 3sites-OF openflow-nlr.rspec 704 $ ./src/omni.py -a plc-bbn -V 1 createsliver 3sites-OF myplc-bbn.rspec 705 $ ./src/omni.py -a plc-clemson -V 1 createsliver 3sites-OF myplc-clemson.rspec 706 $ ./src/omni.py -a plc-wisconsin -V 1 createsliver 3sites-OF myplc-wisconsin.rspec 707 707 708 708 }}} … … 712 712 Remember, to renew the slice and slivers reservation time, as the default time is 8 hours. You may find out the current expiration time by using Omni sliverstatus commands. Following are the commands to determine the current sliverstatus along with the expiration times at each aggregate: 713 713 {{{ 714 $ ./src/omni.py -a of-bbn sliverstatus 3sites-OF715 $ ./src/omni.py -a of-clemson sliverstatus 3sites-OF716 $ ./src/omni.py -a of-wisconsin sliverstatus 3sites-OF717 $ ./src/omni.py -a of-nlr sliverstatus 3sites-OF718 $ ./src/omni.py -a plc-clemson sliverstatus 3sites-OF719 $ ./src/omni.py -a plc-wisconsin sliverstatus 3sites-OF720 $ ./src/omni.py -a plc-bbn sliverstatus 3sites-OF714 $ ./src/omni.py -a of-bbn -V 1 sliverstatus 3sites-OF 715 $ ./src/omni.py -a of-clemson -V 1 sliverstatus 3sites-OF 716 $ ./src/omni.py -a of-wisconsin -V 1 sliverstatus 3sites-OF 717 $ ./src/omni.py -a of-nlr -V 1 sliverstatus 3sites-OF 718 $ ./src/omni.py -a plc-clemson -V 1 sliverstatus 3sites-OF 719 $ ./src/omni.py -a plc-wisconsin -V 1 sliverstatus 3sites-OF 720 $ ./src/omni.py -a plc-bbn -V 1 sliverstatus 3sites-OF 721 721 }}} 722 722 The output for running each of the above commands is attached [http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/ExperimentExample-OF/openflow-foam-sliverstatus.txt here]. … … 725 725 You can now renew the slice and slivers. Following are the commands to extend the reservation for the resources: 726 726 {{{ 727 $ ./src/omni.py renewslice 728 $ ./src/omni.py -a of-bbn renewsliver 3sites-OF 2012-04-30729 $ ./src/omni.py -a of-clemson renewsliver 3sites-OF 2012-04-30730 $ ./src/omni.py -a of-wisconsin renewsliver 3sites-OF 2012-04-30731 $ ./src/omni.py -a of-nlr renewsliver 3sites-OF 2012-04-30732 $ ./src/omni.py -a of-clemson renewsliver 3sites-OF 2012-04-30733 $ ./src/omni.py -a of-wisconsin renewsliver 3sites-OF 2012-04-30734 $ ./src/omni.py -a of-bbn renewsliver 3sites-OF 2012-04-30727 $ ./src/omni.py renewslice 3sites-OF 2012-04-30 728 $ ./src/omni.py -a of-bbn -V 1 renewsliver 3sites-OF 2012-04-30 729 $ ./src/omni.py -a of-clemson -V 1 renewsliver 3sites-OF 2012-04-30 730 $ ./src/omni.py -a of-wisconsin -V 1 renewsliver 3sites-OF 2012-04-30 731 $ ./src/omni.py -a of-nlr -V 1 renewsliver 3sites-OF 2012-04-30 732 $ ./src/omni.py -a of-clemson -V 1 renewsliver 3sites-OF 2012-04-30 733 $ ./src/omni.py -a of-wisconsin -V 1 renewsliver 3sites-OF 2012-04-30 734 $ ./src/omni.py -a of-bbn renewsliver -V 1 3sites-OF 2012-04-30 735 735 }}} 736 736 … … 754 754 To figure out how to login to the MyPLC hosts that you reserved use the Omni ''sliverstatus'' commands. Following are examples for the experiment captured in this page: 755 755 {{{ 756 $ ./src/omni.py -a plc-clemson sliverstatus 3sites-OF757 $ ./src/omni.py -a plc-bbn sliverstatus 3sites-OF758 $ ./src/omni.py -a plc-wisconsin sliverstatus 3sites-OF756 $ ./src/omni.py -a plc-clemson -V 1 sliverstatus 3sites-OF 757 $ ./src/omni.py -a plc-bbn -V 1 sliverstatus 3sites-OF 758 $ ./src/omni.py -a plc-wisconsin -V 1 sliverstatus 3sites-OF 759 759 }}} 760 760 … … 815 815 When the experiment is completed, you should release the resources by deleting the sliver for each of the resource aggregates in the Experiment. In the example experiment in this page, the following commands should be issued to release resources: 816 816 {{{ 817 ./src/omni.py -a of-bbn deletesliver 3sites-OF818 ./src/omni.py -a of-clemson deletesliver 3sites-OF819 ./src/omni.py -a of-wisconsin deletesliver 3sites-OF820 ./src/omni.py -a of-nlr deletesliver 3sites-OF821 ./src/omni.py -a plc-clemson deletesliver 3sites-OF822 ./src/omni.py -a plc-wisconsin deletesliver 3sites-OF823 ./src/omni.py -a plc-bbn deletesliver 3sites-OF817 ./src/omni.py -a of-bbn -V 1 deletesliver 3sites-OF 818 ./src/omni.py -a of-clemson -V 1 deletesliver 3sites-OF 819 ./src/omni.py -a of-wisconsin -V 1 deletesliver 3sites-OF 820 ./src/omni.py -a of-nlr -V 1 deletesliver 3sites-OF 821 ./src/omni.py -a plc-clemson -V 1 deletesliver 3sites-OF 822 ./src/omni.py -a plc-wisconsin -V 1 deletesliver 3sites-OF 823 ./src/omni.py -a plc-bbn -V 1 deletesliver 3sites-OF 824 824 825 825 }}}