[906c763] | 1 | |
---|
| 2 | Using the DETER federation tools |
---|
| 3 | |
---|
| 4 | Setup |
---|
| 5 | |
---|
| 6 | You will need your own copy of the configuration files and scripts that |
---|
| 7 | are exported to remote federated testbeds. This file is available from |
---|
| 8 | |
---|
| 9 | http://www.isi.edu/~faber/tmp/federation.tgz |
---|
| 10 | |
---|
| 11 | The contents of this file are: |
---|
| 12 | |
---|
| 13 | federation/HOWTO This file |
---|
| 14 | federation/fed-tun.pl Tunnel establishment script |
---|
| 15 | federation/federate.sh Client testbed node init script |
---|
| 16 | federation/make_hosts Master testbed node init script |
---|
| 17 | federation/smbmount.pl Script to mount SMB filesystems |
---|
| 18 | on client nodes, called from |
---|
| 19 | federate.sh |
---|
| 20 | federation/splitter.conf.example Example splitter configuration file |
---|
| 21 | federation/splitter.pl Main federation script |
---|
| 22 | federation/testbeds.example Exmaple testbeds config file |
---|
| 23 | |
---|
| 24 | federation/testlan.tcl Example federated topology |
---|
| 25 | |
---|
| 26 | You'll also need acces to a tunneling image and a SMB-enabled image for |
---|
| 27 | clients. Currently these are FBSD61-TUNNEL2 and FBSD62-SMB on DETER in |
---|
| 28 | the emulab-ops project. Identical images are in DETER and Deter on |
---|
| 29 | Emulab and WAIL. Eventually federating testbeds will make those images |
---|
| 30 | available to users permitted to federate, but that policy is not in |
---|
| 31 | place. |
---|
| 32 | |
---|
| 33 | Configuration files |
---|
| 34 | |
---|
| 35 | There are two configuration files: |
---|
| 36 | |
---|
| 37 | testbeds The testbeds that can be federated and their parameters |
---|
| 38 | splitter.conf The per-experiment parameters (e.g. remote experiment name) |
---|
| 39 | |
---|
| 40 | These are documented in the pod documentation for splitter. You can |
---|
| 41 | view that by: |
---|
| 42 | |
---|
| 43 | $ pod2man testbed/federation/splitter.pl | groff -man -Tascii | more |
---|
| 44 | |
---|
| 45 | You should be able to use testbeds.example almost completely unchanged. |
---|
| 46 | You will need to change the User parameter to your username on the |
---|
| 47 | various testbeds. If you're not using the same projects on the various |
---|
| 48 | testbeds (DETER: emulab-ops, WAIL: Deter, Emulab: Deter) those will need |
---|
| 49 | to change as well. Otherwise the defaults should work for you. |
---|
| 50 | |
---|
| 51 | Similarly, the splitter.conf.example file is mostly usable. Change the |
---|
| 52 | experiment name to avoid collisions. (The split experiment will be |
---|
| 53 | instantiated using that experiment name on each federated testbed, so it |
---|
| 54 | could collide with others in use). Make sure the Testbeds parameter |
---|
| 55 | points to the testbeds file you created above and that the ScriptDir |
---|
| 56 | parameter points to the directory that you untarred federation.tgz into. |
---|
| 57 | Just for completeness change the SMBUser to your UID. The USERS share |
---|
| 58 | should work for you. It is the share that is exported to remote |
---|
| 59 | testbeds. |
---|
| 60 | |
---|
| 61 | Creating an experiment |
---|
| 62 | |
---|
| 63 | You have to run splitter on users.isi.deterlab.net. It depends on a |
---|
| 64 | modified experiment parser that is not widely available, but installed |
---|
| 65 | on users. |
---|
| 66 | |
---|
| 67 | To use the given experiment (testlan.tcl) you should be able to run |
---|
| 68 | splitter directly. I use something like: |
---|
| 69 | |
---|
| 70 | $ perl ./splitter.pl -v testlan.tcl |
---|
| 71 | |
---|
| 72 | You will be able to watch each testbed swap nodes in on the individual |
---|
| 73 | testbeds. |
---|
| 74 | |
---|
| 75 | To split an existing experiment across multiple testbeds, you need to |
---|
| 76 | use the command |
---|
| 77 | |
---|
| 78 | tb-set-node-testbed node "testbed" |
---|
| 79 | |
---|
| 80 | The node is the result of the [ $ns node ] command and the testbed is a |
---|
| 81 | string that matches an entry in your testbeds file. Note that DETER has |
---|
| 82 | only 2 connectors and any connection or LAN between nodes on different |
---|
| 83 | testbeds will use up a connector. Actually up to 2 connections can be |
---|
| 84 | multiplexed on a connector. |
---|
| 85 | |
---|
| 86 | Right now, to ensure cross testbed routing works and that the master |
---|
| 87 | testbed files are exported, use FBSD62-SMB as the image on clients. |
---|
| 88 | |
---|
| 89 | Let me know if you have questions. faber@isi.edu |
---|