1. 22 Nov, 2017 1 commit
  2. 29 Jul, 2016 1 commit
    • Mike Hibler's avatar
      Further optimize the case where there is nothing to do. · 9375fe41
      Mike Hibler authored
      Even when there were no changes, we were stat'ing every mountpoint.
      Now we wait til after we have determined that something has changed before
      we test the mountpoints.
      
      Also, just open and append to files directly in perl rather than exec'ing
      a "cat" to do it.
      9375fe41
  3. 09 Nov, 2015 1 commit
    • Mike Hibler's avatar
      Two semi-related exports_setup changes. · 622e2187
      Mike Hibler authored
      1. Don't stat all exported mountpoints from boss to see if they exist.
         Not only is this wrong from boss (a mount may be valid, but not yet
         exported) it also makes the automounter work its butt off as we might
         stat hundreds or thousands of directories across NFS. The original
         purpose of this was to keep mountd from freaking out when presented
         with a non-existent directory. Since mountd freaking out is about as
         rare as the sun rising in the east, we keep this check but do it on
         the proxy (ops) side instead.
      
      2. Have exports_setup (boss) generate a list of directories that it should
         be able to mount. This goes in /usr/testbed/etc/validmounts.txt and will
         be used by autofs (I hope) to narrow down the wildcarded "/users/*"
         and "/proj/*" mounts to those that might actually work. Right now you
         can "ls /users/WtF" and it will try to mount it from ops and take 4
         seconds to timeout and fail.
      622e2187
  4. 10 Apr, 2015 1 commit
  5. 24 Mar, 2015 1 commit
    • Mike Hibler's avatar
      Hopefully eliminate race in exports_setup when waiting for mountd to finish. · 031b174c
      Mike Hibler authored
      Changed mountd to write the current timestamp into /var/run/mountd.ts
      whenever it has finished processing all exports files. So someone who
      HUPs/USR1s mountd can check and see when the timestamp changes.
      
      We use this in exports_setup.proxy to ensure we do not return before
      mountd has completed parsing and effecting changes. Since I am too lazy
      to check the before and after values of the timestamp, I just remove that
      file just before signalling, and then wait for it to reappear to signify
      that mountd is done.
      031b174c
  6. 13 Jan, 2015 1 commit
  7. 12 Jan, 2015 1 commit
  8. 30 Jan, 2013 2 commits
  9. 23 Jan, 2013 1 commit
  10. 26 Dec, 2012 1 commit
  11. 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
  12. 15 Mar, 2012 1 commit
    • Leigh Stoller's avatar
      Add LINUX_FSNODE support contributed by Maarten Dewispelaere at · c8cbdf70
      Leigh 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
  13. 16 Jun, 2011 1 commit
  14. 14 Sep, 2005 1 commit
    • Mike Hibler's avatar
      Changes related to allowing seperate 'fs' (file server) node. · c53d5827
      Mike Hibler authored
      Entailed new instructions for manual setup as well as integration into
      elabinelab framework.  First, the manual path:
      
      setup.txt, setup-boss.txt, setup-ops.txt and new setup-fs.txt:
          Updated to reflect potential for separate fs node.  The org here
          is a little dicey and could be confusing with ops+fs vs. ops and fs.
          Has not been field tested yet.
      
      */GNUmakefile.in: new fs-install target.
      
      configure, configure.in, defs-*:
          Somewhat unrelated, make min uid/gid to use be a defs setting.
          Also add config of fs-install.in script.
      
      boss-install.in, ops-install.in and new fs-install.in:
          Handle distinct fs node.  If you have one, fs-install is run before
          ops-install.  All scripts rely on the defs file settings of FSNODE
          and USERNODE to determine if the fs node is seperate.
      
      utils/checkquota.in:
          Just return "ok" if quotas are not used (i.e., if defs file FS_WITH_QUOTA
          string is null.
      
      install/ports/emulab-fs:
          Meta port for fs node specific stuff.  Also a patch for the samba port
          Makefile so it doesn't drag in CUPs, etc.  Note that the current samba
          port Makefile has this change, I am just backporting to our version.
      
      Elabinelab specific changes:
      
      elabinelab-withfs.ns:
          NS fragment used in conjunction with
      	tb-elab-in-elab-topology "withfs"
          to setup inner-elab with fs node.
      
      elabinelab.ns:
          The hard work on the boss side.  Recognize seperate-fs config and handle
          running of rc.mkelab on that node.  fs setup happens before ops setup.
      
      rc.mkelab:
          The hard work on the client side.  Recognize FsNode setup as well as
          differentiate ops+fs from ops setup.
      
      Related stuff either not part of the repo or checked in previously:
          emulab-fs package
      c53d5827
  15. 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
  16. 28 Apr, 2003 1 commit
  17. 11 Apr, 2003 1 commit
  18. 07 Jul, 2002 1 commit
  19. 12 Feb, 2002 1 commit
  20. 16 Oct, 2001 1 commit
  21. 05 Jul, 2001 1 commit
  22. 27 Jun, 2001 1 commit
  23. 15 May, 2001 1 commit
  24. 29 Mar, 2001 1 commit
    • Leigh Stoller's avatar
      A set of change for exporting project and user directories only to · 407cd1ac
      Leigh Stoller authored
      machines in the experiment. exports_setup runs on paper and queries
      the DB, generating a set of export lines. That is sent over to
      plastic, and piped into exports_setup.proxy, which generates a new
      /etc/exports file and restarts mountd. All of the client setup scripts
      have been changed to mount the project and user directories.
      407cd1ac