1. 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
  2. 09 Nov, 2010 1 commit
  3. 25 Oct, 2010 1 commit
    • 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
  4. 29 Sep, 2010 1 commit
    • 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. 19 Jul, 2010 1 commit
  6. 16 Jul, 2010 1 commit
  7. 16 Jun, 2010 2 commits
  8. 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
  9. 28 May, 2010 1 commit
  10. 21 May, 2010 1 commit
  11. 26 Apr, 2010 1 commit
  12. 16 Apr, 2010 1 commit
  13. 15 Apr, 2010 2 commits
  14. 13 Apr, 2010 1 commit
  15. 12 Apr, 2010 1 commit
  16. 08 Apr, 2010 3 commits
  17. 29 Mar, 2010 2 commits
  18. 22 Mar, 2010 1 commit
    • Leigh B Stoller's avatar
      Finish up user deletion. The big visible change is that when a user is · 2965922b
      Leigh B Stoller authored
      deleted, they still remain in the user table with a status of
      "archived", but since all the queries in the system now use uid_idx
      instead of uid, it is safe to reuse a uid since they are no longer
      ambiguous. 
      
      The reason for not deleting users from the users table is so that the
      stats records can refer to the original record (who was that person
      named "mike"). This is very handy and worth the additional effort it
      has taken.
      
      There is no way to ressurect a user, but it would not be hard to add.
      2965922b
  19. 08 Feb, 2010 1 commit
  20. 03 Feb, 2010 1 commit
  21. 05 Jan, 2010 1 commit
  22. 14 Dec, 2009 1 commit
  23. 07 Dec, 2009 2 commits
  24. 01 Dec, 2009 1 commit
  25. 12 Oct, 2009 1 commit
    • David Johnson's avatar
      Add the ability to load images on virtnodes. For now, we just overload · c6c57bc9
      David Johnson authored
      the tb-set-node-os command with a second optional argument; if that is
      present, the first arg is the child OS and the second is the parent OS.
      We add some new features in ptopgen (OS-parentOSname-childOSname) based
      off a new table that maps which child OSes can run on which parents, and
      the right desires get added to match.  We setup the reloads in os_setup
      along with the parents.  Also needed a new opmode, RELOAD-PCVM, to handle
      all this.
      
      For now, users only have to specify that their images can run on pcvms, a
      special hack for which type the images can run on.  This makes sense in
      general since there is no point conditionalizing childOS loading on
      hardware type at the moment, but rather on parentOS.  Hopefully this stuff
      wiill mostly work on shared nodes too, although we'll have to be more
      aggressive on the client side garbage collecting old frisbee'd images for
      long-lived shared hosts.
      
      I only made these changes in libvtop, so assi...
      c6c57bc9
  26. 05 Oct, 2009 3 commits
  27. 29 Sep, 2009 1 commit
  28. 11 Sep, 2009 1 commit
    • Robert Ricci's avatar
      Changed the way that snmpit decides what switches to operate on for the · 89be15ec
      Robert Ricci authored
      'tables', 'reset', and 'synctables' commands. Rather than assuming all
      VLANs live on the One True Experimental Net Stack (unless -S was given),
      they all now check the database to see which stack they should be operating
      on.
      
      Changed how stack information is currently stored in the database. The
      LAN attribute formerly known as 'stack' is now called 'class', and has
      two valid values, 'Experimental' and 'Control'. The idea is to record
      whether something is an experimental net or control net LAN, not which
      specific stack it's on. The 'stack' column in the VLANs table now
      records the actual stack_id on which the VLAN has been created.
      
      This is all in support of testbeds that have multiple experimental-net
      stacks, as Utah currently does.
      89be15ec
  29. 07 Aug, 2009 3 commits
  30. 04 Aug, 2009 1 commit