1. 10 Jun, 2015 1 commit
  2. 06 May, 2015 1 commit
  3. 06 Apr, 2015 1 commit
  4. 05 Nov, 2014 1 commit
  5. 20 Oct, 2014 3 commits
  6. 31 Jul, 2014 1 commit
  7. 01 Jul, 2014 1 commit
  8. 27 Jun, 2013 1 commit
  9. 19 Jun, 2013 1 commit
  10. 17 Jun, 2013 1 commit
  11. 08 Jun, 2013 1 commit
  12. 04 Jun, 2013 1 commit
  13. 28 May, 2013 1 commit
  14. 23 May, 2013 1 commit
  15. 30 Apr, 2013 1 commit
  16. 11 Apr, 2013 1 commit
  17. 04 Apr, 2013 1 commit
  18. 29 Mar, 2013 1 commit
  19. 01 Mar, 2013 1 commit
  20. 18 Jan, 2013 1 commit
    • Kirk Webb's avatar
      Tweak to make "libossetup_blockstore" stub class work. · c351215e
      Kirk Webb authored
      This stub was previously using libossetup_subnode as its base class,
      but the constructor was calling the base class constructor with a
      "type" parameter, where the base class did not have a corresponding
      argument.  This commit changes the stub class for blockstores to
      refer directly to libossetup_handler instead.  We can sort out
      whether going through some sort of "libossetup_subnode" base class
      makes sense a bit later.
      (cherry picked from commit 89fb668999deb76913957a8abd8950f8b60eccaf)
      c351215e
  21. 10 Jan, 2013 1 commit
  22. 14 Nov, 2012 1 commit
    • Leigh B Stoller's avatar
      Move rpm/tar download from boss to ops, to avoid wasted network traffic. · f37cd9dc
      Leigh B Stoller authored
      To turn this option on, define SPEWFROMOPS=1 in your defs file. This
      will result in a redirect message from boss which will send the wget
      client over to ops. 
      
      A perl setuid root cgi script is run from the webserver on ops when a
      /spewrpmtar request is made. This script sends the key,nodeid,file
      over to boss via XMLRPC (as elabman). The return is simple yes or no,
      the caller is allowed (not allowed) to have that file. Since the
      ops script runs as root, it can spew the file back to the caller.
      
      Note that the elabinelab checks for the elabinelab source code are
      gone; we are now open source. Also, we spew that file from /share now,
      to be consistent.
      f37cd9dc
  23. 25 Sep, 2012 1 commit
    • Mike Hibler's avatar
      Logic for making osload failures non-fatal when nonfatal failure mode is set. · 783d3caf
      Mike Hibler authored
      Previously tb-set-node-failure-mode of "nonfatal" only applied to failures
      when rebooting a node. If there was an error during the disk reload phase,
      the experiment would still fail.
      
      This makes sense, as it is pretty dicey to let a node boot with an unloaded
      or partially-loaded disk. But there are situations, such as 500+ node
      experiments on PRObE, where it makes sense to not fail the experiment.
      
      What we do if a node fails reload, is to clear the OSIDs and partition info
      for the node and then force it to reboot (by setting the state to TBFAILED,
      for which there is a REBOOT trigger in stated). This causes the node to come
      up and park in pxeboot in the PXEWAIT state. It should remain in this state
      across reboots. The user can manually os_load the machine, or do a swap
      modify which will force the node to try to reload the original OS.
      
      Since this may not be for everyone, this new allow non-fatal osload failures
      requires that the "OsloadFailNonfatal" feature be enabled. This allows the
      new behavior to be global, per-group, per-experiment or per-user. The default
      is disabled.
      783d3caf
  24. 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
  25. 23 Jul, 2012 1 commit
  26. 16 Feb, 2012 1 commit
  27. 23 Jan, 2012 1 commit
  28. 02 Dec, 2011 1 commit
    • Leigh B Stoller's avatar
      Minor changes so that we can allow the subos map to be used for · fb5fb526
      Leigh B Stoller authored
      determining the jailosid for "static" images like OPENVZ-STD. For
      example:
      
      	tb-set-hardware $n1 d710-vm
      	tb-set-node-os $n1 OPENVZ-STD FEDORA15-64-OVZ-STD
      
      The main point is that OPENVZ-STD is a placeholder with no associated
      image. It exists to tell the mapper and osload what to do. This is
      accomplished with nextosid. The new approach makes things consistent
      with subos stuff.
      fb5fb526
  29. 11 Nov, 2011 1 commit
  30. 08 Nov, 2011 1 commit
  31. 10 Aug, 2011 1 commit
  32. 04 Jan, 2011 2 commits
  33. 07 Dec, 2010 1 commit
  34. 12 Nov, 2010 1 commit
    • David Johnson's avatar
      Bugfix, and protect switch flashes via feature. · 1ca84a0d
      David Johnson authored
      We now protect switch reloads via the SwitchFlash feature.  We
      don't really give people a lot of advance warning about this,
      and we wait long enough that it will irritatingly fail your
      experiment swapin.  Ideally we should check before anything
      starts happening, but we don't know if we *have* to reload
      until we see what's on the nswitch node that gets allocated
      to us... and by the time nodes are allocated, I think they
      end up having to go through reloading if *any* of them fails.
      Not sure though.
      
      Also fixup handling of multiple libossetup_switch ops; if one
      fails, abort the list instead of continuing on.
      1ca84a0d
  35. 11 Nov, 2010 1 commit
  36. 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
  37. 20 Oct, 2010 1 commit