1. 15 Jul, 2003 1 commit
    • Leigh B. Stoller's avatar
      A set of changes to make swapmod work on jailed nodes (note, swapmod · 92ff875a
      Leigh B. Stoller authored
      does not yet work with remove virtual nodes; that will take even more
      work).
      
      Added a new allocstate called RES_TEARDOWN. assign_wrapper no longer
      deallocates unused nodes, but rather moves them into the new state for
      the wrapper (tbswap) to deal with. Thats cause deleted vnodes need to
      be torn down, since its possible that the node on which they were
      living will not be deallocated (say, if there are other vnodes on
      it). We do not want to be doing that from assign_wrapper, so tbswap
      looks for those nodes.
      
      Made vnode_setup allocstate aware in the same way that os_setup is;
      do not reboot vnodes or try to set up vnodes when they are already in
      the RES_READY state, as they will be when doing a swapmod. In
      addition, if os_setup is going to reboot the underlying physnode, move
      the vnodes on that node into RES_READY too, since there they will
      setup automatically. Might need an interim state here, for correctness.
      92ff875a
  2. 10 Jul, 2003 2 commits
    • Robert Ricci's avatar
      05c81c06
    • Leigh B. Stoller's avatar
      Split the -e option to ptopgen into -p/-e. Assign will always pass in · f5e2a9d3
      Leigh B. Stoller authored
      the pid so that ptopgen can do permission checks on the node types and
      classes before it sticks them into the ptop file. -e now takes just eid,
      but operates as before.
      
      Change the -v option slightly; assign passes -v option when it sees
      that the topology requires virtual nodes. Without -v, virtual nodes
      are not placed into the the ptop file, saving about 6000 lines of node
      entries!
      
      Get rid of the pcvm and pc601 hacks, and replace with a permission
      check, as determined by the nodetypeXpid_permissions. I've updated
      that table to reflect current types/classes.
      
      Change Rob's last change, which was doing a DB query on each node,
      which when used with -v, was issuing a lot of queries. I was puzzled
      why ptopgen was taking 4 seconds to run!
      
      Kill more sharks.
      Cleanup some terrible indenting.
      f5e2a9d3
  3. 08 Jul, 2003 2 commits
  4. 03 Jul, 2003 1 commit
  5. 01 Jul, 2003 2 commits
  6. 26 Jun, 2003 2 commits
    • Leigh B. Stoller's avatar
      Turn on lans for virtual nodes in assign_wrapper, now that Rob has · af86b3ba
      Leigh B. Stoller authored
      fixed the trivial_link problem for Lans.
      Add an option to ptopgen that says to include the various virtnode
      related things, so as not to slow down assign in the general case
      that virtnodes are not being used.
      af86b3ba
    • Robert Ricci's avatar
      Major changes to the way assign handles LAN nodes. · 83cfa8ec
      Robert Ricci authored
      LAN nodes are no longer treated specially. Instead, I've introduced
      the idea of 'static' types (old-style types retroactively become
      'dynamic' types). While a pnode can only satisfy one dynamic type at a
      time, it can always satisfy its static types (assuming it has enough
      capacity left.) Static types are flagged by prepending them with a '*'
      in the ptop file. So, for example, you may give switches the
      '*lan:10000' type so that they can satisfy virtual LAN nodes. Of
      course, other pnodes can have this type too, so that we can get
      'trivial LANs'.
      
      Actually, removing special treatment for LANs cleans up a lot of code.
      However, it may have some negative impacts on solutions, since we're
      not as smart about where to place LAN nodes as we used to be (they get
      annealed along with everything else, and not migrated.) I haven't seen
      any evidence of this yet, however.
      
      This leaves us with a single type of special pnode, a switch.
      
      Also added a new bit of syntax in ptop files - when '*' is given as a
      the maxiumum load for a type, the node is allowed to take on an
      infinite (well, actually, just a really big number of) vnodes of that
      type.
      
      ptopgen was modified to always report switches as being capable of
      hosting LANs, and assign_wrapper now understands direct links to LANs,
      which is what we get when the LAN is hosted directly on a switch.
      
      Fixed a bug in scoring direct links, in which the penatly was being
      added once when a direct link was mapped, but subtracted only once
      when it was freed.
      
      Added a '-T' option for doing simple self-testing. When adding a node
      to the solution, assign records the score, adds the node, removes it
      again, and checks to make sure that the resulting score is the same as
      the original score. The usefulness of this feature in debugging
      scoring problems cannot be understated...
      83cfa8ec
  7. 25 Jun, 2003 1 commit
  8. 24 Jun, 2003 1 commit
  9. 23 Jun, 2003 1 commit
  10. 19 Jun, 2003 1 commit
    • Leigh B. Stoller's avatar
      Add several controls from NS file. · 445edc6d
      Leigh B. Stoller authored
       * usewatunnels - Allow users to turn off widearea tunnels.
       * multiplex_factor - Allow user to specify vnode multiplex factor.
       * trivial_ok - Allow user to specify collocation okay for link.
      
      More work on the veth interface support and trivial link stuff.
      Appears to be operational and passes the test suite.
      445edc6d
  11. 23 May, 2003 1 commit
  12. 19 May, 2003 1 commit
  13. 15 May, 2003 1 commit
  14. 13 May, 2003 1 commit
    • Leigh B. Stoller's avatar
      Support for veth devices as first, I mean second, okay third class · 06f1f128
      Leigh B. Stoller authored
      entities. All that means is that you can use them independent of
      jails by doing something like this in your NS file:
      
      	set link0 [$ns duplex-link $node6 $node9 40Mb 0ms DropTail]
      
      	tb-set-multiplexed $link0 1
      	tb-set-useveth     $link0 1
      
      For now, must use OSID FBSD47-JAIL, but that will change when I create
      new images. The fallback without useveth is IP aliases like before,
      which is nice cause that will work on Linux too.
      
      There are some other minor cleanups included.
      06f1f128
  15. 12 May, 2003 1 commit
  16. 09 May, 2003 1 commit
  17. 02 May, 2003 1 commit
  18. 29 Apr, 2003 1 commit
    • Chad Barb's avatar
      Robust Experiment Modify -and- · 7308f458
      Chad Barb authored
      Various Other changes to get Expt Modify ready for prime time.
      
       - If assign fails on a modify, experiment will
         be restored to old state, *not* swapped out.
      
       - Reboot option has been improved to reboot all
         nodes as part of os_setup, not in separate
         step.
      
       - Different assign error codes result in different
         retry behavior for assign_wrapper
         (Follow's Rob's change to assign to make it
          pass back special code for non-retriable faults)
      
       - '64' bit in assign_wrapper exit code indicates to tbswap
         that db/phys state hadn't been mucked with before
         the exit occurred
         (ergo, '65' and '1' are the common return codes,
          though the old 4,8,16,32 are still there for assign failing.)
      
       - (tbswap still returns codes from assign wrapper)
      
       - Added 5 sec pause between assign attempts.
      
       - Cleaned up tbswap code.
      
       - Physical state backup/restore removed from tbprerun,
         put into swapexp.
      
       - Interfaces table now getting cleaned up correctly
         (Mike noticed problem)
      
       - Changed menu display in showexp to show
         the "modify" menu option for swapped out experiments
         (like it used to.)
      
       - A couple other changes.
      
      Note:
       Still admin-only, but I plan to change that soon.
      
      To do:
       - Erase expt backups in /tmp after using them.
       - Re-viz failed experiments.
      7308f458
  19. 28 Apr, 2003 1 commit
    • Leigh B. Stoller's avatar
      Add support for new {user,group,project,experiment}_stats tables. · 5e5508bf
      Leigh B. Stoller authored
      The first three are aggregate tables, while the experiment stats table
      gets a record for each new experiment, and is updated when an
      experiment is swapped in/out/modify or terminated. Look at the table
      to see what is tracked. Once the experiment_stats record is updated,
      the aggregate tables are updated as necessary. There are a bunch of
      ugly changes to assign_wrapper to get the stats. Note that pnodes is
      not incremented until an experiment sucessfully swaps in. This is in
      leu of getting status codes; I'm not tracking failed operations yet,
      nor creating the log file that Jay wants. I'll do that in the next
      round of changes when we see how useful these numbers are.
      
      Most of the changes are to create/delete table entries where
      appropriate, and to display the records. Display is only under admin
      mode, and the display is raw; just a dump of the assoc tables in php.
      The last 100 experiment stats records are available via the Experiment
      List page, ...
      5e5508bf
  20. 23 Apr, 2003 1 commit
  21. 17 Apr, 2003 1 commit
  22. 16 Apr, 2003 1 commit
  23. 07 Apr, 2003 1 commit
  24. 27 Mar, 2003 1 commit
    • Chad Barb's avatar
      · a495bcfb
      Chad Barb authored
      New tbswap mode 'update'. (a.k.a. 'reswap')
      Re-assigns experiment, fixing already assigned nodes in place;
      tries not to reboot nodes. Doesn't clear port counters,
      restart event system, etc.
      
      A few more things remain to be considered for 'general' use
      adding new nodes to experiments and modifying topologies,
      but for replacing failed nodes in experiments
      or removing virt_nodes from experiments, should work fine.
      a495bcfb
  25. 23 Mar, 2003 1 commit
  26. 22 Mar, 2003 1 commit
    • Leigh B. Stoller's avatar
      Add three new control mechanisms to the front end to control the use · 62b4edc9
      Leigh B. Stoller authored
      of emulated and linkdelays on a per-link/lan basis (although you
      cannot make a lan emulated at this time).
      
      	tb-set-link-uselinkdelay $link0 1
      	tb-set-lan-uselinkdelay $lan0 1
      	tb-set-link-emulated $link0 1
      
      Added slots to the virt_lans table, used in assign_wrapper to control
      these features on a per link/lan basis. Note, the global options are
      still available to prefer/force linkdelays for an entire experiment.
      When setting uselinkdelays on a per link/basis, if the link would not
      otherwise be shaped, you are requesting that a linkdelay be inserted
      anyway (in otherwords, its the equiv of tb-set-forcelinkdelays on an
      individual basis).
      62b4edc9
  27. 21 Mar, 2003 1 commit
  28. 20 Mar, 2003 1 commit
    • Chad Barb's avatar
      · 6a449d22
      Chad Barb authored
      tbswap: re-enabled retry (Undid leigh's last change)
      
      assign_wrapper.in:
         was left-joining reserved to nodes to get reserved list;
         This didn't get delays.
      
         now am doing separate query on reserved, and putting those
         into the %fixed and %alreadyAllocated hashes.
      6a449d22
  29. 19 Mar, 2003 1 commit
  30. 18 Mar, 2003 1 commit
    • Chad Barb's avatar
      · e928fbe9
      Chad Barb authored
      Here it is; reswap.
      
      nfree
         - modified to put node in FREE_DIRTY when it is freed
      
      assign_wrapper
         - '-u' update switch added.
      
      os_setup
         - doesn't reboot node which is already in RES_READY
      
      tbswap
         - calls all this stuff appropriately
      e928fbe9
  31. 14 Mar, 2003 2 commits
  32. 11 Mar, 2003 1 commit
  33. 06 Mar, 2003 3 commits