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 |
---|