| 9 | = Environment = |
| 10 | |
| 11 | The tools we use to wrangle Plastic Slices have a variety of requirements for your environment on the system where you want to use them: |
| 12 | |
| 13 | * You should have an up-to-date copy of the syseng Subversion repository. |
| 14 | * ~/rspecs should be a symlink to .../syseng/geni/share/rspecs. |
| 15 | * ~/slices/plastic-slices should be a symlink to .../syseng/geni/share/experiment-setup/plastic-slices. |
| 16 | * ~/bin/omni and ~/bin/readyToLogin should be copies of (or symlinks to) the current GCF release. |
| 17 | * ~/bin/shmux should be a copy of the 'shmux' executable. |
| 18 | * Your ~/.ssh/config file should include "!StrictHostKeyChecking no". (FIXME: It'd be better if this were in the ~/.ssh/config section for each host, instead of being a global requirement.) |
| 19 | * ~/.gcf should be your Omni/GCF directory, and you should not mind if cached user and slice credentials are stored there. |
| 20 | * Your default project in your Omni config file should be 'gpo-infra'. |
| 21 | * Your 'users' list in your Omni config file should include the gpo-infra users. |
| 22 | * You should run the various commands all in one shell, because some of the later steps assume that you've run the commands in some of the previous steps. You can run some things in other windows if you know what you're doing, but if you're wrong, things won't work as you expect. |
| 23 | * You should have the following shell functions or aliases (e.g. in your .bashrc): |
| 24 | {{{ |
| 25 | alias shmux='shmux -Sall -m -B -M 20' |
| 26 | logins () { for slicename in $slices ; do loginfile=~/tmp/logins-$slicename.txt ; $* ~/slices/*/logins/logins-$slicename.txt >| $loginfile ; done ; logins=$(for slicename in $slices ; do loginfile=~/tmp/logins-$slicename.txt ; cat $loginfile ; done) ; } |
| 27 | somni () { slicename=$1 ; rspec=$2 ; am=$(grep AM: $rspec | sed -e 's/^AM: //') ; } |
| 28 | }}} |
| 29 | |
| 30 | This list is intended to be complete, but if we've forgotten something, you may get an error when you try to use some of those tools -- so corollary, if you do get an error when you try to use some of those tools, check with someone else to see if it works for them, and look for ways in which your environment might be different (and if they're not on this list, add them). |
| 31 | |
72 | | Update ~/slices/plastic-slices/config/slices.json with any changes for this run. |
73 | | |
74 | | Update ~/slices/plastic-slices/config/pairmap.json with any changs for this run. Either edit the file by hand, or generate a new random one: |
| 102 | Make sure your copy of the syseng Subversion repository is up to date and that you don't have uncommitted changes there. Change into your .../syseng directory, and run |
| 103 | |
| 104 | {{{ |
| 105 | svn update |
| 106 | svn status |
| 107 | }}} |
| 108 | |
| 109 | Update ~/slices/plastic-slices/config/slices.json with any changes for this run. Likely changes to think about include: |
| 110 | |
| 111 | * Adding or removing aggregates. |
| 112 | * Changing which aggregates are in which slices. |
| 113 | * Changing openflow_controller to point to your personal controller. |
| 114 | * Changing rspec_template_root to point to the directory where you personally have the rspec templates. |
| 115 | |
| 116 | Update ~/slices/plastic-slices/config/pairmap.json with any changs for this run. At this point, we're maintaining the file by hand, so that we can preserve specific pairs from run to run. The pairs we're preserving are: |
| 117 | |
| 118 | || source || destination || TCP || UDP || |
| 119 | || bbn-exogeni || max-instageni || ps103 || ps108 || |
| 120 | || clemson-instageni || wisconsin-instageni || ps105 || ps110 || |
| 121 | || fiu-exogeni || bbn-exogeni || ps104 || ps107 || |
| 122 | || fiu-exogeni || bbn-instageni || ps103 || ps108 || |
| 123 | || gatech-instageni || northwestern-instageni || ps106 || ps107 || |
| 124 | || kansas-instageni || northwestern-instageni || ps105 || ps108 || |
| 125 | || nyu-instageni || utahddc-instageni || ps106 || ps109 || |
| 126 | || sox-instageni || illinois-instageni || ps104 || ps109 || |
| 127 | || stanford-instageni || bbn-instageni || ps106 || ps109 || |
| 128 | |
| 129 | If you add a new aggregate, make sure not to break up those pairs. |
| 130 | |
| 131 | If for some reason you want to generate a new random pairmap, the Tarvek 00README file has docs for how to do that. |
| 132 | |
| 133 | Generate the rest of the configuration: |