1. 25 Oct, 2010 2 commits
    • Leigh B Stoller's avatar
      b4750aa2
    • 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
  2. 21 Oct, 2010 1 commit
  3. 30 Sep, 2010 1 commit
  4. 29 Sep, 2010 2 commits
    • Mike Hibler's avatar
      Handle a common failure on the node reload path. · 4dc57d48
      Mike Hibler authored
      Under load, nodes that have just entered reloading and have just rebooted
      might fail to get bootinfo.  The default behavior in this case is for the
      node to boot from disk (dubious, but that is the topic for another day).
      This causes the node to fall off the RELOAD path, winding up in either
      TBFAILED or ISUP.  Worse, if the node makes it to ISUP, its reload state
      is cleared and even if the reload_daemon reboots the node, it will still
      not go through the reloading process.
      
      The result is a bunch of nodes left in reloading.  Now if a node makes an
      invalid transition to TBFAILED or ISUP while in the RELOAD state machine,
      it fires the new REBOOT trigger which does...well, you figure it out.
      Note that in the ISUP case, this trigger overrides the default that would
      otherwise clear the reload state--so reboot is sufficient to get the machine
      back on the RELOAD track.
      4dc57d48
    • Leigh B Stoller's avatar
      Add "bridges" table. · f0027075
      Leigh B Stoller authored
      Add failureaction to virt_lan_lans so that we can allow lans to fail
      during setup and still continue to swapin.
      f0027075
  5. 10 Aug, 2010 1 commit
    • Leigh B Stoller's avatar
      A bunch of little changes to make bootstrapping images work properly. · 37ffe0b9
      Leigh B Stoller authored
      Basically, we cannot create an image descriptor without any types
      defined, and we cannot create any types without a default image
      descriptor. I broke the circle by adding a stub pc type into the
      database fill file so that all Emulabs start with a predefined type.
      Then you can load the descriptor file, create your actual types, and
      then go back and edit the image descriptors to set the types those
      images run on (you always had to do this).
      37ffe0b9
  6. 19 Jul, 2010 1 commit
  7. 16 Jul, 2010 1 commit
  8. 17 Jun, 2010 1 commit
  9. 16 Jun, 2010 2 commits
  10. 15 Jun, 2010 1 commit
  11. 10 Jun, 2010 1 commit
  12. 09 Jun, 2010 2 commits
  13. 04 Jun, 2010 3 commits
  14. 03 Jun, 2010 1 commit
    • Leigh B Stoller's avatar
      Add more MLE support. Here is a sample NS file that demonstrates the · 958fc09d
      Leigh B Stoller authored
      new code. Note that this commit implements only the frontend part.
      
      set n1 [$ns node]
      set n2 [$ns node]
      set n3 [$ns node]
      
      set seg1 [$ns duplex-link $n1 $n2 * 0ms DropTail]
      set seg2 [$ns duplex-link $n2 $n3 * 0ms DropTail]
      tb-set-link-layer $seg1 1
      tb-set-link-layer $seg2 1
      
      set mypath [$ns make-path "seg1 seg2"]
      
      set link0 [$ns duplex-link $n1 $n3 * 0ms DropTail]
      $link0 implemented_by $mypath
      958fc09d
  15. 28 May, 2010 1 commit
  16. 21 May, 2010 1 commit
  17. 13 May, 2010 1 commit
    • Mike Hibler's avatar
      Add site variables to control image creation. · a3f42091
      Mike Hibler authored
      These variables were previously constants hardwired into create_image:
      
      images/create/maxwait:
          Max time (minutes) to allow for saving an image
      images/create/idlewait:
          Max time (minutes) to allow between periods of progress
          (image file getting larger) when saving an image (should be <= maxwait)
      images/create/maxsize:
          Max size (GB) of a created image
      a3f42091
  18. 07 May, 2010 1 commit
  19. 03 May, 2010 1 commit
  20. 26 Apr, 2010 2 commits
  21. 20 Apr, 2010 2 commits
  22. 17 Apr, 2010 1 commit
  23. 16 Apr, 2010 3 commits
  24. 15 Apr, 2010 6 commits
  25. 14 Apr, 2010 1 commit
    • Mike Hibler's avatar
      Add some useful elabinelab sitevars. · 9bb38c10
      Mike Hibler authored
      New sitevars:
        elabinelab/singlenet     set the system-wide default for cnet implementation
        elabinelab/boss_osid     default OSID for boss node
        elabinelab/ops_osid      default OSID for ops node
        elabinelab/fs_osid       default OSID for fs node
      
      Also mark the various elabinelab/*pkg* sitevars as deprecated.  Package
      versions are just too dependent on the OS running and we almost always
      wind up overriding these sitevars in rc.mkelab anyway.
      9bb38c10