1. 17 Apr, 2008 1 commit
  2. 13 Apr, 2008 1 commit
  3. 29 Mar, 2008 1 commit
    • David Johnson's avatar
      Add support to synch with and store plab nodegroups in our DB (plab uses · d0f1cec3
      David Johnson authored
      them to key many different control actions, and we can't ignore them
      anymore).  The driving need in this case is to dist out rootballs based on
      the nodegroup so we can test plab4.2... but other ways to use this will
      likely arise.
      
      Also expanded the notion of config attributes I added during the push to
      support multiple PLCs.  Now, config attributes are just per-PLC or
      per-slice; they are per-PLC, but also conditional across
      slice,nodegroup,node tuples.  This gives a ton of flexibility for the
      different actions we need to take based on what kind of node the node is
      -- and plab typically seems to distinguish this based on nodegroups.
      d0f1cec3
  4. 26 Mar, 2008 1 commit
  5. 21 Feb, 2008 1 commit
  6. 07 Feb, 2008 1 commit
    • David Johnson's avatar
      Add support for including nodes from multiple PLCs in experiments. Right · c44c47c9
      David Johnson authored
      now, this is keyed off nodetype.  Lots of hardcoded constants and config
      stuff moved to attributes in the db.  You can now set per-PLC and
      per-slice attributes, so you can (for instance) use different auth info
      whenever you want.  Experiments can use preexisting slices if somebody
      sets up the db before swapin.  Also, we no longer have to rely on
      slices.xml to sync up nodes/sites with PLC... can use xmlrpc instead.
      
      Lots of code cleanup, improved some abstractions, etc.
      c44c47c9
  7. 09 Nov, 2007 1 commit
  8. 07 Sep, 2007 2 commits
  9. 05 Sep, 2007 1 commit
  10. 31 Aug, 2007 1 commit
  11. 17 Jul, 2007 1 commit
  12. 16 Jul, 2007 1 commit
    • David Johnson's avatar
      Several things in this commit: · 3bbd843b
      David Johnson authored
        * Prior to this commit, libplab depended on db state to create slivers
          and slices.  Now it can be done using the regular command line tools
          without the metadata in the db.  This makes development and debugging
          much easier and allows us to use the command-line tools even if state has
          been cleared out of the db (i.e., for sliver garbage collection).
        * Add support for sliver start/stop/restart via the v4 NM.
        * Some support for sliver garbage collection.
        * Various other improvements and cleanup.
      3bbd843b
  13. 20 Jun, 2007 1 commit
    • Leigh B. Stoller's avatar
      Add summary node utilization stats. The initial values are derived by · 21890006
      Leigh B. Stoller authored
      processing the node_history table, but that is *way* too slow to do on
      the fly (say, from the web interface) cause of the number of records,
      so the summary info is stored in the new node_utilization table. I
      generate the summary info as new entries are added to node_history (in
      SetNodeHistory) but if that becomes too messy, we can just as easily
      shift to processing the table on a nightly basis.
      
      Note that I added a new "inception" date field to the nodes table,
      which will get set on new nodes, but for existing nodes I have to
      derive it from the first entry in the node_history table, or else the
      numbers will not make sense.
      21890006
  14. 03 May, 2007 1 commit
  15. 12 Apr, 2007 1 commit
  16. 10 Apr, 2007 1 commit
  17. 05 Apr, 2007 2 commits
  18. 10 Mar, 2007 1 commit
    • David Johnson's avatar
      These are the rest of the changes that have been accumulating in my dev · 1b6ef602
      David Johnson authored
      tree for v4 planetlab node support.  Currently, we support both v3 and
      v4 NMs via a little wrapper, and we dist out different versions of the
      rootball depending on NM version.  Also updated various parts of libplab
      to log success and failure from interactions with planetlab nodes to the
      db, and there are beginnings of support for that in plabmonitord.in.
      1b6ef602
  19. 06 Mar, 2007 2 commits
  20. 10 Feb, 2007 1 commit
  21. 07 Feb, 2007 1 commit
    • David Johnson's avatar
      A few more changes to bring up the portal. For now, we're using the old · 65456ef2
      David Johnson authored
      database as primary, but are recording all slice state changes on the new
      PLC database so the switchover should be seamless.
      
        * GNUMakefile.in: add mod_PLC4.py.in
        * mod_PLC4.py.in: more API changes.
        * libplab.py.in:  add support for saving state at two PLCs, one primary,
            one "compat".
        * mod_PLCNM.py.in: change URL to access old xmlrpc server since
            PlanetLab went ahead and changed DNS.
      65456ef2
  22. 10 Jan, 2007 1 commit
  23. 09 Jan, 2007 1 commit
  24. 21 Sep, 2006 1 commit
    • Kirk Webb's avatar
      · a6eedb84
      Kirk Webb authored
      Add BWLIMIT to the set of plab node attributes tracked by the Portal.
      
      Also, re-org and clean up a bunch of stuff to make the code more
      understandable/readable.
      a6eedb84
  25. 13 Sep, 2006 1 commit
    • Kirk Webb's avatar
      · 77994483
      Kirk Webb authored
      Minor bug fix.
      77994483
  26. 11 Sep, 2006 1 commit
    • Kirk Webb's avatar
      · aa446875
      Kirk Webb authored
      plab logging enhancements.
      
      timing information for various RPCs is now logged to
      /usr/testbed/log/plabtiming.log.  This info will be useful for extracting
      trends for the various plab nodes, and in calculating reliability and
      timing metrics.  These could be used, for e.g., to pick nodes that tend to
      come up more quickly.
      
      This update also squelches much of the python backtrace noise when plab nodes
      fail to setup correctly (can be turned on with debug flag).  Instead, failures
      are summarized on a single line.
      
      Oh, and pay no attention to the aspect behind the curtain!  Yes, you may
      groan and moan if you wish - I'm using aspects to help do the logging.  I
      find this to be a really slick way of wrapping several functions!
      aa446875
  27. 31 Aug, 2006 1 commit
    • Kirk Webb's avatar
      · 210d1a85
      Kirk Webb authored
      A node update bugfix and a change to the way nodes with more than two
      changed attributes are handled.  A single message is now sent detailing
      which nodes need to be looked at, and such nodes to not stop the rest from
      updating normally during that run.  Previously the nodes with multiple changes
      had to be handled first, then the update script had to be run after that to
      catch everything.
      210d1a85
  28. 04 Aug, 2006 2 commits
    • Kirk Webb's avatar
      · 19616c33
      Kirk Webb authored
      bah, fix to the fix.
      19616c33
    • Kirk Webb's avatar
      · 4b477246
      Kirk Webb authored
      A few little things:
      
      * Minor bugfix to node_type_attributes mod.
      * When we don't recognize the gateway, set type to "*Unknown*".  Should
        have always been doing this.
      * Add NLR gateway - new nodes detected here will be set to pcplabinet2,
        but this could easily be changed.
      4b477246
  29. 20 Jul, 2006 2 commits
    • Kirk Webb's avatar
      · a6351f3c
      Kirk Webb authored
      Change user that receives slice email from the head of the experiment to
      the experiment swapper.
      a6351f3c
    • Kirk Webb's avatar
      · 42c70446
      Kirk Webb authored
      Users that create Planetlab experiments will now get email coming back via
      the emulabman@emulab.net alias.  The technique is simple:  stash away the
      experiment head uid in a file corresponding to the slice's name over in
      ops:/etc/mail/plab-slice-addrs.  The silly procmail config file I've committed
      here reads this file (if it exists) and forwards mail to the user's email addr
      contained therein if the incoming message contains the name of their slice.
      There is no install target for this procmail filter;
      I hand installed it and hooked it in.
      42c70446
  30. 18 Jul, 2006 1 commit
    • Leigh B. Stoller's avatar
      Changes necessary for moving most of the stuff in the node_types · 624a0364
      Leigh B. 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();
      or
              my $rebootable = $nodeobject->isrebootable();
      or
              $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.
      624a0364
  31. 14 Jul, 2006 1 commit
    • Kirk Webb's avatar
      · 04d35bee
      Kirk Webb authored
      Change interface_type for newly discovered plab nodes to plab_fake.  This
      was previously set to 'fxp'.
      04d35bee
  32. 10 Jul, 2006 2 commits
  33. 26 Jun, 2006 1 commit
    • Robert Ricci's avatar
      Put the latitude and longitude for PlanetLab nodes into the · 676bfc55
      Robert Ricci authored
      widearea_nodeinfo table. This will be used to generate maps of the
      planetlab (and probably RON, by zip code) nodes.
      
      Also check for, and update in the case of, site chages.
      
      Took a while, since I don't know python well, but I learned a lot in
      the process.
      676bfc55
  34. 25 Mar, 2006 1 commit
    • Kirk Webb's avatar
      · 623b9be0
      Kirk Webb authored
      Fix up plab renewal for current scheme.  We must now go out to each sliver
      individually and ask for it to be renewed.  I've added a new script to be
      run out of cron that will run through and attempt to renew all active slices.
      If a node cannot be renewed with its slice and comes sufficiently close to
      it's recorded expiration (currently two weeks out), mail will be sent to
      testbed ops warning about this situation.  Note that there will only be
      one email message per slice, containing a list of all nodes at risk for
      expiration.  The plab renewal daemon will no longer run as a result of
      this change.  Note that this is sort of a hack.  The better way would be
      to have the daemon perisistenly try to renew nodes that have failed until
      success, but that will take more work, and I might farm it off to the
      plab monitoring daemon anyway.
      623b9be0