1. 25 May, 2011 9 commits
  2. 24 May, 2011 1 commit
  3. 23 May, 2011 3 commits
    • Mike Hibler's avatar
      Stop using no longer maintained subboss_images table for loadinfo. · 8cecbb91
      Mike Hibler authored
      This was causing some (most) d710s to load images from boss rather than
      the subboss.
      8cecbb91
    • David Johnson's avatar
      Install same bins/libs on clients as on control nodes. · fc48cdee
      David Johnson authored
      One difference: we don't make all the symlinks to script_wrapper.py (like
      node_avail et al).
      
      Also, this is going to require m2crypto -- the right version -- on client
      images.  If the scripts don't work on many images for now because
      m2crypto is not there, fine for awhile... but we should move in this
      direction.
      fc48cdee
    • David Johnson's avatar
      MLE: set port speeds for non user-specified segment/path endpoint interfaces. · f6e3d3aa
      David Johnson authored
      We now make a pass through the implemented_by tree setting port speeds
      that the user left up to assign (i.e., that are 0).  We start at the
      lowest level links and assign default speeds.  Then the speed values for
      the start and end segments for each path get propagated to the link
      being implemented by the path.  Should be pretty generic for any number
      of layers.  We warn if the higher level links don't support those speed
      settings (if they don't, we're gonna have a problem; but I think assign
      protects this from happening).
      f6e3d3aa
  4. 20 May, 2011 3 commits
  5. 19 May, 2011 6 commits
  6. 18 May, 2011 10 commits
    • Mike Hibler's avatar
    • Mike Hibler's avatar
      Lint. · b0b994a8
      Mike Hibler authored
      b0b994a8
    • Mike Hibler's avatar
      Merge remote branch 'origin' · 6acf59a0
      Mike Hibler authored
      6acf59a0
    • Mike Hibler's avatar
      19b040d6
    • Mike Hibler's avatar
      Merge remote branch 'origin/master' · 660f4265
      Mike Hibler authored
      660f4265
    • Jonathon Duerig's avatar
    • Jonathon Duerig's avatar
      48b717ed
    • David Johnson's avatar
      Bug fixes and per-experiment VLAN removal. · 8fbe1ab3
      David Johnson authored
      Now that we have logical wires, we *must* actually make sure that the
      VLANs created on the per-experiment switch are removed at swapout (i.e.,
      are at least removed from the vlans table), so that any logical wires can
      be safely removed.  For now, we actually invoke snmpit to remove them.
      This is probably a bad idea, because who knows what state the user left
      the switch in prior to swapout.
      
      The bugfixes are just me forgetting that \ does not continue a line in
      perl :).
      8fbe1ab3
    • Mike Hibler's avatar
      484d78ff
    • Mike Hibler's avatar
      Support image PUT (aka, "upload") and assorted minor changes. · 77dbad39
      Mike Hibler authored
      1. Support for PUT.
      
      The big change is support for uploading via the master server, based heavily
      on the prototype that Grant did. Currently only host-based (IP-based)
      authentication is done as is the case with download. Grant's SSL-based
      authentication code is "integrated" but has not even been compiled in.
      
      The PUT protocol allows for assorted gewgaws, like specifying a maximum size,
      setting a timeout value, returning size and signature info, etc.
      
      There is a new, awkwardly-named client utility "frisupload" which, like the
      download client, takes an "image ID" as an argument and requests to upload
      (PUT) that image via the master server. As with download, the image ID can
      be either of the form "<pid>/<emulab-image-name>", to upload/update an actual
      Emulab image or it can start with a "/" in which case it is considered to
      be a pathname on the server.
      
      On the server side, the master server takes PUT requests, verifies permission
      to upload the image, fires up a separate instance of an upload daemon (with
      the even catchier moniker "frisuploadd"), and returns the unicast addr/port
      info to the client which then begins the upload. The master server also acts
      as a traffic cop to make sure that downloads and uploads (or uploads and
      uploads) don't overlap.
      
      This has been integrated into the Emulab "create image" process in a
      backward-compatible way (i.e., so old admin MFSes will continue to work).
      Boy, was that fun. One not-so-desirable effect of this integration is that
      images now traverse our network twice, once to upload from node to boss and
      once for boss to write out the image file across NFS to ops. This is not
      really something that should be "fixed" in frisbee, it is only "undesirable"
      because we have a crappy NFS server.
      
      What has NOT been done includes: support of hierarchical PUT operations
      (we don't need it for either the elabinelab or subboss case), support for
      uploading standard images stored on boss (we really want something better
      than host-based authentication here), and the aforementioned support of
      SSL-based authentication.
      
      2. Other tidbits that got mixed in with PUT support:
      
      Added two new site variables:
          images/frisbee/maxrate_std
          images/frisbee/maxrate_usr
      which replace the hardwired (in mfrisbeed and frisbeelauncher before that)
      bandwidth limits for image download. mfrisbeed reads these (and the
      images/create/* variables) when it starts up or receives a HUP signal.
      These could be read from the DB on every GET/PUT, but they really don't change
      much and I needed something to test the reread-the-config-on-a-HUP code!
      
      Fixed avoidance of "problematic multicast addresses" so it would actually
      work as intended.
      
      Lots of internal "refactoring" to make up for things I did wrong the first
      time and to give the general impression that "Wow, Mike did a LOT!"
      77dbad39
  7. 17 May, 2011 3 commits
    • Mike Hibler's avatar
      Add machinery to automatically setup mrouted on the control network. · 3ba294d9
      Mike Hibler authored
      This is specifically intended for elabinelab right now where configurations
      with an "inner control network" need a multicast router for inner frisbee
      to work. There is (an undocumented) NEEDMROUTED defs variable that controls
      whether the machinery is triggered or not. It is not documented because, though
      in theory this would work for a real boss setup, it has not been tested and
      each install would probably need a custom mrouted.conf file.
      
      For an inner elab, this variable is automatically set in defs-elabinelab
      if there is an inner control network. The result is that the mrouted port
      will be installed, it will be enabled in rc.conf, and a stub mrouted.conf
      file is created (to force mrouted to ignore the real control network).
      3ba294d9
    • David Johnson's avatar
      Handle (skip) logical wires/interfaces when constructing the port · be15f9bc
      David Johnson authored
      translation table.
      be15f9bc
    • David Johnson's avatar
      Add per-experiment switch support. · ea496d44
      David Johnson authored
      Per-experiment switch stacks only come into being if the experiment
      actually has a switch allocated to it.  If not, tbswap and snmpit
      should function unchanged.  If there is a per-experiment stack that needs
      configuration, we first invoke normal snmpit in the normal place, but we
      use the new snmpit option `--skip-supplied' in combination with -S to skip
      the per-experiment stack.  We then configure the per-experiment stack by
      itself with -S after os_setup has completed.
      
      There are some new functions in the db backend stuff to create, modify,
      and remove per-experiment switches.
      
      There is some new code in snmpit to do the --skip-supplied filtering.  I
      also put all the -S, -i, and --skip-supplied stuff into portstats...
      because we also can't call portstats on a per-experiment switch in tbswap;
      otherwise it will hang and/or fail.
      ea496d44
  8. 16 May, 2011 3 commits
  9. 13 May, 2011 2 commits