1. 17 Apr, 2008 1 commit
  2. 11 Jan, 2007 1 commit
  3. 19 Jul, 2006 1 commit
  4. 18 Jul, 2006 1 commit
    • Leigh Stoller's avatar
      Changes necessary for moving most of the stuff in the node_types · 624a0364
      Leigh Stoller authored
      table, into a new table called node_type_attributes, which is intended
      to be a more extensible way of describing nodes.
      The only things left in the node_types table will be type,class and the
      various isXXX boolean flags, since we use those in numerous joins all over
      the system (ie: when discriminating amongst nodes).
      For the most part, all of that other stuff is rarely used, or used in
      contexts where the information is needed, but not for type descrimination.
      Still, it made for a lot of queries to change!
      Along the way I added a NodeType library module that represents the type
      info as a perl object. I also beefed up the existing Node module, and
      started using it in more places. I also added an Interfaces module, but I
      have not done much with that yet.
      I have not yet removed all the slots from the node_types table; I plan to
      run the new code for a few days and then remove the slots.
      Example using the new NodeType object:
      	use NodeType;
      	my $typeinfo = NodeType->Lookup($type);
              if ($typeinfo->control_interface(\$control_iface) ||
                  !$control_iface) {
        	    warn "No control interface for $type is defined in the DB!\n";
      or using the Node:
      	use Node;
              my $nodeobject = Node->Lookup($node_id);
              my $imageable  = $nodeobject->NodeTypeInfo()->imageable();
              my $rebootable = $nodeobject->isrebootable();
              $nodeobject->NodeTypeAttribute("control_interface", \$control_iface);
      Lots of way to accomplish the same thing, but the main point is that the
      Node is able to override the NodeType (if it wants to), which I think is
      necessary for flexibly describing one/two of a kind things like switches, etc.
  5. 25 Oct, 2005 1 commit
  6. 31 May, 2005 1 commit
  7. 26 Oct, 2004 1 commit
  8. 28 Sep, 2004 1 commit
  9. 04 Mar, 2004 1 commit
  10. 26 Feb, 2004 1 commit
    • Robert Ricci's avatar
      Clean up the way we handle vnodes and unroutable IP addresses - there · 963927f9
      Robert Ricci authored
      isn't really a good reason for keeping them seperate. All we really
      care about is putting the unroutable addresses in one file and the
      routable ones in another.
      So, instead of generating three forward zone files, we only have to
      generate two. They are not as pretty as the ones named_setup used to
      generate, but the code to make them is much, much cleaner and more
      Also makes named_setup about twice as fast - 2s vs 4s. Still too
      slow, but better!
  11. 20 Nov, 2003 1 commit
  12. 02 Oct, 2003 1 commit
  13. 16 Sep, 2003 2 commits
  14. 26 Aug, 2003 1 commit
  15. 22 Aug, 2003 1 commit
  16. 18 Aug, 2003 1 commit
  17. 22 Jul, 2003 2 commits
  18. 10 Jun, 2003 1 commit
    • Leigh Stoller's avatar
      Minor fixes; check to see if the vnode has a jailip. If not, then do · 37d3853f
      Leigh Stoller authored
      what we normally do in the main map (generate a name for the node and
      a CNAME for the virt name. Skip if there is a jailip, since that is
      going to be handled in the private vnodes map. This means that
      widearea vnodes without their own IPs will continue to get map entries
      as before, but local vnodes with their own IPs will get the special
      treatment and no dup entries!
  19. 09 Jun, 2003 1 commit
  20. 06 Jun, 2003 1 commit
  21. 18 Apr, 2003 1 commit
  22. 17 Sep, 2002 1 commit
  23. 14 Aug, 2002 1 commit
  24. 13 Aug, 2002 1 commit
  25. 30 Jul, 2002 1 commit
  26. 07 Jul, 2002 1 commit
  27. 21 Jun, 2002 1 commit
    • Leigh Stoller's avatar
      Last part of the recent widearea changes. Now that widearea nodes are · eb6c576c
      Leigh Stoller authored
      reporting in isalive status, and since we are returning a "need to
      update" flag in the message, and since we are now initiating widearea
      account updates by setting the flag for each node, and since tmcd
      decrements that flag when the node picks up accounts, it is a simple
      matter to do update for remote nodes! Simply, bump the flag in this
      script, and then wait a little while to see whose flag does not change
      back! Report those in the email message. Works very slick.
      This mechanism is going to be generalized some to handle other kinds
      of updates. Either via the isalive return value, or via a specialized
      TMCD call to return the list of things that need to be updated. The
      next most needed update mechanism we need is for the testbed software,
      followed closely by user software.
  28. 22 Apr, 2002 1 commit
  29. 05 Mar, 2002 1 commit
    • Leigh Stoller's avatar
      A wide ranging set of event system changes: · 0318cc22
      Leigh Stoller authored
      assign_wrapper.in: Hack in a change that ensures a delay node is
      created for any link on which an event is posted (up,down,modify),
      no matter what its initial parameters are. ie: If a link is created
      with no delay, but there is an event that adds a delay later, then we
      must drop in a delay node. Same for up/down on a link. We do this in
      the delay node. I am reasonably confident that this change is fine for
      duplex links, but I am less sure of the effect on lans!
      eventsys_control.in: Checkpoint latest changes. Add "replay" option,
      which right now just stops and starts the event scheduler so that it
      reloads the entire event list. Add check for existing experiment, and
      that the experiment is either active or swapping (do not want to start
      a scheduler for a swapped out experiment!). Add check to see if there
      are any events, and skip startup if there are not events in the DB.
      Lastly, get very serious about preventing more than one scheduler from
      being started, either by accident or intentionally. My protocol is to
      lock the table, grab and set the pid to -pid, test the pid for a
      positive value, and if positive, send the scheduler a kill(TERM) so
      that it can cleanup, clear the pid to zero in the DB, and exit. This
      approach ensures that we do not try to send a kill to a pid that is no
      longer active or owned by the user (this last part is not really
      necessary cause of how pids are reused, but it was easy to add so why
      exports_setup.in: Trivial change to make it easier to turn this on
      temporarily in devel trees.
      named_setup.in: Ditto.
      node_reboot.in: Add call to TBdbfork() in child cause of apparent DB
      connection problems across forks. In the child, set the eventstatus
      for the node to REBOOT if successful (not this event status stuff is
      temporary, will be recast in next set of revisions).
      GNUmakefile:  Add new controlling program, eventsys_control.
      power.in:     Ditto previous comment about REBOOT.
      os_setup.in:  Non event system cleanups.
      tbend.in:     Add DB cleanup of the new virt_trafgens and eventlist tables.
      tbprerun.in:  Ditto.
      tbreport.in:  Print out the event list in a pretty print format.
      tbswapin.in:  Add call to start the event system. Also a big fix; move
                    the named script up above the os_setup so that the named
                    tables have been updated by the time the first node
                    reboots. I noticed that nodes were failing on gethostbyname().
      tbswapout.in: Add call to stop the event system.
  30. 12 Feb, 2002 1 commit
  31. 18 Jan, 2002 1 commit
  32. 16 Oct, 2001 2 commits
  33. 12 Oct, 2001 1 commit
  34. 23 Aug, 2001 1 commit
  35. 27 Jun, 2001 1 commit
  36. 05 Jun, 2001 1 commit
  37. 10 May, 2001 1 commit
    • Leigh Stoller's avatar
      Lots of little changes for sending email to the right places, with · 3285bc3e
      Leigh Stoller authored
      proper headers. Split out some of the mail into testbed-logs,
      testbed-ops, and testbed-approval. Added a library for including from
      our perl scripts. Contains a couple of mail helper functions, but will
      hopefully contain more as time goes by.
      Fixed a bug in the web interface that was causing breakage for people
      with multiple accounts. Mac and Jay have noticed this, when logging
      out and trying to join or create a project under a new or different