1. 06 Nov, 2014 1 commit
  2. 11 Jun, 2014 1 commit
  3. 10 Mar, 2014 1 commit
    • Mike Hibler's avatar
      Support "no NFS mount" experiments. · 5446760e
      Mike Hibler authored
      We have had the mechanism implemented in the client for some time and
      available at the site-level or, in special cases, at the node level.
      New NS command:
      
          tb-set-nonfs 1
      
      will ensure that no nodes in the experiment attempt to mount shared
      filesystems from ops (aka, "fs"). In this case, a minimal homdir is
      created on each node with basic dotfiles and your .ssh keys. There will
      also be empty /proj, /share, etc. directories created.
      
      One additional mechanism that we have now is that we do not export filesystems
      from ops to those nodes. Previously, it was all client-side and you could
      mount the shared FSes if you wanted to. By prohibiting the export of these
      filesystems, the mechanism is more suitable for "security" experiments.
      5446760e
  4. 25 Sep, 2012 1 commit
  5. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      
      This commit is intended to clear up that confusion.
      
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  6. 15 Mar, 2012 1 commit
    • Leigh B Stoller's avatar
      Add LINUX_FSNODE support contributed by Maarten Dewispelaere at · c8cbdf70
      Leigh B Stoller authored
      intec.ugent.be
      
      These are not complete changes, but enough to support the usage these
      guys need. In this case, I think it is a hand crafted linux node that
      allows boss to ssh in and do the exports setup stuff. But hey, it is a
      start on actually supporting a linux FS node.
      c8cbdf70
  7. 21 Apr, 2011 1 commit
  8. 20 Oct, 2010 1 commit
    • 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
  9. 04 Mar, 2010 1 commit
  10. 05 Aug, 2009 1 commit
  11. 03 Aug, 2009 1 commit
  12. 12 Jun, 2009 1 commit
  13. 11 Jun, 2009 1 commit
  14. 18 Apr, 2008 1 commit
  15. 15 Apr, 2008 1 commit
  16. 10 Apr, 2008 2 commits
  17. 10 Jan, 2007 1 commit
  18. 20 Oct, 2006 1 commit
    • Mike Hibler's avatar
      Wow, this should make me look important! · afa5e919
      Mike Hibler authored
      Two-day boondoggle to support "/scratch", an optional large, shared filesystem
      for users.  To do this, I needed to find all the instances where /proj is used
      and behave accordingly.  The boondoggle part was the decision to gather up all
      the hardwired instances of shared directory names ("/proj", "/users", etc.)
      so that they are set in a common place (via unexposed configure variables).
      This is a boondoggle because:
      
      1. I didn't change the client-side scripts.  They need a different mechanism
         (e.g., tmcd) to get the info, configure is the wrong way.
      
      2. Even if I had done #1 it is likely--no, certain--that something would
         fail if you tried to rename "/proj" to be "/mike".  These names are just
         too ingrained.
      
      3. We may not even use "/scratch" as it turns out.
      
      Note, I also didn't fix any of the .html documentation.  Anyway, it is done.
      To maintain my illusion in the future you should:
      
      1. Have perl scripts include "use libtestbed" and use the defined PROJROOT(),
         et.al. functions where possible.  If not possible, make sure they run
         through configure and use @PROJROOT_DIR@, etc.
      
      2. Use the configure method for python, C, php and other languages.
      
      3. There are perl (TBValidUserDir) and php (VALIDUSERPATH) functions which
         you should call to determine if an NS, template parameter, tarball or
         other file are in "an acceptable location."  Use these functions where
         possible.  They know about the optional "scratch" filesystem.  Note that
         the perl function is over-engineered to handles cases that don't occur
         in nature.
      afa5e919
  19. 25 Oct, 2005 1 commit
  20. 23 Aug, 2005 1 commit
  21. 31 May, 2005 1 commit
  22. 12 Feb, 2005 1 commit
    • Kirk Webb's avatar
      · f14bfb3e
      Kirk Webb authored
      If WINSUPPORT isn't set, don't try generating/updating the samba shares.
      f14bfb3e
  23. 11 Feb, 2005 1 commit
    • Kirk Webb's avatar
      · 1d2ddefb
      Kirk Webb authored
      Added dynamic samba share setup to exports_setup.
      
      Share names are constructed as follows:
      
      Path			Sharename
      ----------------------------------
      /proj/<pid>		proj-<pid>
      /group/<pid>/<eid>	<pid>-<eid>
      /users/<uid>		<uid>
      
      Share namespace collisions are detected, and mail is sent in the
      (unlikely) event that this occurs (and exports_setup bails out).
      1d2ddefb
  24. 27 Oct, 2004 1 commit
  25. 26 Apr, 2004 1 commit
    • Mike Hibler's avatar
      Added config option DISABLE_EXPORTS_SETUP for sites without proper control · 56acaee5
      Mike Hibler authored
      of their file server (aero)
      
      Extend DISABLE_NAMED_SETUP: when set, we don't set a nodes hostname to
      <name>.<eid>.<pid>.<domain> since that won't resolve.  Just stick with
      pc<XXX>.<domain> in those cases.  The various sethostname* scripts are
      now .in so that they get preprocessed to check for the option.
      56acaee5
  26. 25 Feb, 2004 3 commits
  27. 05 Dec, 2003 2 commits
  28. 04 Dec, 2003 1 commit
  29. 26 Aug, 2003 1 commit
  30. 25 Jul, 2003 1 commit
  31. 28 Apr, 2003 2 commits
    • Leigh B. Stoller's avatar
      Change 2002 to 2003 on any file that was modified in 2003, but di not · 9e26c63a
      Leigh B. Stoller authored
      get an updated copyrights message.
      9e26c63a
    • Leigh B. Stoller's avatar
      Add support for new {user,group,project,experiment}_stats tables. · 5e5508bf
      Leigh B. Stoller authored
      The first three are aggregate tables, while the experiment stats table
      gets a record for each new experiment, and is updated when an
      experiment is swapped in/out/modify or terminated. Look at the table
      to see what is tracked. Once the experiment_stats record is updated,
      the aggregate tables are updated as necessary. There are a bunch of
      ugly changes to assign_wrapper to get the stats. Note that pnodes is
      not incremented until an experiment sucessfully swaps in. This is in
      leu of getting status codes; I'm not tracking failed operations yet,
      nor creating the log file that Jay wants. I'll do that in the next
      round of changes when we see how useful these numbers are.
      
      Most of the changes are to create/delete table entries where
      appropriate, and to display the records. Display is only under admin
      mode, and the display is raw; just a dump of the assoc tables in php.
      The last 100 experiment stats records are available via the Experiment
      List page, using the "Stats" show option at the top. Bad place, but
      will do for now.
      5e5508bf
  32. 29 Jan, 2003 1 commit
    • Mac Newbold's avatar
      Save a bunch of totally redundant db queries, and speed things up. · 55865301
      Mac Newbold authored
      Order the query for the nodes by pid/gid, then save the info from the last
      node. If the node I'm doing has the same pid/gid as the last one, reuse
      the info without grabbing it from the database again and recalculating
      everything. Now it will do one db query for each pid/gid that has an expt
      swapped in, instead of once per node in use. That cuts the number of db
      queries by a factor of (avg. # of nodes in use per proj), which is often
      greater than 10.
      55865301
  33. 03 Oct, 2002 1 commit
  34. 14 Aug, 2002 1 commit
  35. 13 Aug, 2002 1 commit