1. 22 Nov, 2002 1 commit
  2. 21 Nov, 2002 1 commit
  3. 19 Nov, 2002 1 commit
  4. 14 Nov, 2002 3 commits
    • Shashi Guruprasad's avatar
      011697a7
    • Mac Newbold's avatar
      Add the long-awaited check for nodes that have too many lans/links. For · 4f0c3572
      Mac Newbold authored
      now it is just hardcoded to 4, but could be done from the db too. Gives
      errors like this one, from a topo where node2 and node6 each have 5 links:
      
      *** /usr/testbed/devel/newbold/lib/ns2ir/parse.tcl:
          Too many links/LANs to node node2! Maximum is 4.
      *** /usr/testbed/devel/newbold/lib/ns2ir/parse.tcl:
          Too many links/LANs to node node6! Maximum is 4.
      *** /usr/testbed/devel/newbold/bin/batchexp:
          NS Parse failed!
      4f0c3572
    • Mac Newbold's avatar
      Finally, a check for links that want too much bandwidth. Right now it uses · 5eb5c6ed
      Mac Newbold authored
      the somewhat hacky fail-if-they-want-over-100mbps method, but could in the
      future draw the info from the database or something if it ends up being
      necessary.
      
      Setup Failure(255): Output as follows:
      
      *** /usr/testbed/devel/newbold/lib/ns2ir/parse.tcl:
          Bandwidth requested (150000) exceeds maximum of 100000 kbps!
      *** /usr/testbed/devel/newbold/lib/ns2ir/parse.tcl:
          [run] link0 has only a single node. LANs must have at least 2 nodes in them.
      *** /usr/testbed/devel/newbold/bin/batchexp:
          NS Parse failed!
      5eb5c6ed
  5. 13 Nov, 2002 1 commit
  6. 12 Nov, 2002 1 commit
  7. 10 Nov, 2002 1 commit
  8. 08 Nov, 2002 1 commit
  9. 06 Nov, 2002 2 commits
    • Shashi Guruprasad's avatar
      NSE related changes: · 05bc3bd4
      Shashi Guruprasad authored
        - Fixes the routing problem
        - A new type "sim" has been created but not in the DB. node_types and
          nodes remain unchanged. This will change after we figure out how
          to represent in the DB the local multiple virtnodes in one phynode case
          The frontend tb_compat.tcl adds the sim type and ptopgen associates
          a huge number of sim nodes to all local PCs.
        - All simulated nodes go into one pc untill I finish coding the distributed
          nse case. Also, sim nodes go through assign but with an explicit
          "fix-node" directive in the top file. A random free pc is chosen using
          the avail script in assign_wrapper. If we don't fix node it, assign
          maps sim nodes to multiple phy nodes even when a valid all to one
          mapping is possible.
        - Syntax for nse:
      
         $ns make-simulated {
      
             set simnode1 [$ns node]
             set simnode2 [$ns node]
      
         }
         ...
      
         The old syntax
      
         set nsenode [$ns nsenode]
         $nsenode make-simulated {
         }
      
         is deprecated
      
        - All 38 frontend tests in the testsuite pass
      
        - A new table v2pmap has been added to handle multiple virt nodes to
          one phy node mapping. This is used in "tmcc hostnames" currently.
      
        - The phy node that is picked to run nse is loaded with a custom image
          FBSD45-NSE . This can use the default FBSD kernel if there is a mechanism
          to run at 1000HZ, have options IPFIREWALL_FORWARD and PERFMON turned on.
          The image is in the 'testbed' group. Do not delete this image.
      
        - Static routes now adds routes for the case dst == nexthop. The routing
          graph would be disconnected otherwise and I need to traverse this in
          assign_wrapper for nse. On the client side, such a route is filtered out in
          libsetup.pm
      
        - sim nodes are also correctly visualized
      05bc3bd4
    • Mac Newbold's avatar
      Fix duplicate vname problem. Instead of silently picking something else · a1d69682
      Mac Newbold authored
      for them, fail if they try to use the same vname for two nodes in the expt.
      a1d69682
  10. 05 Nov, 2002 1 commit
  11. 04 Nov, 2002 3 commits
  12. 01 Nov, 2002 3 commits
  13. 31 Oct, 2002 2 commits
  14. 28 Oct, 2002 4 commits
  15. 25 Oct, 2002 1 commit
  16. 24 Oct, 2002 1 commit
    • Leigh B. Stoller's avatar
      Add stuff to update the SFS keys on the fileserver after someone uses · cc1c4e54
      Leigh B. 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
  17. 18 Oct, 2002 3 commits
    • Mac Newbold's avatar
      Small fix for perl oddity. Note to self: Do not expect... · 49003a26
      Mac Newbold authored
      Small fix for perl oddity. Note to self: Do not expect $myhash{TB_CONSTANT_SUB} to work since it evals TB_CONSTANT_SUB as a string unless you force it to be an expression (ie with parens).
      49003a26
    • Mac Newbold's avatar
    • 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
  18. 17 Oct, 2002 1 commit
  19. 09 Oct, 2002 2 commits
    • 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
    • Leigh B. Stoller's avatar
      Minor changes for Shashi; add "src" slot to virt_routes table so that · 4cb10094
      Leigh B. Stoller authored
      routes can be listed for each interface on a node, and so that the
      route list can be converted into an ipfw chain on the client for nse.
      4cb10094
  20. 07 Oct, 2002 1 commit
  21. 04 Oct, 2002 1 commit
  22. 03 Oct, 2002 3 commits
  23. 02 Oct, 2002 1 commit
    • Chad Barb's avatar
      Initial version of delay web control. · dd27f82a
      Chad Barb authored
      Functional, but needs some work.
      Won't allow non-admins to use it (since it doesn't do "proper" permission checking yet.)
      Input is aggressively checked for bad mojo before being pasted into any command line.
      
      Run from /delaycontrol.php3?eid=exptname&pid=projname
      Admin bit must be on.
      dd27f82a
  24. 28 Sep, 2002 1 commit