1. 07 Dec, 2010 5 commits
  2. 02 Dec, 2010 1 commit
  3. 29 Nov, 2010 1 commit
  4. 18 Nov, 2010 1 commit
  5. 17 Nov, 2010 1 commit
  6. 16 Nov, 2010 1 commit
    • Kevin Atkinson's avatar
      Add support for all node "tb-set-tarfiles". · a0d0c95e
      Kevin Atkinson authored
      "tb-set-tarfiles" is like "tb-set-node-tarfiles" except that it
      distributes the tarfile to all nodes rather than just one and that it
      uses frisbee to distribute the file.
      
      These changes involved 1) refactoring frisbee info from images table
      into a new table, frisbee_blobs, 2) a new experiment_blobs table, and
      3) a new tmcd command so the node knows how to get the files from the
      server.
      
      The changes where designed to be general purpose enough to eventually
      support:
        1) Distributing arbitrary files (not just tarfiles) to nodes
        2) Perform arbitrary actions on those files
        3) Use arbitrary methods to get the files
      
      As such the tmcd line is as follows:
        URL=* ACTION=*
      
      where URL is currently:
        frisbee.mcast://<ADDR>/<FILE>
      for example
        frisbee.mcast://234.16.184.192:18092/users/kevina/home-dir.tar.gz
      and when we get around to using a master Frisbee server it could be
        frisbee://*
      or it could be a file://, http://, etc.
      
      and ACTION is currently:
        unpack:<LOCATION>
      for example
        unpackt:/users
      with future syntax to be determined.
      a0d0c95e
  7. 09 Nov, 2010 3 commits
  8. 02 Nov, 2010 2 commits
  9. 29 Oct, 2010 1 commit
  10. 28 Oct, 2010 2 commits
    • Ryan Jackson's avatar
      Enable new event scheduler · 2c0d82a5
      Ryan Jackson authored
      Use the new event scheduler by default for any
      users/groups/experiments configured for it using EmulabFeatures.
      
      Added '-N' option to eventsys.proxy to have it use the new scheduler
      (if it exists) instead of the old one.
      
      Added test for NewEventScheduler feature to eventsys_control so that
      it will pass the '-N' option to eventsys.proxy for
      experiments/users/groups using the feature.
      
      These changes will go away when the new event scheduler replaces the
      old one.
      2c0d82a5
    • Leigh B Stoller's avatar
      Minor fixes so that layer 2 links between directly connected PCs work. · 9e4a71e0
      Leigh B Stoller authored
      I had done this a while ago, but broke it slightly when I added MLE
      stuff.
      9e4a71e0
  11. 26 Oct, 2010 2 commits
  12. 25 Oct, 2010 5 commits
    • Leigh B Stoller's avatar
      Add missing module include. · f759f163
      Leigh B Stoller authored
      f759f163
    • Leigh B Stoller's avatar
      New module, called Emulab Features. The basic usage (see tbswap) is: · 1d430992
      Leigh B Stoller authored
      use EmulabFeatures;
      
      if (EmulabFeatures->FeatureEnabled("NewMapper", $user, $group, $experiment)) {
         # Do something
      }
      else {
         # Do something else.
      }
      
      where $user, $group, and $experiment is the current Emulab user, group, and
      experiment the script is operating as. Any of them can be undef. Note that
      features can easily be globally enabled or disabled (bypassing user/group
      check). See below.
      
      There are two scripts to deal with features. The easy one is the script to
      grant (or revoke) feature usage to a particular user or group or experiment:
      
      boss> wap grantfeature -u stoller NewMapper
      boss> wap grantfeature -p geni NewMapper
      boss> wap grantfeature -e geni,myexp NewMapper
      
      Add -r to revoke the feature.
      
      The other script is for managing features. To create a new feature:
      
      boss> wap emulabfeature create NewFeature 'A pithy description'
      
      which adds the feature to the emulab_features DB table. Use "delete"
      to remove a feature from the DB.
      
      You can globally enable and disable features for all users/groups (the
      user/group checks are bypassed). Global disable overrides global
      enable. There are actually two different flags. Lots of rope, I mean
      flexibility.
      
      boss> wap emulabfeature enable NewFeature 1
      boss> wap emulabfeature enable NewFeature 0
      
      boss> wap emulabfeature disable NewFeature 1
      boss> wap emulabfeature disable NewFeature 0
      
      To display a list of all features and associated settings:
      
      boss> wap emulabfeature list
      
      To show the details (including the users and groups) of a specific
      feature:
      
      boss> wap emulabfeature show NewFeature
      
      Oh, if a test is made in the code for a feature, and that feature is
      not in the emulab_features table (as might be the case on other
      Emulab's), the feature is "disabled".
      1d430992
    • Leigh B Stoller's avatar
    • Leigh B Stoller's avatar
      Better handling of determiming forward progress and retrying, as for · 22f04bc1
      Leigh B Stoller authored
      when no nodes can be allocated, but there are nodes available and the
      experiment would map.
      22f04bc1
    • Leigh B Stoller's avatar
      Be less pedantic about the DB state wrt process id and load · d2a1ee62
      Leigh B Stoller authored
      address; Try harder to recover instead of bailing.
      d2a1ee62
  13. 22 Oct, 2010 4 commits
  14. 21 Oct, 2010 3 commits
  15. 20 Oct, 2010 6 commits
    • Leigh B Stoller's avatar
      Change libreboot log file to reboot.log (instead of power.log) and add · fb528ba4
      Leigh B Stoller authored
      logging to the power command (to power.log).
      fb528ba4
    • Jonathon Duerig's avatar
      Fix namespace in libvtop · 54d6b99a
      Jonathon Duerig authored
      54d6b99a
    • Leigh B Stoller's avatar
      Add missing module include. · 6d12313d
      Leigh B Stoller authored
      6d12313d
    • Mike Hibler's avatar
      Silence NS warning about unset elabinelab variables. · 4b0a2b93
      Mike Hibler authored
      Also update default to FBSD73-STD (for those who do not have the aforementioned
      variables set).
      4b0a2b93
    • David Johnson's avatar
      d7b1d6c6
    • Mike Hibler's avatar
      Support for no shared filesystem (unsupport for shared filesystem?) and · c1c1bce2
      Mike Hibler authored
      (eventual) support for NFS servers without race conditions!
      
      This means no NFS between nodes and ops/fs. There are still NFS mounts of
      ops on boss however.
      
      Added new defs-* variable NOSHAREDFS, which when set non-zero will disable
      the export of NFS filesystems to nodes.  Involved lots of little changes:
      
       * /users, /proj, and /share filesystems are not exported to nodes.
      
       * Returned mount info now includes an FSTYPE key which will be set to "LOCAL"
         if NOSHAREDFS is in effect (by default it is set to "NFS-RACY"; more on
         this later).  In the case where it is set to LOCAL, the other mount lines
         no longer contain REMOTE=foo settings.  Because of this change,
         THE TMCD VERSION NUMBER HAS BEEN BUMPED TO 32.
      
       * The client rc.mounts script will now create local versions of /users/*,
         /proj/<pid>, and /share when FSTYPE=LOCAL.  It first runs mkextrafs to
         create a large partition for these, since someday we will likely want
         to pre-populate these with a non-trivial amount of data.  Right now,
         the only thing that is put in the user's homedir is the standard dotfiles
         for the OS and the Emulab authorized_keys file (so you can login).
      
       * Linktest had to be modified to fetch the various results files (via
         loghole) rather than just assuming they were in /proj.  And also changed
         to invoke tevc with the local copy of the event key so it won't try to
         read it over NFS.
      
       * create_image was modified to ssh to the node and run the imagezip
         command, capturing the output of ssh.  This is controlled via the "-s"
         option which defaults to on for a NOSHAREDFS system, but can also be
         used on a normal system.
      
       * elabinelab's can be configured with/without a shared FS via the
         CONFIG_SHAREDFS attribute (note polarity change) which defaults to 1.
      
      Another new defs-* variable, NFSRACY, will some day allow you to specify
      (by setting to 0) that your NFS server does NOT have the nefarious mountd
      race condition when changing /etc/exports.  Currently, this defaults to 1
      since all versions of FreeBSD supported as an "fs" node have this "feature."
      Rumor has it that FreeBSD 8 does not have this problem nor, presumably,
      would a Linux NFS server.
      
      The only use of this variable right now is to set the FSTYPE returned by the
      tmcd "mounts" call, which in turn is used by one client script, rc.topomap
      (via a libsetup function) to determine whether it should try copying
      the topo file multiple times.
      
      Random: add python2.6 to list of python's checked for in configure.
      Random: resync defs-example-privatecnet with defs-example.
      Random: did a little code-pissin here and there.
      c1c1bce2
  16. 19 Oct, 2010 2 commits