1. 21 May, 2003 4 commits
    • Leigh B. Stoller's avatar
      Minor stats changes for dealing with swapmodify; be sure to credit for · cb309ff2
      Leigh B. Stoller authored
      each portion of the experiment as it is modified.
      Also add expt_swap_uid so that we know who did the last operation, and
      so we can charge/credit the right person. So, if joe swaps in the
      experiment and jane swaps it out, joe gets charged. If jane swaps in
      the experiment and joe modifies it, jane gets credit for the first
      portion, and joe will later get charged for the second portion.
      Took longer to explain then to implement ...
    • Chad Barb's avatar
      · f3a7da49
      Chad Barb authored
      Changed submit button to work on NS4.7
      (by using <input type='submit'> instead of <button>)
      for our retrocomputing friends.
    • Mac Newbold's avatar
      Cut down the default number of records, to get the page load time under 10 · 9cc5955f
      Mac Newbold authored
      seconds (on a DSL line). (Also decreases db load...)
      Some of the defaults were as high as 400 records. Dropping them to 100
      took the generated page from over 100KB to 31KB.
      Later (someday) we can add stuff to easily change the number of records
      you request, and perhaps even change the starting point to something
      other than the most recent stuff.
    • Leigh B. Stoller's avatar
  2. 20 May, 2003 10 commits
    • Mac Newbold's avatar
      Back out last set of changes until we figure out some odd behaviors that I · 1934cc59
      Mac Newbold authored
      didn't see in testing. Specifically, why it pegs at 100% CPU after a
      while, and why it gets timeouts after it has removed the timeout from the
    • Chad Barb's avatar
      · fc1f5080
      Chad Barb authored
      Temporarily make TCSH the only option until Leigh gets new images
    • Chad Barb's avatar
      · 4df405d6
      Chad Barb authored
      Users can, via, moduserinfo, set a preferred shell.
      One of {tcsh, bash, csh, sh}.
      When users are created, they are given tcsh.
      All users which already exist have been given tcsh.
    • Mac Newbold's avatar
      Bunch of pretty good-sized changes to stated: · b438d5f5
      Mac Newbold authored
      1. Change from inefficient timeout search algo that ran once per second to
      a highly efficient priority queue method of managing timeouts. Now
      instead of checking every node's timestamps, we just look at the head of
      the queue, and it is often much less frequent than once a second, since we
      know how long we have until the next timeout.
      2. Start using a blocking poll for events, so I can sleep for long periods
      of time instead of having to wake up at least once a second to check for
      timeouts and events. Will set the block timeout for the shortest of: the
      time to send out the next batch of queued emails, the next time a timeout
      may occur, or when there are no mails waiting and no timeouts possible, 10
      minutes. Comes back as soon as an event comes in.
      3. Given the above two items, we no longer need a sleep(1) in our main
      One small glitch is in the progress of being fixed. When using blocking
      polls, things hang when trying to unregister from the event system. Not a
      big deal, just ^C twice to kill it. (May cause it to need two SIGUSR1's
      to get it to restart, too.)
      In the next update, look for:
       - Really take action on timeouts.
         - keep track of how many times we've retried, and notify if something
           may be wrong with the node.
         - Find out policy on taking action with timeouts.
           - Do it if the expt is in transition or the node is free
           - Probably don't touch if the expt is established.
           - Maybe? in active expt, send (good) email to expt owner on timeouts
      Related "coming soon" items:
      os_load/os_setup etc.:
       - Add the waitforstate stuff we've talked about
       - make os_load/os_setup use it
    • Mac Newbold's avatar
      Add TimeoutQueue.pm - an implementation of a priority queue, customized to · 6c10de1a
      Mac Newbold authored
      be quick and efficient for the types of operations that stated needs to
      make with its timeout queue. But still pretty general, I think.
    • Robert Ricci's avatar
    • Leigh B. Stoller's avatar
      Remove expt_started from showexp info. This is used solely by the batch · 3257dc05
      Leigh B. Stoller authored
      system now to do scheduling. Instead just show last swap/modify time,
      along with the uid of the person who did it.
      Report on per-class node counts instead of the total number, since
      with virtual nodes it is better to split that number up.
    • Leigh B. Stoller's avatar
      Change traffic shaping control link name to be less confusing as · 90653ba4
      Leigh B. Stoller authored
      per Shashi's request.
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
  3. 19 May, 2003 6 commits
    • Leigh B. Stoller's avatar
      Mark the veth_interface with its jail vnode node so that tmcd knows · 8ff5d76a
      Leigh B. Stoller authored
      what veth interfaces belong to which jail node.
    • Robert Ricci's avatar
      More steps in the auto-configuration of new nodes. · 08ae4de5
      Robert Ricci authored
      newnodecheckin.php accepts some information about a new node, tries to
      figure out a node_id, IP, type, etc. for them, sticks this into the
      new_ tables, then alerts testbed-ops. Another (not yet created) page
      will be used to make the new node a real boy.
      newclient will run from a (not yet created) MFS - it collects various
      data about the node, like its MAC, runs teachswitch, and checks in
      via newnodecheckin.php .
    • Leigh B. Stoller's avatar
      Add expt_swap_uid to experiments table so we can track last person · 1db2c02c
      Leigh B. Stoller authored
      to swap in/out/modify an experiment, so we can do proper accounting.
    • Leigh B. Stoller's avatar
      Minor changes. · ef27ae3c
      Leigh B. Stoller authored
      dojailconfig: Do not return a jail config unless the node is really
      doifconfig: Look at the node name, and return ifconfig info specific
      to the name instead of always returning all info for the machine. Upon
      boot, virtual interfaces will not be setup, but instead will be setup
      when the jail is setup. When the jail requests ifconfig info, it gets
      only its list of interfaces to setup.
      dolinkdelays: Ditto, since linkdelays will be setup after per-jail
      interfaces are setup.
    • Mac Newbold's avatar
      Fix a slight race condition that has already bitten us several times in · 0610d389
      Mac Newbold authored
      real life.
      There's a small window in time (typically a few seconds, but maybe 10's of
      seconds on occasion) between the time nodes get nalloc'd and the time they
      get rebooted during a swapin. If idlemail runs (or someone views a web
      page) during this time, the expt can appear idle because the nodes haven't
      had any activity. It can cause an incorrect email or a false positive on
      the web page.
      The fix is to have nalloc register some external node activity, like
      node_reboot does, when it allocates a node.
    • Leigh B. Stoller's avatar
      Fix cut/paste error. · 85c64a0c
      Leigh B. Stoller authored
  4. 16 May, 2003 4 commits
  5. 15 May, 2003 11 commits
    • Mac Newbold's avatar
      Fix the relogin stuff according to a couple of requests: · 37db313e
      Mac Newbold authored
       - Don't use the image, just use a text link. (Note: the text link in the
         middle is different than the button link on the left, since the button
         doesn't set refer=1.) (From Rob/Chad)
       - Don't jump back into admin mode just because I was before. Let it dump
         me back to green dot when I log back in. (From Leigh)
    • Chad Barb's avatar
      · 484921c1
      Chad Barb authored
      Linked in publications and classes under
      new "Emulab Users" top-level menu item.
      Moved project list from the top-level underneath this.
      For non-Utah emulabs, the project list remains
      on the top level.
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Add vnode to veth_interfaces. This serves to distinguish veths for · 01432ea6
      Leigh B. Stoller authored
      jailed nodes from veths for plain emulated links between phys nodes,
      which we might generally allow at some point for supporting emulated
      links (rather than using IP aliases). My plan is to use this im tmcd
      to determine what ifconfig returns; no point in returning jailed veth
      configuration when the node boots, but should wait until the jail is
      setup (this is further complicated by rtabids, but thats another
    • Chad Barb's avatar
      · 40da66fc
      Chad Barb authored
      Some changes Jay wanted,
      plus put some of the "H" in HTML (links to papers).
    • Leigh B. Stoller's avatar
      Add max_concurrent checks early in assign_wrapper to prevent trying · 3380964a
      Leigh B. Stoller authored
      to allocate and swapin when the max_concurrent is already reached for
      the OSIDs requested. Should work properly with the batch system.
    • Leigh B. Stoller's avatar
      Minor bug fix to TBImageLoadMaxOkay(). · 342a039c
      Leigh B. Stoller authored
    • Leigh B. Stoller's avatar
      A few more minor changes. Change exitcode to signed since in mysql, -1 · e6644faa
      Leigh B. Stoller authored
      is not a string of bits, but really 0 when the type is unsigned.
      Sheesh. Add link from testbed_stats to experiment_resources to get
      better info in showstats.
    • Robert Ricci's avatar
      File explaining the error codes that assign, assign_wrapper, and · cc1ebcee
      Robert Ricci authored
      tbswap can return - they use their return value to communicate some
      information. Text is from Chad.
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Split the experiment stats table into two parts. The first is the · a382994d
      Leigh B. Stoller authored
      per-experiment instantiation with aggregate data like the number of
      swapins, the dates and the like. The other part is the per
      swapin/modify stats. These are number of pnodes, links, lans,
      etc. Long term, I think we want more precise swapin stats, and with
      experiment modify in the mix, we need to have multiple stat records
      per experiment, but do not need to duplicate all the stuff in the
      other table just mentioned.
      To reduce the amount the table size, we cross reference the tables by
      index only instead of with pid,eid and the like. We use exptidx to
      link experiments, experiment_stats, and the new experiment_resources
      table. experiment_resources and stats are linked by another index in
      the resources table, which indicates which is the current resource
      row. On a modify, a new resource record is created, and the stats
      record updated to point to the new (latest) resource record.
      Web Changes: Improve showstats and showexpstats. Make them user
      accessible so that mere users can see stats for themselves and for
      their projects. No ability for mere users (PIs) to look at another
      person's stats. Generally, these two pages need more work, but now
      they are more useful. I added Show Stats to the user info and project
      info pages to display per-usr/proj stats. Add more info in the
      showstats display, but the showexpstats display is still not pretty
      printed; just the raw tables.
      Rename a few fields, add some indexes, and otherwise make some minor
      changes that are sure to annoy everyone.
  6. 14 May, 2003 5 commits