1. 07 Jun, 2004 5 commits
    • Leigh Stoller's avatar
      New script to set the node location. Linked from the shownode page. Only · 303132ed
      Leigh Stoller authored
      admin people allowed. Comment from script:
      
      # * Initially we come in with just a nodeid. Display a page of little maps
      #   and titles the user must select (a floor in a building) from. User clicks.
      # * Next time through we have a building and floor defined in addition to the
      #   the nodeid. We put up that big image with the current nodes on that floor.
      #   We use the external floormap program to generate that image, but without
      #   an imagemap. Instead, we use a form with an input type=image, which acts
      #   as a big submit button; when the user clicks in the image, the browser
      #   submits the form, but with the x,y coords added as form arguments.
      # * We get all of the above arguments on the final click, including x,y. Verify
      #   all the aguments, and then do the insert.
      # * If user goes to reset the node location, form includes an additional submit
      #   button that says to use the old coords. This allows us to change the contact
      #   info for a node without actually changing the location.
      
      Caveats:
      
      * We do not describe buildings in the DB, and so we are currently hardwired
        to MEB for the building, and the images for each floor are still
        hardwired in the external script (vis/floormap.in) that creates the
        image. Needs to be dealt with before we can export this stuff.
      
      * There is no way web interface to delete a location entry. That should be
        easy to deal with when needed, but in the meantime:
      
      	delete from location_info where node_id='pcXXX'
      
      * All nodes get a "Set Location Entry" on the shownode page menu; I leave
        it to admin people to not set the location for a non-wireless node; will
        fix later as needed.
      
      * Coordinates are all in pixels. As Russ points out, this is (way) less
        then ideal, but certainly simple.
      303132ed
    • Leigh Stoller's avatar
      Create some thumnails from the bigger images. We could create these on · d46da6ab
      Leigh Stoller authored
      the fly, or use heigh/width specs in the img tag, but I hate how the
      browser scales things. Short term solution; obviously does not scale
      to more then a few floor images.
      d46da6ab
    • Leigh Stoller's avatar
      Invoke external script that creates image file as user "nobody" since · 20af2289
      Leigh Stoller authored
      otherwise the file is created as that user, and is then difficult to
      remove in floormap_aux.php3 after it is dished out. There is no reason
      to run the external script as the user; all it does is build an image.
      20af2289
    • Leigh Stoller's avatar
      Add minor utility function. · 696e243b
      Leigh Stoller authored
      696e243b
    • Leigh Stoller's avatar
      Add regex entries for location_info table. · 98430857
      Leigh Stoller authored
      98430857
  2. 05 Jun, 2004 1 commit
  3. 04 Jun, 2004 8 commits
    • Russ Fish's avatar
      hyperviewer application user document · 9d500cc3
      Russ Fish authored
      9d500cc3
    • Russ Fish's avatar
      hyperviewer application program · ff01ba54
      Russ Fish authored
      ff01ba54
    • Robert Ricci's avatar
      Add an 'identifier' to the new_nodes table, and add support for · d736629e
      Robert Ricci authored
      passing this to the newnode client, web page, and viewing and
      editing it.
      d736629e
    • Mike Hibler's avatar
      allows setting of bootfromdisk field to be from 0-255 (not 0/1) so that · 74ff641f
      Mike Hibler authored
      we can use it for a partition number
      74ff641f
    • Leigh Stoller's avatar
      Start more then 1 UDP server thread. I did this by slight improvement · 1a135678
      Leigh Stoller authored
      of my really icky code to start different kinds of servers; basically
      you can set the number of servers of each kind, and if a server of
      that type exits, another one of the same type is started. The code is
      a little easier to follow then it was before, but still quite yucky.
      
      So whats the "right" way? The problem is that if multiple children are
      selecting on a set of fd's and an fd comes ready, all of the children
      are woken up. This is called a "select storm" since they all wake up,
      try to read from the same fd, and all but one go right back to sleep.
      Lots of overhead, and programs like apache go to great lengths to
      avoid it. Takes a lot code, lots of bookkeeping, lots of goo that is
      hard to understand 6 months later. Not worth it for tmcd, at least not
      yet. If we start creating many 1000s node experiments, that could
      change in a hurry.
      1a135678
    • Leigh Stoller's avatar
      Back out previous revision that changed the XML output format to RPC · f8ed2e3b
      Leigh Stoller authored
      format instead of plain old well formed XML. Note this change does not
      affect the parser in any way; the parser continues to spit out its own
      brand of XML, and xmlconvert treats that special when it reads it.
      
      The XML I spit out now is better formed and makes more sense when you
      look at it. It also helps that its much faster to generate, and the
      resulting output is much smaller. For example:
      
      	time /usr/testbed/libexec/xmlconvert testbed jail-2440
      	real    2m54.229s
      	user    1m7.492s
      	sys     1m15.927s
      
      	time /usr/testbed/devel/stoller/libexec/xmlconvert testbed jail-2440
      	real    0m14.738s
      	user    0m5.755s
      	sys     0m5.156s
      
      	/tmp/bar*.xml
      	-rw-rw-r--  1 stoller  wheel  15595161 Jun  4 11:16 /tmp/rpc.xml
      	-rw-rw-r--  1 stoller  wheel   5285690 Jun  4 11:17 /tmp/plain.xml
      
      Thats for a big experiment. For a small experiment:
      
      	time /usr/testbed/libexec/xmlconvert testbed jail-416
      	real    0m9.346s
      	user    0m5.083s
      	sys     0m2.675s
      
      	time /usr/testbed/devel/stoller/libexec/xmlconvert testbed jail-416
      	real    0m2.751s
      	user    0m1.377s
      	sys     0m1.183s
      
      	ll /tmp/bar*.xml
      	-rw-rw-r--  1 stoller  wheel  3135518 Jun  4 11:19 /tmp/rpc.xml
      	-rw-rw-r--  1 stoller  wheel  1015745 Jun  4 11:19 /tmp/plain.xml
      
      As you can see, the RPC code is rather non-linear in its performance!
      
      Since this affects Tim and netlab-client, I have added an alternate
      XMLRPC routine called virtual_topology_xml() that returns the new format,
      since Tim will need to transition to this new format (parsing it into a
      Java data structure). The old format is left in the RPC server until that
      is done.
      f8ed2e3b
    • Robert Ricci's avatar
      d51614da
    • Robert Ricci's avatar
      A couple related improvements: · 5e5bea87
      Robert Ricci authored
      Parse the ptop file to get information like colocation factors, CPU
      speeds, trivial bandwidth, and the like, instead of hard coding them.
      
      Keep features and trivial bandwidth by type (ie. pcvm, pcvm850),
      instead of making them the same for all types. This should make
      much better conglomeration choices.
      5e5bea87
  4. 03 Jun, 2004 14 commits
  5. 02 Jun, 2004 8 commits
  6. 01 Jun, 2004 4 commits