1. 15 Mar, 2012 1 commit
  2. 01 Feb, 2012 1 commit
    • Mike Hibler's avatar
      Add a VGAONLY attribute to the post-frisbee customization. · 53d43153
      Mike Hibler authored
      This is for BSD, so that we can tweak the default /boot/loader.conf file
      to turn off "comconsole" on machines that don't have a UART.
      In my experience, trying to probe the UART on newer machines that don't
      have one causes a kernel crash.
      
      Currently this attribute is just signalled by the existance of the
      /etc/testbed/isvgaonly file in the diskloader MFS. But this will be
      eventually sent over via "tmcc loadinfo" so that we can set the attribute
      on a per-node-type or per-node basis.
      53d43153
  3. 04 Oct, 2011 1 commit
    • Mike Hibler's avatar
      Add node/node_type attribute "no_clflush". · fdfce71d
      Mike Hibler authored
      This is for FreeBSD to turn off use of the CLFLUSH instruction via the
      hw.clflush_disable loader var. We have encountered some opteron machines
      on which this causes problems.
      
      The attribute can be set for the node_type (via the web page for editing
      node types) or the node (via brute-force SQL hackary) to override whatever
      FreeBSD would do by default. This attribute is passed via tmcd to the
      diskloader MFS which will fixup the loader.conf file post-frisbee.
      fdfce71d
  4. 21 Jul, 2011 1 commit
  5. 02 Feb, 2011 2 commits
  6. 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
  7. 24 Jan, 2011 1 commit
  8. 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
  9. 28 Jun, 2010 1 commit
    • Mike Hibler's avatar
      Fix an argument parsing error. · 122b6fe8
      Mike Hibler authored
      In our sed 's///' commands applied to loadinfo we were assuming that if a
      variable pattern didn't match, we would get back an empty string.  But what
      we really get back is the entire loadinfo string.  Now sure how this ever
      worked (if it ever did!)
      
      Also did the piss-on-it thing.
      122b6fe8
  10. 23 Jun, 2010 1 commit
  11. 13 Nov, 2009 1 commit
  12. 05 Aug, 2009 1 commit
  13. 04 Aug, 2009 2 commits
  14. 24 Mar, 2009 1 commit
  15. 07 Nov, 2008 1 commit
  16. 31 Aug, 2007 1 commit
  17. 30 Aug, 2007 1 commit
  18. 29 Aug, 2007 1 commit
  19. 28 Aug, 2007 1 commit
  20. 23 Aug, 2007 1 commit
  21. 21 Aug, 2007 1 commit
    • Leigh Stoller's avatar
      Another round of widearea node hacking for CMU. These changes add · 99346dc0
      Leigh Stoller authored
      widearea reloading support.
      
      * New slot in the images table to store an access key which remote
        sites must provide in order to download an image (via https).
      
      * tmcd returns a different kind of ADDRESS field from doloadinfo.
        Instead of the multicast stuff, return a URL that points to boss'
        web server. The URL is of the form:
      
         https://www.myemulab.net/spewimage.php?imageid=10013&access_key=abcdef
      
        which as you can see is fully specified; the client does not need
        to know anything else.
      
      * New webpage and backend scripts appropriately called "spewimage"
        which also includes support for the http HEAD request (from wget) to
        avoid downloading images that are already on the node. I just
        learned about this HEAD request stuff today ... but otherwise these
        operate as expected, spewing the image if the access key is provided.
      
      * Changes to rc.frisbee to deal with remote loading. In addition to
        URL support, I also added support for simple paths, the intent being
        that we will probably distribute images offline (say, at night) so
        that when a node reboots it doesn't actually have to wait 60 minutes
        for an image to download. I have not added any server side support
        for this yet though. Maybe later this week.
      
      * Other bits and pieces and fixes to make this work.
      99346dc0
  22. 25 Jun, 2007 1 commit
  23. 01 May, 2007 1 commit
    • Mike Hibler's avatar
      First step is allowing a different "standard" disk layout: · b0e86d9b
      Mike Hibler authored
       * Somewhere in the DB, probably images, we will store the MBR "version"
         required by a partition (non-whole-disk) image.  This info will be
         passed to the client (us).
      
       * We use this info to install the correct MBR on the disk before starting
         frisbee.  The various MBRs (all two of them) will be stored in the
         frisbee MFS since they are only 512 bytes each.
      
      This checkin handles the client-side of things and is backward compatible
      (i.e., assumes MBR version 1 if nothing is passed).
      
      One immediate benefit is that this will allow us to install a partition
      image on a new (or otherwise MBR-free) disk, as it detects the case of no
      MBR and installs one.
      b0e86d9b
  24. 09 Jan, 2007 1 commit
    • Mike Hibler's avatar
      Frisbee MFS changes: · 346c0562
      Mike Hibler authored
       * support FreeBSD 6
       * client-side changes to support enable/disable of ACPI via slicefix
       * use dynamically linked Emulab binaries in frisbee MFS (for size)
      346c0562
  25. 31 Mar, 2006 1 commit
  26. 13 Dec, 2005 1 commit
  27. 19 Aug, 2005 1 commit
  28. 07 Jul, 2005 1 commit
  29. 17 Jun, 2005 1 commit
  30. 11 May, 2005 1 commit
  31. 17 Mar, 2005 1 commit
    • Mike Hibler's avatar
      Partial support for disk-zeroing on experiment termination. · 60e7adb8
      Mike Hibler authored
      I did the "back half" support.  If the 'mustwipe' field is non-zero
      in the reserved table entry for a node then its disk must be zeroed.
      How the zeroing is done, depends on the value of the mustwipe field.
      Right now, '1' means pass the '-z' option to frisbee to have it zero
      all non-allocated blocks.  The value '2' is reserved for enabling a
      "full wipe" pass of the disk before running frisbee, which Keith Sklower
      (DETER) wanted to be able to do.  Note that 1 and 2 are effectively the
      same, if we are loading a full-disk image; i.e. all non-allocated blocks
      from the new image are zeroed.  But if the disk were being loaded with
      a single-partition image, then "frisbee -z" would only wipe unused
      blocks in that partition.
      
      The reload_daemon has been modified to extract the mustwipe info and
      invoke os_load accordingly.   os_load now takes a "-z <type>" option
      to enable the zeroing by setting a value in the current_reloads table.
      tmcd will read and return that info to its caller in the "loadinfo" command.
      Finally, the rc.frisbee script that runs in the frisbee MFS extracts the
      loadinfo info and crafts the frisbee startup command.
      
      What still needs to be done is the "front end," how the user specifies
      the value and how it winds up in the DB reserved table.  This will probably
      involve addition of state to the experiments table as this will likely be
      a per-experiment setting.
      60e7adb8
  32. 10 Nov, 2004 1 commit
  33. 28 Sep, 2004 1 commit
  34. 11 Aug, 2004 1 commit
  35. 07 Jun, 2004 1 commit
  36. 18 May, 2004 1 commit
    • Mike Hibler's avatar
      Fixes for CD boot: · 8174369d
      Mike Hibler authored
      1. tbbootconfig: ensure block is zeroed on first init, fix cut/paste error
      2. rc.frisbee: cleanup interface to slicefix
      3. slicefix: cleanup, make it work correctly, init tbboot block for cd boot
      
      Unrelated:
      1. link-agent makefile: build link-agent when doing client-install
      8174369d
  37. 10 May, 2004 1 commit
    • Leigh Stoller's avatar
      Add makefile support for taking a FreeBSD fixit disk and turning that · c8b47d7d
      Leigh Stoller authored
      into a testbed boot CD in a mostly automated manner. There are still a
      few things that need to be done by hand, which are described in the
      cdboot/README file.
      
      Add tmcd/freebsd/cdboot directory of little scripts and files that
      need to onto the fixit disk.
      
      The install target is cdboot-install (must be run as root) and if you
      are brave enough to run it, you better give it a DESTDIR argument or
      you will write a bunch of files onto the local node that will cause
      mayhem and havoc at the next reboot.
      c8b47d7d
  38. 20 Feb, 2004 1 commit