1. 21 Apr, 2011 1 commit
  2. 15 Apr, 2011 1 commit
  3. 03 Apr, 2011 1 commit
    • David Johnson's avatar
      Add domanifest command. · a12ed9ed
      David Johnson authored
      domanifest returns service configuration info (both static,
      administrator info and per-experiment info), and also service hook
      configuration.
      a12ed9ed
  4. 09 Mar, 2011 1 commit
  5. 16 Feb, 2011 1 commit
    • Mike Hibler's avatar
      Frisbee master server compatibility mode fix for vnodes. · a173e553
      Mike Hibler authored
      The mserver wants to validate nodes by looking up their IP address in the
      interfaces table, and vnodes have no interfaces table entries.  So when we
      invoke the frisbeehelper in compat mode, do so with the pnode identity
      instead. For validation purposes, this is identical.
      
      Is this an issue for non-compat mode? Not right now since all our vnode
      implementations that load images make their loadinfo request from the
      physical host.  If vnodes start to call the master server on boss directly,
      we will have an issue.
      a173e553
  6. 08 Feb, 2011 1 commit
  7. 03 Feb, 2011 1 commit
  8. 01 Feb, 2011 1 commit
    • Mike Hibler's avatar
      Implement limited backward compatibility with the old frisbee setup. · 1017ccce
      Mike Hibler authored
      The big backward compatibility issue is that we no longer store running
      frisbeed info in the DB.  This means that loadinfo could not return
      address:port info to clients and thus old frisbee MFSes could no longer
      work.  While not a show stopper to require people to update their MFS first,
      I made a token effort to implement backward compat as follows.
      
      When an old frisbee MFS does "tmcc loadinfo" (as identified by a tmcd
      version < 33), tmcd will invoke "frisbeehelper" to startup a daemon.
      Sound like frisbeelauncher?  Well sorta, but vastly simplified and I only
      want this to be temporary.  The helper just uses the frisbee client to make
      a "proxy" request to the localhost master server.  The Emulab configuration
      of the master server now allows requests from localhost to proxy for another
      node.
      
      frisbeehelper is also used by webfrisbeekiller to kill a running daemon
      (yes, just like frisbeelauncher).  It makes a proxy status request on
      localhost and uses the returned info to identify the particular instance
      and kill it.
      1017ccce
  9. 19 Jan, 2011 1 commit
  10. 11 Jan, 2011 1 commit
    • Mike Hibler's avatar
      More work toward getting this working on subboss. · 8d80301e
      Mike Hibler authored
      More work on the hierarchical configuration for subboss. When doing host-based
      authentication, allow client to pass an explicit host (IP) to the mserver.
      If the mserver is configured to allow it, that IP is used for authenticating
      the request instead of the caller's IP. Add a default ("null") configuration
      so the mserver can operate out-of-the-box with no config file. The goal of
      these two changes is for an mserver instance with the default config and a
      proxy option to serve the needs of a subboss node (i.e., so no explicit
      configuration will be needed).
      8d80301e
  11. 07 Dec, 2010 4 commits
  12. 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
  13. 12 Nov, 2010 1 commit
  14. 09 Nov, 2010 2 commits
  15. 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
  16. 18 Oct, 2010 1 commit
  17. 12 Oct, 2010 1 commit
    • Cody Cutler's avatar
      This reverts commit 0450a43c. · 4cbd3447
      Cody Cutler authored
      This patch added a bunch of NULL checks throughout TMCD.  While most of
      the NULL checks did handle it properly some didn't, so I'd rather leave
      it all be and let it be fixed properly later.
      
      Such a patch shouldn't be snuck in with all the TDLS changes, anyway.
      
      Conflicts:
      
      	tmcd/tmcd.c
      4cbd3447
  18. 11 Oct, 2010 1 commit
  19. 29 Sep, 2010 1 commit
  20. 31 Aug, 2010 1 commit
  21. 23 Aug, 2010 1 commit
  22. 03 Aug, 2010 1 commit
  23. 14 Jul, 2010 1 commit
  24. 23 Jun, 2010 1 commit
  25. 22 Jun, 2010 1 commit
  26. 16 Jun, 2010 1 commit
  27. 11 Jun, 2010 1 commit
  28. 28 May, 2010 2 commits
  29. 26 May, 2010 1 commit
    • Cody Cutler's avatar
      Roll my own ASCII to binary conversion and put quote size back to 1024 · 3a97b620
      Cody Cutler authored
      sscanf() with "%2x" requires an unsigned int * and writes sizeof(int) to
      the pointer.  I made my own conversion because we were writing NULLs to
      neighbor strings since we were passing characters to sscanf() and the
      remaining three bytes were 00.  I feel there must be a library function
      to do this two character ASCII to byte conversion though.
      
      I forgot that the quote would be written in ASCII so I have to double
      quote's size.
      3a97b620
  30. 25 May, 2010 2 commits
  31. 24 May, 2010 2 commits
    • Robert P Ricci's avatar
      Small bugfixes · f0b88b9e
      Robert P Ricci authored
      f0b88b9e
    • Robert Ricci's avatar
      Beginnings of an 'imagekey' command · 28eef73c
      Robert Ricci authored
      Returns the decryption key for an image from a new database
      column.
      
      Requires TPM client authentication, and requires that the node
      be in the correct (currently hardcoded) state, which requires
      a TPM quote to get into.
      28eef73c
  32. 22 May, 2010 1 commit
    • Cody Cutler's avatar
      Fix a bunch of NULL pointers · 0450a43c
      Cody Cutler authored
      strncmp and sscanf will segfault if you give them a NULL pointer.  This
      patch doesn't really change behavior but we shouldn't really be
      segfaulting!
      
      If anything it logs an error message instead of mysteriously dying with
      "status 11"!
      0450a43c
  33. 21 May, 2010 1 commit