1. 07 Jun, 2019 1 commit
  2. 02 Jan, 2019 1 commit
  3. 30 Jul, 2018 1 commit
  4. 22 Nov, 2017 1 commit
  5. 21 Aug, 2017 1 commit
  6. 15 Feb, 2017 1 commit
  7. 12 Sep, 2016 2 commits
    • Mike Hibler's avatar
      Modify NOVIRTNFSMOUNTS to allow mounts on vnodes with routable IPs. · 470a81e5
      Mike Hibler authored
      This is different than the traditional behavior of this defs- variable.
      Previously it caused tmcd to not expose any NFS mounts to shared-host vnodes.
      We relax that now to allow exposing such mounts to vnodes with routable IP
      addresses.
      
      The rationale for this change is simply that the original option was only
      intended to prevent exporting mounts to hosts that could not reach the FS
      node anyway due to their unroutable cnet IPs.
      470a81e5
    • Mike Hibler's avatar
      Make exports_setup consistent with tmcd w.r.t. NOVIRTNFSMOUNTS. · 7ba4cfd0
      Mike Hibler authored
      Previously, we would not pass the mounts via tmcd but they were still
      exported from fs.
      7ba4cfd0
  8. 29 Jul, 2016 3 commits
  9. 10 Jun, 2016 2 commits
  10. 08 Dec, 2015 1 commit
  11. 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
  12. 14 Apr, 2015 1 commit
  13. 10 Apr, 2015 1 commit
  14. 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
  15. 29 Jan, 2015 1 commit
  16. 13 Jan, 2015 1 commit
  17. 12 Jan, 2015 1 commit
  18. 08 Jan, 2015 5 commits
  19. 07 Jan, 2015 2 commits
  20. 06 Jan, 2015 1 commit
  21. 22 Dec, 2014 2 commits
  22. 06 Nov, 2014 1 commit
  23. 11 Jun, 2014 1 commit
  24. 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
  25. 25 Sep, 2012 1 commit
  26. 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
  27. 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
  28. 21 Apr, 2011 1 commit
  29. 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
  30. 04 Mar, 2010 1 commit