Changes between Version 2 and Version 3 of NewImplNotes


Ignore:
Timestamp:
Sep 17, 2013 2:28:01 PM (11 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NewImplNotes

    v2 v3  
    240240
    241241Projects are analogous.
     242
     243== Binding Emulab Constructs to DETER Constructs ==
     244
     245Descartes will use Emulab as a [NewImpl resource allocation system].  This means formerly first class entities, such as Emulab users and projects will be the building blocks on which DETER entities will be built.  The Emulab constructs will become more ephemeral.  For example, a DETER experiment's allocation of computers and VLANs will be embodied as an Emulab experiment, but the DETER experiment will also contain the container configurations, procedures, data monitoring and constraint implementations.
     246
     247=== Users, Projects, and Circles ===
     248
     249Initially I was concerned that while DETER users and DETER projects would map fairly cleanly to Emulab users and projects, that circles would be a problem.  The primary concern was that Emulab Projects map to UNIX groups on the testbed and that those UNIX permissions implement isolation on shared filesystems inside an experiment.  Older UNIXes limited the number of groups to 16, and we had experienced problems crossing that limit.
     250
     251Investigations and experiments show that FreeBSD 9 (on which the testbed runs) allows a user to be a member of an unlimited number of groups, and that group ids are a full 32-bits.  This means that both projects and circles can be directly mapped to Emulab projects, and that we can take advantage of existing isolation mechanisms.
     252
     253=== Extensions to Emulab ===
     254
     255Three main extensions must be made to Emulab to support this mapping:
     256
     257 * An interface to create an Emulab user without a confirmation going to the user (Descartes will do the confirmation).
     258   * A variation on this exists for creating student users that we will flesh out into a full "create user" interface
     259 * An interface for creating EMulab Projects without a confirmation loop.  Again Descartes will handle the validation of the DETER project.
     260  * There is old code for this in fedd, which once was to user dynamic projects.  That code's time has apparently come.
     261 * A system for mapping circle names into project/UNIX group names.  The Emulab project that underlies a DETER circle will be largely invisible to a user, except in that a UNIX group tied to it will be used to manipulate the file system.  We will need to provide a simple mapping from the {user|project}:circle name to a project/group name.
     262
     263
     264These should be easy to implement.