Community-Lab introduction

Diff
Login

Differences From Artifact [795c276e2e]:

To Artifact [b01cee411c]:


   156    156   
   157    157   Finally, the server and nodes publish management information through an API
   158    158   that can be used to study the testbed itself or to implement external services
   159    159   (like node monitoring and selection).
   160    160   
   161    161   ** An example experiment
   162    162   # Event diagram, hover over components explained.
   163         -To show how the testbed works: two slivers, one of them (source sliver) pings
   164         -the other one (target sliver).
          163  +To show how the testbed works: two slivers, one of them pings the other one.
          164  +Let's call them the source and target sliver, respectively.
   165    165   
   166    166   1. The researcher first contacts the server and creates a slice description
   167         -   which specifies a template for slivers (e.g. Debian Squeeze i386).
   168         -   Experiment data is attached including a program to setup the experiment and
   169         -   another one to run it.
   170         -2. The server updates the registry which holds all definitions of testbed,
   171         -   nodes, users, slices, slivers, etc.
          167  +   which specifies a template for slivers (e.g. Debian Squeeze i386).  The
          168  +   researcher attaches experiment data including a program to setup slivers
          169  +   for the experiments and another one to run them.
          170  +2. This and all subsequent changes initiated by the researcher are stored in
          171  +   the registry, which holds the config of all components in the testbed.
   172    172   3. The researcher chooses a couple of nodes and creates sliver descriptions
   173    173      for them belonging to the previous slice.  Both sliver descriptions include
   174         -   a public interface to the CN and user-defined properties for telling apart
   175         -   the source sliver from the target one.  Sliver descriptions go to the
   176         -   registry.
          174  +   a public interface to the CN and user-defined properties to mark slivers as
          175  +   either source or target.
   177    176   4. Each of the previous nodes gets a sliver description for it.  If enough
   178    177      resources are available, a container is created by applying the desired
   179    178      configuration over the selected template.
   180    179   5. Once the researcher knows that slivers have been instantiated, the server
   181         -   can be commanded to activate the slice.  The server updates the registry.
          180  +   can be commanded to activate the slice.
   182    181   6. When nodes get instructions to activate slivers they start the containers.
   183         -7. Containers run the experiment setup program and the run program.  The
   184         -   programs query sliver properties to decide their behaviour.
          182  +7. Containers execute the experiment's setup and run programs.  The programs
          183  +   query sliver properties to decide whether to act as source or target.
   185    184   8. Researchers interact straight with containers if needed (e.g. via SSH) and
   186    185      collect results from them.
   187    186   9. When finished, the researcher tells the server to deactivate and
   188    187      deinstantiate the slice.
   189    188   10. Nodes get the instructions and they stop and remove containers.
   190    189   
   191    190   * Cooperation between community networks and Community-Lab