[[Image(experiment_pipeline.png)]] == Setup on users == {{{/share/benito/{qemu,mixed}_experiment.py}}} * partition nodes (qemu_experiment only) * create physical topo and DETER experiment * call the python scripts described below {{{/share/benito/setup/*.py}}} * embed nodes onto pnodes * assign experiment IPs * configure networking (VDE switches, wirefilter shaping) * calculate static routes * configure control net IPs for QEMU == On-Node Setup == {{{/share/benito/setup}}} * {{{hv}}} * {{{bootstrap}}} * node start command (pnode), rc.local entry (qemu) * mainly exists to install required python modules needed by all other scripts, including hv setup * calls {{{hv}}} exactly once * {{{hv}}} * sets up hv:hv * creates upstart script for booting on pnode/qemu * installs debs * calls other scripts in this dir to set up children hv's * {{{qemu}}} - calls scripts in {{{/var/benito/setup/qemu}}} in numerical order * {{{process}}} - same as {{{qemu}}} * {{{qemu}}} - numbered sequence of scripts for creating qemu vnodes * {{{process}}} - same as {{{qemu}}} == Boot == * pnode: upstart entry launches hv:hv, which launches children hv's * qemu: same upstart entry as pnodes 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}}}.