1. 21 Dec, 2005 10 commits
  2. 20 Dec, 2005 7 commits
  3. 19 Dec, 2005 13 commits
    • Kirk Webb's avatar
      · d6ac9bcd
      Kirk Webb authored
      Ignore a couple of plab nodes with duplicate MAC addrs until they are fixed.
      These nodes won't be available for allocation in the meantime.
      d6ac9bcd
    • Mike Hibler's avatar
      Disable my last hack til I figure out vnodes · 1c15b2f3
      Mike Hibler authored
      1c15b2f3
    • Kirk Webb's avatar
      · a0a39a39
      Kirk Webb authored
      A few fixes for plab.
      
      assign_wrapper:
      
      Assign unique sshd port numbers.  This was only being done for pcvms for some
      reason.
      
      libplab.py:
      
      Make 'nobody' the contact uid for newly createed plab nodes (instead of
      Brent Chun).
      
      rc.inplab"
      
      Create /local/logs inside plab vservers.
      a0a39a39
    • Dan Gebhardt's avatar
      Added a signal handler to "main" to dump the "current stats" of the logging. · a50f8f5a
      Dan Gebhardt authored
      The actual dump routine still needs to be added.
      a50f8f5a
    • Leigh B. Stoller's avatar
      d2ede4b9
    • Mike Hibler's avatar
    • Kevin Atkinson's avatar
      · 45f997fd
      Kevin Atkinson authored
      Updates to to Error Logging API Code.
      
      You should start seeing much better error messages coming from my
      system.  Errors coming from parse.proxy and assign (the two most
      frequent sources of errors) should now be concise and to the point.
      Errors coming from libosload/libreboot (the next most frequent source
      of errors) should now also be much better, but not perfect.  Getting
      perfect errors will likely a rework of how errors are handled in
      libosload/libreboot, just adding tberror/tbwarn/tbnotice calls is not
      enough.  I can do this at a latter date if necessary.
      
      A few minor database changes.
      
      Some changes to the API.  A few bug fixes. Lots of tberror/tbwarn/tbnotice
      added to scripts.
      
      Since assign is a C program, and at this time my API is perl only, I wrote a
      second wrapper around assign, assign_wrapper2.  When assign fails errors are
      now parsed in assign_wrapper2, sent to stderr and logged.  This means that
      RunAssign() just returns when assign fails rather than echoing some of
      assign.log output and then quiting.  The output to the activity log remains
      unchanged.
      
      Since "parse.proxy" is run from ops I couldn't use my API in it, even though
      it is a perl program.  Instead I parse the errors coming form it in
      parse-ns.
      45f997fd
    • Leigh B. Stoller's avatar
      Add some simple support for capturing external files that are included · 95ec7066
      Leigh B. Stoller authored
      into the main NS files via the "source" command, and stuffing them
      into the experiment archive.
      95ec7066
    • Leigh B. Stoller's avatar
      Add support for moving deleted users to a deleted users table. This · b4231fbf
      Leigh B. Stoller authored
      would be no big deal, except that we want to retain user_stats for
      deleted users, and rather then a deleted_user_stats table, I want to
      retain stats for deleted users in the user_stats table, since that
      is a more natural place for them.
      
      The main problem is that we use the login (uid) as the cross table
      reference slot all over the DB, which is fundamentally incorrect, if
      we want to be able reuse uids and still know what historical data
      refers to.
      
      So, I have taken a few baby steps towards weaning us off the uid, and
      towards permanently unique key for users, using the unix_uid integer
      for now, but probably something slightly different later.
      
      The user_stats is now indexed on this new key (called uid_idx in the
      users_stats table) instead of the plain uid.
      
      The unix_uid slot in the users table is no longer an auto_increment
      field, but instead uses the emulab_indicies table for the next
      available index.
      b4231fbf
    • Mike Hibler's avatar
      Subject all "testbed" experiments to swapout state saving · d29f8858
      Mike Hibler authored
      (actually just stats gathering right now, no images are produced)
      d29f8858
    • Timothy Stack's avatar
      909ee037
    • Mike Hibler's avatar
      64526bc6
    • Mike Hibler's avatar
      070cd1f0
  4. 18 Dec, 2005 1 commit
    • Leigh B. Stoller's avatar
      Move the bulk of what was in showlogfile, into showlogfile_sup, so · 41f4d6a5
      Leigh B. Stoller authored
      that it can be "included" into other scripts; showlogfile, beginexp,
      swapexp, modifyexp, endexp.
      
      Each of these scripts now appends the showlog directly to the page,
      instead of providing a link to a different page.
      
      Also changed the showlog code to place the output into an inner iframe
      so that it can be sized to fit in the window, without the outer stuff
      (like the menus) getting scrolled away.
      41f4d6a5
  5. 16 Dec, 2005 9 commits
    • Mike Hibler's avatar
      Don't be quite so stupid with memory allocation. I was realloc'ing the · 01585b4b
      Mike Hibler authored
      array for every 32-byte entry.  When building a hashfile with 100,000+
      entries, this caused quite a bit of moving memory around!
      
      It is still stupid, I just realloc after every 256KB or so.  Need to
      eliminate the need to have the whole thing contiguous and maybe the need
      to have the whole thing in memory at once!
      01585b4b
    • Leigh B. Stoller's avatar
      Add support for pre-reserving nodes. New link off the ShowNode page · e49e2f9a
      Leigh B. Stoller authored
      allows takes you to new (admin only) page to select a project that
      node will be reserved for.
      
      * The node is not actually *reserved*, it is *pre* reserved! The node
        stays in the free pool, and is available only for use in the project
        to which it is reserved.
      
      * The node can already be reserved to some other project when you
        pre-reserve it. It is not until the current owner releases the node
        that the pre-reservation takes effect.
      
      * The node free counts (on the web pages) count a free a node with a
        pre-reservation, as allocated. This way people do not see a free
        count that includes a node they will never be able to get.
      e49e2f9a
    • Mike Hibler's avatar
      Generate makefile for imagezip/hashmap stuff · 576ec174
      Mike Hibler authored
      576ec174
    • Mike Hibler's avatar
    • Mike Hibler's avatar
    • Mike Hibler's avatar
      Add support for creating a "delta" image from a hash signature file · aa5491b1
      Mike Hibler authored
      (as generated by imagehash).  This is Mike's piss-all-over-it version of
      Prashanth's implementation of Mike's algorithm.  Delta images are created
      by specifying "-H <sigfile>" on the command line.
      
      This is still experimental.
      aa5491b1
    • Kirk Webb's avatar
      · 652f3592
      Kirk Webb authored
      Fix plab rootball distribution scripts.
      652f3592
    • Robert Ricci's avatar
      The beginnings of a toy version of assign written in Comet. I'm · ef81939b
      Robert Ricci authored
      working on getting a feeling of whether or not it's feasible to
      implement assign in Comet. I think if it is, it would be a huge win in
      terms of maintainability and extensibility.
      
      So far, it's looking very promising. I'm struggling a bit with the
      syntax, and the lack of an API reference. But, once I figure out how
      to do what I need, it's making a lot of sense.
      
      All this program does so far is try to respect the number of slots on
      physical nodes - ie. not assign more than one vnode to a pnode, but it
      can do arbitrary numbers instead of just 1.
      
      It does not read top/ptop files, doesn't know about types, doesn't try
      to minimize any score, doesn't do features/desires, doesn't know about
      links at all, etc. Like I said, it's the beginnings of a toy program.
      
      It looks to me like what we're going to end up doing is writing a
      program to produce Comet programs. One of the cool things about this
      is that it means we can leave out any constraints, etc. that are not
      relevant to the particular mapping problem at hand. And, it should
      make it easy for us to plug in other search techniques (ie. write the
      obvious ones for certain pathological cases, like snakes and
      trees.)
      ef81939b
    • Mike Hibler's avatar