1. 13 May, 2003 1 commit
  2. 22 Apr, 2003 1 commit
  3. 21 Apr, 2003 1 commit
    • Robert Ricci's avatar
      New script: switchmac . Lists all MACs that have been learned by all · 5f8fea31
      Robert Ricci authored
      the experimental switches. The idea is to be able to auto-detect
      where a node has been plugged in, so that we fill out the wires table
      without any manual intervention! This is a step towards being able
      to automate the adding of nodes.
      
      Has a runtime linear in the number of VLANs on the experimental
      switches, so it should run pretty fast on a new testbed, but can
      be kinda slow on, say, ours.
      5f8fea31
  4. 18 Apr, 2003 1 commit
  5. 17 Apr, 2003 1 commit
    • Chad Barb's avatar
      · 95c08b45
      Chad Barb authored
      Added "check sitevars" to build, so we can be sure
      other sites have all of the requisite site variables
      when they install.
      
      Some of it is new; some of it is modified versions
      of Rob's schemacheck stuff.
      95c08b45
  6. 16 Apr, 2003 1 commit
    • Leigh Stoller's avatar
      Add support for idleswapping an experiment as the creator of the · ff5a57de
      Leigh Stoller authored
      experiment, rather than as an administrator, which presents group
      permission problems when the experiment is in a subgroup (requires two
      additional group, whereas suexec adds only one group). That aside, the
      correct approach is to run the swap as the creator. To do that, must
      flip to the user (from the admin person) in the backend using the new
      idleswap script, and then run the normal swapexp. Add new option to
      swapexp (-i) which changes the email slightly to make it clear that
      the experiment was idleswapped, and so that the From: is tbops not the
      user (again, to make it more clear).
      ff5a57de
  7. 15 Apr, 2003 1 commit
  8. 11 Apr, 2003 1 commit
    • Chad Barb's avatar
      · a0248828
      Chad Barb authored
      Added site variables ('sitevars').
      These are stored in the sitevariables database table.
      Each one has a name, a description (NOT OPTIONAL!), a
      default value, and a current value.
      If the current value is NULL, the default value is used.
      
      Soon, a mechanism will be added to the install process to
      ensure all needed site variables exist before installing;
      more on that when it is committed.
      
       - Added 'editsitevars.php3' page, accessable to admins
         via the 'Edit Site Variables' menu option.
      
       - Added 'setsitevar' script,
         an interface for listing, viewing in detail, and setting
         site variables.
      
       - Web interface now uses 'web/nologins' and 'web/message'
         instead of one-off database tables.
      
      NOTE that setting a variable to the default value and
      setting a variable to a value which is string-identical
      are NOT the same thing.
      (This doesn't matter yet, but when we push default values out to
       remote sites as part of our install, it will.)
      a0248828
  9. 10 Apr, 2003 2 commits
  10. 09 Apr, 2003 1 commit
    • Mac Newbold's avatar
      Add new script to notify users when they are over their quota. Runs from · 38310b4e
      Mac Newbold authored
      cron daily, on the fs node (ops) as root. Uses lots of configure variables
      so that it does the right thing in any installation, without any
      customization.
      
      One possible caveat regarding quotas: If FS_NODE != USERNODE, they don't
      have a login on the fs machine. So checking their quota won't work unless
      the rpc.rquotad(8) daemon is running on FS_NODE, which we currently don't
      do.
      
      In order to do this right, I had to add a new configure var,
      FS_WITH_QUOTAS, that has a space separated list of file systems that have
      quotas enabled. (Ie the default is 'FS_WITH_QUOTAS="/q /users"'.) It
      doesn't have any default, since I couldn't come up with a reasonable one.
      All the defs files have been updated appropriately to define this new
      variable.
      38310b4e
  11. 08 Apr, 2003 1 commit
    • Mac Newbold's avatar
      Remove idlecheck. Add idletimes and idlemail (and webidlemail). · fd4eaa8d
      Mac Newbold authored
      (webidlecheck was removed in a separate commit.)
      
      idletimes is the new commandline tool for checking idleness. It shows a
      table like this:
      
      PID          EID          Nodes  HrsIdle     Last Activity     Act. type
      ------------------------------------------------------------------------
      AVQ          Tunnel           4   15.18   2003-04-07 21:18:20  tty
      pces         toy              1    3.92   2003-04-08 08:34:02  tty
      Spinglass    fawaz            1   13.76   2003-04-07 22:43:48  tty
      TempleSCTP   FTP-REAL         1   26.40   2003-04-07 10:05:18  tty,net
      testbed      bvclass          4   24.58   2003-04-07 11:54:13  net
      testbed      ltest            1   14.37   2003-04-07 22:07:02  tty
      testbed      ron-image        1  501.88   2003-03-18 13:36:28  cpu,ext,tty,net
      testbed      Tone             1  501.88   2003-03-18 13:36:30  cpu,ext,tty,net
      
      By default it only shows things that are over an idleness threshold. It
      also has a mode to show all expts. Also can show idleness/activity by node
      instead of by expt, which has a slightly different table. (s/Nodes/NodeID/)
      
      idlemail isn't finished yet, but I don't want it to hold up idletimes and
      the other changes any longer. It doesn't get used by anything yet, of
      course.
      fd4eaa8d
  12. 04 Apr, 2003 1 commit
    • Chad Barb's avatar
      · 1f12fbc9
      Chad Barb authored
      ... forgot to run autoconf.
      1f12fbc9
  13. 03 Apr, 2003 1 commit
  14. 02 Apr, 2003 1 commit
    • Mac Newbold's avatar
      Massive reworking of our structure for defs files. · 09eb5852
      Mac Newbold authored
      Before:
      The main defs file (ie for configure) had an entry for WWWDEFS that
      pointed to a <@WWWDEFS@>-defs.php3 file in the www/ directory. The www
      defs file loaded some values about web pages, URLs, and some web
      configuration parameters.
      
      Problem:
      Anything that was only in the www defs file was not accessible in the rest
      of the universe (ie perl, C, and any other non-web-page scripts). For
      instance, you couldn't have a perl script send an email to a user with a
      link to the web site.
      
      Solution:
      Nuke all the www-defs files, move any important values into the main
      configure, and change the web defs infrastructure to respect that. This
      also meant adding about 3 lines each to all of the configure defs files.
      (There really are about 10 new values you can change in your defs file,
      but in almost all cases, the default values are the right thing.)
      
      Upgrading:
      External sites will need to move a few variables from their www-defs file
      into their configure defs file. The example file should make it pretty
      obvious. They may also want to customize some of the other vars that are
      mentioned in configure.in and www/defs.php3.in .
      09eb5852
  15. 20 Mar, 2003 1 commit
  16. 11 Mar, 2003 1 commit
    • Chad Barb's avatar
      · caad3a35
      Chad Barb authored
      New version of unified tbswap in/out.
      startexp/endexp/swapexp have been changed to use new script.
      
      tbswapin and tbswapout have been replaced with a script which
      spits out a warning message, then calls tbswap appropriately.
      
      The README has also been modified.
      caad3a35
  17. 10 Mar, 2003 1 commit
  18. 07 Mar, 2003 1 commit
    • Mac Newbold's avatar
      A few changes to stated: · 92fa4ae2
      Mac Newbold authored
       - fix bad indenting to a uniform 4 spaces (before was 2, 4 and 8 mixed)
       - Move ping-for-isup functionality into a separate script
       - Make sure every transition triggered by stated (directly or indirectly)
         sends an event, instead of taking shortcuts.
      
      This called for a new script, eventping, which just pings until the node
      is pingable, then sends an ISUP event. Stated runs this in the background
      where necessary, and nothing else should run it.
      
      Adding eventping meant modifying configure and the utils makefile, too.
      92fa4ae2
  19. 05 Mar, 2003 2 commits
  20. 28 Feb, 2003 1 commit
  21. 26 Feb, 2003 1 commit
  22. 13 Feb, 2003 1 commit
  23. 28 Jan, 2003 1 commit
  24. 24 Jan, 2003 2 commits
  25. 23 Jan, 2003 1 commit
  26. 10 Jan, 2003 1 commit
  27. 08 Jan, 2003 1 commit
  28. 07 Jan, 2003 1 commit
    • Robert Ricci's avatar
      New script: readycount · 616601b5
      Robert Ricci authored
      Simple command-line interface to the ready bits. Its primary
      purposes are:
      
      * Manually report ready for nodes that can't do it themselves
      * Get a list of which nodes are ready, so that you can figure out
        which one(s) aren't reporting in
      * Clear ready bits so you can use them again without restarting the
        experiment
      * Make it possible to poll ready bits on boss/ops
      616601b5
  29. 08 Nov, 2002 3 commits
  30. 05 Nov, 2002 1 commit
  31. 24 Oct, 2002 1 commit
    • Leigh Stoller's avatar
      Add stuff to update the SFS keys on the fileserver after someone uses · cc1c4e54
      Leigh Stoller authored
      the web page to add/delete a key! Nodes were getting updated, but
      the SFS server was not cause there was no program to fire the new keys
      over there.
      
      The operation is currently simple. sfskey_update on boss constructs a
      new sfs_users file. Then it runs sfskey_update.proxy on ops (vis ssh
      of course), and gives it the new file via stdin. The proxy creates the
      .pub version from that file, and then moves the two new files into
      place in /etc/sfs. I employ the same locking stuff that Rob did in
      exports_setup and named_setup to prevent multiple updates from
      stacking up. Not likely, but might as well. Also note that the entire
      file is regenerated. When we get 5000 users this might have to change
      a little bit!
      
      Also changed mkacct slightly. Instead of doing a "sfskey register" on
      ops after generating the new key, just add it to the DB. Then fire off
      an sfskey_update to push the new keys over. Also add a -f flag to
      mkacct for use from the web page to indicate that the user has changed
      his SFS keys. Note that mkacct should probably take a series of flags
      since we have it as a wrapper for several things. Or maybe split all
      this stuff up.
      cc1c4e54
  32. 22 Oct, 2002 1 commit
  33. 18 Oct, 2002 1 commit
    • Mac Newbold's avatar
      Merge the newstated branch with the main tree. · 5c961517
      Mac Newbold authored
      Changes to watch out for:
      
      - db calls that change boot info in nodes table are now calls to os_select
      
      - whenever you want to change a node's pxe boot info, or def or next boot
      osids or paths, use os_select.
      
      - when you need to wait for a node to reach some point in the boot process
      (like ISUP), check the state in the database using the lib calls
      
      - Proxydhcp now sends a BOOTING state for each node that it talks to.
      
      - OSs that don't send ISUP will have one generated for them by stated
      either when they ping (if they support ping) or immediately after they get
      to BOOTING.
      
      - States now have timeouts. Actions aren't currently carried out, but they
      will be soon. If you notice problems here, let me know... we're still
      tuning it. (Before all timeouts were set to "none" in the db)
      
      One temporary change:
      
      - While I make our new free node manager daemon (freed), all nodes are
      forced into reloading when they're nfreed and the calls to reset the os
      are disabled (that will move into freed).
      5c961517
  34. 09 Oct, 2002 1 commit
    • Mac Newbold's avatar
      Add a new script: tbresize · 0dd12dba
      Mac Newbold authored
      (installs into /usr/testbed/bin/tbresize but isn't avail. on ops yet)
      
      Usage: tbresize [-d] -a -e pid,eid -n num -t type [-p prefix]
             tbresize [-d] -r -e pid,eid <node> [<node> ...]
             tbresize -h
      Use -h to show this usage message.
      Use -d to enable extra debugging output.
      Use -a to add nodes to an experiment.
      Use -r to remove nodes from an experiment.
      Use -e pid,eid to specify the experiment to resize.
      Use -n to specify the number of nodes to add.
      Use -t to specify the type of the nodes to be added (pc, pc850, pc600,
      etc).
      Use -p to specify a prefix for vnames (i.e. "node" => node0 .. nodeN).
      With -r, specify a list of one or more nodes to be removed (i.e. pcXX).
      
      Can even resize an expt down to no nodes then back up again. If it has
      one LAN/link in the expt, it adds the new nodes to it. If it has zero or
      more than one, it doesn't connect the new nodes to the topology.
      
      After finding and reserving (or before freeing) it fixes up the right
      places in the db and reruns snmpit, then reruns exports_setup and
      named_setup and reboots all the nodes that are now in the expt so they get
      updated configuration data.
      
      Even visualizes properly after being resized, the only catch is that the
      ns file is the original one, not one generated from the db.
      
      Use it, abuse it, have fun with it, and let me know what breaks.
      0dd12dba
  35. 19 Sep, 2002 1 commit