1. 11 Aug, 2011 1 commit
    • Mike Hibler's avatar
      Initial support for loading Windows7 .wim images via WinPE/ImageX. · ac711ea5
      Mike Hibler authored
      1. Support for "one-shot" PXE booting ala the one-shot osid. Switches to
         pxelinux to boot WinPE and then switch back after done. Painful now
         because we have to HUP dhcpd everytime we change the PXE path, but we
         may be able to fix this in the future by going all-pxelinux-all-the-time.
      
      2. Added pxe_select, analogous to os_select, for changing the pxe_boot_path
         including the one time path.
      
      3. Added the WIMRELOAD state machine to shepherd a node through the process.
         Still has some rough edges and may need refining.
      ac711ea5
  2. 09 May, 2011 1 commit
  3. 18 Feb, 2011 1 commit
  4. 09 Feb, 2011 2 commits
  5. 18 Jan, 2011 1 commit
  6. 22 Dec, 2010 1 commit
    • David Johnson's avatar
      Misc fixes. · 12005979
      David Johnson authored
      File::stat doesn't work; CORE::stat does, so switch out File::stat.
      
      Bugfixes for access_keys stuff -- syntax!
      
      Add pcRemote stub class; just inherits from pc class.
      12005979
  7. 20 Dec, 2010 1 commit
  8. 11 Nov, 2010 1 commit
  9. 09 Nov, 2010 1 commit
  10. 08 Nov, 2010 1 commit
    • David Johnson's avatar
      If we don't flash the switch, restore its osid/partition info. · 7f5fa6bf
      David Johnson authored
      If a switch reload fails, and we're sure we didn't flash the
      switch, then revert the changes to osid info in the nodes table
      and the partitions table entries.  This way, we don't lie about
      what's actually on the switch.  Otherwise, there could be a
      problem on a subsequent reload -- a user could request something
      that failed to load last time, but Emulab thinks that's what's
      really on the switch, so it doesn't reload... but that wasn't
      really what was installed on the switch.  So, this will help
      us stay in synch.
      
      Also remove all the os_select script invocations in favor of
      using the Node->OSSelect method instead.  Save a fork, save a
      life.
      7f5fa6bf
  11. 04 Nov, 2010 1 commit
    • David Johnson's avatar
      libosload rewrite and HP Procurve switch support. · 7cfa7aa6
      David Johnson authored
      libosload_new contains the new libosload.  It provides the same
      API as the original libosload, but the functionality has been
      split out into well-defined methods that can be overridden by
      per-node type subclasses in small chunks.  This is all protected
      by the NewOsload feature.
      
      libosload_switch.pm.in and libossetup_switch.pm.in contain the HP
      switch support, which requires the new libosload and new
      libossetup.  libossetup_switch doesn't do anything too radical, but
      it does support running a node it is "lighting up" through multiple
      operations -- i.e., first a RELOAD, then a RECONFIG.  This was
      necessary because switches require a config to be pushed to them
      (well, they do in the way I elected to support them), and they
      cannot fetch configuration in the normal Emulab way via tmcd.
      
      Eventually, that multi-op support will be factored out into
      libossetup more generically so that other node types which require
      push-based configuration can leverage it.
      
      libosload_switch contains the HP switch loading code.  It's built
      around expect-like interaction on the serial console.  It supports
      xmodem and tftp uploads, but tries to only flash the switch lazily.
      Thus, if the switch is already loaded with an image and a user
      (or the reload daemon, or anybody) reloads it with the same image,
      it won't actually get reloaded.  You can now force this reload
      with os_load.
      
      libosload_switch also contains reconfig code (i.e., to wipe
      switch configs and recreate based on which experiment it is in).
      libossetup_switch directly invokes this instead of going through
      libosload, since configuring is not really part of loading.  It
      is just convenient since configuration also happens over the
      serial console, and all the osload code for the switch can be
      reused.
      
      Also, of course, there are miscellaneous changes to support the
      new libosload in os_load itself.
      7cfa7aa6