1. 10 Aug, 2011 1 commit
  2. 25 May, 2011 1 commit
  3. 16 May, 2011 1 commit
  4. 11 May, 2011 1 commit
  5. 25 Apr, 2011 1 commit
    • David Johnson's avatar
      Split out a ResetNextOpMode method from OSSelect (which now calls it). · 5d54f373
      David Johnson authored
      This allows other things that don't need to change the OS, but *do* need
      to make sure that a mode transition gets setup if necessary, to setup that
      transition too.  Currently the only case that needs this is push-based
      reloads, when the reload has been setup (and then not performed because it
      was optimized away).
      5d54f373
  6. 06 Apr, 2011 1 commit
  7. 05 Apr, 2011 1 commit
  8. 10 Mar, 2011 1 commit
    • Mike Hibler's avatar
      (Hopefully) temporary hack to detect null chars in node_ids in the nodes table. · 84ea58dc
      Mike Hibler authored
      This is completely reactive and based on no reasoning. A common case of the
      somebodys-been-messin-with-my-memory bug, is that we start seeing node_ids
      with null chars at the end. Here we will send a stack trace to testbed-ops
      if this happens (and we strip off the null). I am hoping to narrow down
      where this happens.
      84ea58dc
  9. 18 Feb, 2011 1 commit
  10. 16 Feb, 2011 2 commits
  11. 10 Dec, 2010 1 commit
  12. 07 Dec, 2010 1 commit
  13. 04 Nov, 2010 1 commit
  14. 15 Oct, 2010 1 commit
    • Mike Hibler's avatar
      Add autoconf variable to control use of SelfLoader. · da55641a
      Mike Hibler authored
      This is a fer-now hack.  Perl 5.10 has issues with bogus taint check
      triggers that appear quite often when using the SelfLoader.  Now if you put:
          SELFLOADER_DATA=""
      In your defs-* file, it will disable the uses that cause problems.  Yes,
      the configure script should figure out if this is needed for you, but...
      another time.
      da55641a
  15. 14 Oct, 2010 2 commits
  16. 11 Oct, 2010 1 commit
    • Leigh B Stoller's avatar
      Work on an optimization to the perl code. Maybe you have noticed, but · 92f83e48
      Leigh B Stoller authored
      starting any one of our scripts can take a second or two. That time is
      spent including and compiling 10000s of thousands of lines of perl
      code, both from our libraries and from the perl libraries.
      
      Mostly this is just a maintenance thing; we just never thought about
      it much and we have a lot more code these days.
      
      So I have done two things.
      
      1) I have used SelfLoader() on some of our biggest perl modules.
         SelfLoader delays compilation until code is used. This is not as
         good as AutoLoader() though, and so I did it with just a few 
         modules (the biggest ones).
      
      2) Mostly I reorganized things:
      
        a) Split libdb into an EmulabConstants module and all the rest of
           the code, which is slowly getting phased out.
      
        b) Move little things around to avoid including libdb or Experiment
           (the biggest files).
      
        c) Change "use foo" in many places to a "require foo" in the
           function that actually uses that module. This was really a big
           win cause we have dozens of cases where we would include a
           module, but use it in only one place and typically not all.
      
      Most things are now starting up in 1/3 the time. I am hoping this will
      help to reduce the load spiking we see on boss, and also help with the
      upcoming Geni tutorial (which kill boss last time).
      92f83e48
  17. 03 Sep, 2010 1 commit
  18. 22 Jul, 2010 1 commit
  19. 19 Jul, 2010 2 commits
  20. 23 Jun, 2010 1 commit
  21. 12 May, 2010 1 commit
  22. 10 May, 2010 1 commit
  23. 13 Apr, 2010 1 commit
  24. 25 Mar, 2010 1 commit
  25. 23 Feb, 2010 1 commit
  26. 23 Dec, 2009 1 commit
  27. 22 Dec, 2009 5 commits
  28. 21 Dec, 2009 1 commit
    • Leigh B. Stoller's avatar
      New approach to dealing with nodes that fail to boot is os_setup, and · 5cf6aad2
      Leigh B. Stoller authored
      land in hwdown.
      
      Currently, if a node fails to boot in os_setup and the node is running
      a system image, it is moved into hwdown. 99% of the time this is
      wasted work; the node did not fail for hardware reasons, but for some
      other reason that is transient.
      
      The new approach is to move the node into another holding experiment,
      emulab-ops/hwcheckup. The daemon watches that experiment, and nodes
      that land in it are freshly reloaded with the default image and
      rebooted. If the node reboots okay after reload, it is released back
      into the free pool. If it fails any part of the reload/reboot, it is
      officially moved into hwdown.
      
      Another possible use; if you have a suspect node, you go wiggle some
      hardware, and instead of releasing it into the free pool, you move it
      into hwcheckup, to see if it reloads/reboots. If not, it lands in
      hwdown again. Then you break out the hammer.
      
      Most of the changes in Node.pm, libdb.pm, and os_setup are
      organizational changes to make the code cleaner.
      5cf6aad2
  29. 12 Oct, 2009 1 commit
    • David Johnson's avatar
      Add the ability to load images on virtnodes. For now, we just overload · c6c57bc9
      David Johnson authored
      the tb-set-node-os command with a second optional argument; if that is
      present, the first arg is the child OS and the second is the parent OS.
      We add some new features in ptopgen (OS-parentOSname-childOSname) based
      off a new table that maps which child OSes can run on which parents, and
      the right desires get added to match.  We setup the reloads in os_setup
      along with the parents.  Also needed a new opmode, RELOAD-PCVM, to handle
      all this.
      
      For now, users only have to specify that their images can run on pcvms, a
      special hack for which type the images can run on.  This makes sense in
      general since there is no point conditionalizing childOS loading on
      hardware type at the moment, but rather on parentOS.  Hopefully this stuff
      wiill mostly work on shared nodes too, although we'll have to be more
      aggressive on the client side garbage collecting old frisbee'd images for
      long-lived shared hosts.
      
      I only made these changes in libvtop, so assign_wrapper folks are left in
      the dark.
      
      Currently, the client side supports frisbee.  Only in openvz for now, and
      this probably breaks libvnode_xen.pm.  Also in here are some openvz
      improvements, like ability to sniff out which network is the public
      control net, and which is the fake virtual control net.
      c6c57bc9
  30. 24 Sep, 2009 1 commit
  31. 23 Jul, 2009 1 commit
  32. 15 Jul, 2009 1 commit
    • Leigh B. Stoller's avatar
      Add MaxShareCount() method to get the pcvm share count. · af2d65cb
      Leigh B. Stoller authored
      Add checks in CreateVnodes() to make sure that when creating
      a vnode on a node, it is either reserved to the experiment or
      is a shared experiment. This check is after the table lock to
      avoid races with the shared pool expanding and contracting.
      af2d65cb
  33. 09 Jul, 2009 1 commit