Changes between Version 6 and Version 7 of ReferenceGuide


Ignore:
Timestamp:
Oct 18, 2012 11:55:56 AM (7 years ago)
Author:
Ted Faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ReferenceGuide

    v6 v7  
    33= Reference Guide =
    44
    5 This document describes the details of the commands and data structures that make up the containers system.  The [UserGuide User Guide /Tutotial] provides useful context about the workflows and goals of the system that inform these technical details.
     5This document describes the details of the commands and data structures that make up the containers system.  The [UsersGuide User Guide /Tutotial] provides useful context about the workflows and goals of the system that inform these technical details.
    66
    77== containerize.py ==
     
    7171More detailed examples are available in [UsersGuide the tutorial]
    7272
    73 
     73== container_image.py ==
     74
     75The {{{container_image.py}}} command draws a picture of the topology of an experiment.  This is helpful in keeping track of how virtual nodes are connected.  {{{containerize.py}}} calls this internally and stores the output in the [ReferenceGuide#Per-ExperimentDirectory per-experiment directory] (unless {{{--no-image}}} is used.
     76
     77A researcher may call {{{container_image.py}}} directly to generate an image later or to generate one with the partitioning drawn.
     78
     79The simplest way to call {{{container_image.py}}} is:
     80
     81{{{
     82/share/containers/container_image.py topology.xml output.png
     83}}}
     84
     85The first parameter is a [http://fedd.deterlab.net/wiki.TopDl topdl] description, for example the one in the [ReferenceGuide#Per-ExperimentDirectory per-experiment directory].  The second parameter is the output file for the image.  When drawing an experiment that has been containerized, the {{{--experiment}}} option is very useful.
     86
     87Options include:
     88
     89 {{{--experiment=}}}''project''/''experiment''::
     90    Draw the experiment in ''project''/''experiment'', if it exists.  Note that this is just DETER experiment and DETER project.  Omit any sub-group.
     91 {{{--topo=}}}''filename''::
     92    Draw the topology in ''filename''
     93 {{{--attr-prefix=}}}''prefix''
     94    Prefix for containers attributes.  Deprecated.
     95 {{{--partitions}}}::
     96    Draw labeled boxes around nodes that share a physical node.
     97 {{{--out=}}}''filename''::
     98    Save the image in ''filename''
     99
     100If neither {{{--topo}}} nor {{{--experiment}}} is given, the first positional parameter is the topdl topology to draw.  If {{{--out}}} is not given the next positional parameter (the first if {{{--topo}}} nor {{{--experiment}}} is given) is the output file.
     101
     102A common invocation looks like:
     103
     104{{{
     105/share/containers/container_image.py --experiment SAFER/testbed-containers ~/drawing.png
     106}}}
     107
     108
     109== Per-experiment Directory ==
    74110
    75111== Site Configuration File ==
     
    120156These have no way to log in or work as conventional machines.  Process tree rooted in the startcommand is created, so a service will run with its own view of the network.  It does not have an address on the control net.
    121157
    122 Because of a bug in their internal routing, multi-homed processes do not respond correctly
     158Because of a bug in their internal routing, multi-homed processes do not respond correctly for requests on some interfaces.  A ViewOS process does not recognize its other addresses when a packe arrives on a different interface.  A picture makes this clearer:
     159
     160[[Image(viewos.png)]]
     161
     162Container A can ping Interface X (10.0.0.1) of the ViewOS container successfully, but if Container A tries to ping Interface Y (10.0.1.2) the ViewOS container will not reply (in fact it will send ARP requests on Interface Y looking for its own address).
     163
     164ViewOS processes are best used as lightweight forwarders for this reason.
     165
     166=== Physical Nodes ===
     167
     168Physical nodes can be incorporated into experiments, but should only use modern versions of Ubuntu, to allow the container system to run their start commands correctly and to initialize their routing tables.
    123169
    124170=== Interconnections: VDE switches and local networking ===