| 1 | [[Image(benito_experiment_pipeline.png)]] |
| 2 | |
| 3 | == Setup on users == |
| 4 | |
| 5 | {{{/share/benito/{qemu,mixed}_experiment.py}}} |
| 6 | |
| 7 | * partition nodes (qemu_experiment only) |
| 8 | * create physical topo and DETER experiment |
| 9 | * call the python scripts described below |
| 10 | |
| 11 | {{{/share/benito/setup/*.py}}} |
| 12 | |
| 13 | * embed nodes onto pnodes |
| 14 | * assign experiment IPs |
| 15 | * configure networking (VDE switches, wirefilter shaping) |
| 16 | * calculate static routes |
| 17 | * configure control net IPs for QEMU |
| 18 | |
| 19 | == On-Node Setup == |
| 20 | |
| 21 | {{{/share/benito/setup}}} |
| 22 | * {{{hv}}} |
| 23 | * {{{bootstrap}}} |
| 24 | * node start command (pnode), rc.local entry (qemu) |
| 25 | * mainly exists to install required python modules needed by all other scripts, including hv setup |
| 26 | * calls {{{hv}}} exactly once |
| 27 | * {{{hv}}} |
| 28 | * sets up hv:hv |
| 29 | * creates upstart script for booting on pnode/qemu |
| 30 | * installs debs |
| 31 | * calls other scripts in this dir to set up children hv's |
| 32 | * {{{qemu}}} - calls scripts in {{{/var/benito/setup/qemu}}} in numerical order |
| 33 | * {{{process}}} - same as {{{qemu}}} |
| 34 | * {{{qemu}}} - numbered sequence of scripts for creating qemu vnodes |
| 35 | * {{{process}}} - same as {{{qemu}}} |
| 36 | |
| 37 | == Boot == |
| 38 | |
| 39 | * pnode: upstart entry launches hv:hv, which launches children hv's |
| 40 | * qemu: same upstart entry as pnodes |
| 41 | |
| 42 | scripts to launch hv's and their children are in {{{/share/benito/launch}}}. Each hv has its own subdirectory, and the main script that launches the hv is named {{{hv}}}. |