| 71 | This may surprise you. In particular, you may be surprised to see that DETER thinks the experiment has only one node: |
| 72 | |
| 73 | [[Image(highlighted.png)]] |
| 74 | |
| 75 | The containers system has rewritten the description file and stored additional information in the experiment's per-experiment directory that will be used to create the 11 node experiment inside the single-node DETER experiment. If you look at the ns file DETER has stored (the NS file tab on the experiment page), you will see this file: |
| 76 | |
| 77 | {{{ |
| 78 | set ns [new Simulator] |
| 79 | source tb_compat.tcl |
| 80 | |
| 81 | tb-make-soft-vtype container0 {pc2133 bpc2133 MicroCloud} |
| 82 | set pnode(0000) [$ns node] |
| 83 | tb-set-node-os ${pnode(0000)} CentOS6-64-openvz |
| 84 | tb-set-hardware ${pnode(0000)} container0 |
| 85 | tb-set-node-startcmd ${pnode(0000)} "sudo /share/containers/setup/hv/bootstrap /proj/DeterTest/exp/example1/containers/site.conf >& /tmp/container.log" |
| 86 | tb-set-node-failure-action ${pnode(0000)} "nonfatal" |
| 87 | |
| 88 | $ns rtproto Static |
| 89 | $ns run |
| 90 | }}} |
| 91 | |
| 92 | That looks nothing like the file we gave to {{{containerize.py}}}, but it does show us a little about what the containers system has done. The single physical node ({{{pnode(0000)}}}) will run the {{{CentOS6-64-openvz}}} image and run on a few kinds of node. On startup {{{pnode(0000)}}} will execute a command from the same {{{/share/containers}}} directory that {{{containerize.py}}} ran from using data in the per-experiment directory {{{/proj/DeterTest/exp/example1/containers/site.conf}}}. |
| 93 | |
| 94 | There is a separate {{{/proj/DeterTest/exp/example1/containers/}}} directory for each experiment. The path element fater {{{/proj}}} is replaced with the project under which the experiment was created, {{{DeterTest}}} in this example, and the element after {{{exp}}} is the experiment name, {{{example1}}} in this case. These directories are created for all DETER experiments. The {{{containers}}} sub-directory holds information specific to a containerized experiment. |
| 95 | |
| 96 | There are a few useful bits of data in that per-experiment containers directory that we can look at. To avoid the long pathname we will talk about files in {{{containers/}}}, the subdirectory. |
| 97 | |
| 98 | First, a copy of the topology that we gave to {{{containerize.py}}} is available in {{{/proj/DeterTest/exp/example1/containers/experiment.tcl}}}. If the experiment is created from a topdl file, the filename will be {{{containers/experiment.tcl}}}. |
| 99 | |
| 100 | A simple vizualization of the experiment is in {{{containers/visualization.png}}}. This is annotated with node and network names as well as interface IP addresses. The topology depiction [attachment:visualization-small.png above] is an example. A larger version is also attached. |