Changes between Version 1 and Version 2 of GEC15Agenda/AdvancedGENITopoOmni/Instructions/L3DeflectExperiment
- Timestamp:
- 10/21/12 14:16:56 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GEC15Agenda/AdvancedGENITopoOmni/Instructions/L3DeflectExperiment
v1 v2 1 1 [[PageOutline]] 2 2 3 = Example Experiment - Layer 3 Deflect =3 = Example Experiment - Layer 3 Deflect = 4 4 5 5 In this example experiment, you will configure and run an OpenFlow experiment. In this experiment we are going to deflect service requests from one server to another. We are going to use: … … 26 26 omni.py createslice <slicename> 27 27 }}} 28 i. '''Create a sliver''' using the rspecfrom the URL given in your paper slip:29 {{{ 30 omni.py createsliver -a pg-utah<slicename> <rspec_url>28 i. '''Create all the slivers''' using the rspecs from the URL given in your paper slip: 29 {{{ 30 omni.py createsliver -a <AM_nickname> <slicename> <rspec_url> 31 31 }}} 32 32 i. '''Check the status of your sliver''' 33 33 {{{ 34 omni.py sliverstatus -a pg-utah<slicename>34 omni.py sliverstatus -a <AM_nickname> <slicename> 35 35 }}} 36 36 … … 38 38 While you wait for your sliver to become ready, we will see how we can automate the installation of our experiment with install scripts. 39 39 In this experiment we are going to use software routers in order to write our own forwarding scheme. This means that in any experiment we are going to run we want the basic installation of the software router to always be present. The configuration might change from run to run, but the software should always be installed. The software to be installed, and the scripts to be executed at boot time, are defined in the rspecs. Follow these steps to locate your install script and identify the different parts. 40 i. Download your rspec 40 i. Download your rspec you used in the `pg-utah` AM. 41 41 {{{ 42 42 cd /tmp … … 53 53 i. Locate the script and open it. Can you identify the different parts? 54 54 55 == 3. Configure your routers ==56 Once our sliver is ready we will go ahead and configure our click routers. In this example we have 4 routers, so instead of logging into each one of them and configuring it, we are going to use remote execution and configure them from our VM.55 == 3. Configure your hosts == 56 Once our slivers iare ready we will go ahead and configure our myPlc hosts. Instead of logging into each host to install the necessary softwarem we are going to use remote execution and install it from our VM. 57 57 58 58 === 3a. Login and remote execution === … … 60 60 61 61 {{{ 62 readyToLogin.py -a pg-utah<slicename> > login.out 2>&162 readyToLogin.py -a <AM_nickname> <slicename> > login.out 2>&1 63 63 }}} 64 64 … … 71 71 ================================================================================ 72 72 73 Host left 74 Port 30778 75 HostName pc403.emulab.net 73 Host ganel.gpolab.bbn.com 74 Port 22 75 HostName ganel.gpolab.bbn.com 76 User pgenigpolabbbncom_testdeflect 77 IdentityFile /home/nriga/.ssh/geni_key 78 79 Host sardis.gpolab.bbn.com 80 Port 22 81 HostName sardis.gpolab.bbn.com 82 User pgenigpolabbbncom_testdeflect 83 IdentityFile /home/nriga/.ssh/geni_key 84 85 86 ...<more output>... 87 }}} 88 89 Copy all the above information and paste it into your `.ssh/config` file, and do the same for all the AMs, then you can very easily login into your nodes, just by using the name that is after the `Host` attribute. 90 91 Your `~/.ssh/config` file should look like 92 {{{ 93 IdentityFile /home/geni/.ssh/geni_key 94 95 Host ganel.gpolab.bbn.com 96 Port 22 97 HostName ganel.gpolab.bbn.com 98 User pgenigpolabbbncom_testdeflect 99 IdentityFile /home/nriga/.ssh/geni_key 100 101 Host sardis.gpolab.bbn.com 102 Port 22 103 HostName sardis.gpolab.bbn.com 104 User pgenigpolabbbncom_testdeflect 105 IdentityFile /home/nriga/.ssh/geni_key 106 107 Host planetlab5.clemson.edu 108 Port 22 109 HostName planetlab5.clemson.edu 110 User pgenigpolabbbncom_testdeflect 111 IdentityFile /home/nriga/.ssh/geni_key 112 113 Host ofctrl 114 Port 22 115 HostName pc104.emulab.net 76 116 User inki 77 IdentityFile /home/geni/.ssh/geni_key 78 79 Host hostB 80 Port 30779 81 HostName pc490.emulab.net 82 User inki 83 IdentityFile /home/geni/.ssh/geni_key 84 85 Host hostA 86 Port 30778 87 HostName pc545.emulab.net 88 User inki 89 IdentityFile /home/geni/.ssh/geni_key 90 91 Host bottom 92 Port 30778 93 HostName pc490.emulab.net 94 User inki 95 IdentityFile /home/geni/.ssh/geni_key 96 97 Host right 98 Port 30778 99 HostName pc411.emulab.net 100 User inki 101 IdentityFile /home/geni/.ssh/geni_key 102 103 Host top 104 Port 30779 105 HostName pc545.emulab.net 106 User inki 107 IdentityFile /home/geni/.ssh/geni_key 108 109 ...<more output>... 110 }}} 111 112 Copy all the above information and paste it into your `.ssh/config` file, then you can very easily login into your nodes, just by using the nickname (client_id) of the nodes. 113 114 Your `~/.ssh/config` file should look like 115 {{{ 116 IdentityFile /home/geni/.ssh/geni_key 117 Host left 118 Port 30778 119 HostName pc403.emulab.net 120 User inki 121 IdentityFile /home/geni/.ssh/geni_key 122 123 Host hostB 124 Port 30779 125 HostName pc490.emulab.net 126 User inki 127 IdentityFile /home/geni/.ssh/geni_key 128 129 Host hostA 130 Port 30778 131 HostName pc545.emulab.net 132 User inki 133 IdentityFile /home/geni/.ssh/geni_key 134 135 Host bottom 136 Port 30778 137 HostName pc490.emulab.net 138 User inki 139 IdentityFile /home/geni/.ssh/geni_key 140 141 Host right 142 Port 30778 143 HostName pc411.emulab.net 144 User inki 145 IdentityFile /home/geni/.ssh/geni_key 146 147 Host top 148 Port 30779 149 HostName pc545.emulab.net 150 User inki 151 IdentityFile /home/geni/.ssh/geni_key 117 IdentityFile /home/nriga/.ssh/geni_key 152 118 153 119 }}}