1. 15 Jun, 2004 4 commits
  2. 14 Jun, 2004 6 commits
  3. 11 Jun, 2004 3 commits
  4. 10 Jun, 2004 5 commits
  5. 09 Jun, 2004 5 commits
    • Robert Ricci's avatar
      Add duplicate fields from the location_info table into the new_nodes · b6341a4e
      Robert Ricci authored
      table - this will allow us to place them on the map while they are still
      in limbo.
      
       ALTER TABLE new_nodes ADD COLUMN (floor varchar(32) default NULL,
          building varchar(32) default NULL,
          loc_x int(10) unsigned NOT NULL default '0',
          loc_y int(10) unsigned NOT NULL default '0',
          contact tinytext,
          phone tinytext,
          room varchar(32) default NULL);
      b6341a4e
    • Leigh Stoller's avatar
      Add missing table from previous revision. Need to bump the revision · 1df5266f
      Leigh Stoller authored
      number in database-migrate.
      1df5266f
    • Leigh Stoller's avatar
      Switch everything over to using new buildings and floorimages tables · 315c5d9c
      Leigh Stoller authored
      that I added to the DB. See revision 1.251 of sql/database-create.sql.
      I have removed all of the hardwired names of buildings, images, files,
      etc. I have also added MEB floors 1 and 2, but they do not show up on
      the status page unlesss there are actually nodes assigned to them.
      When you go to set a node location, you do see the little thumbs of
      all existing buildings/floors, so you can add nodes to floors that do
      not currently have any.
      
      Still needs some work to cleanly display multiple buildings, but thats
      for another day.
      315c5d9c
    • Leigh Stoller's avatar
      Fill in new virt_lans slots, as described in revision 1.249 of · a2f84fa2
      Leigh Stoller authored
      sql/database-create.sql. The old ips slot of virt_nodes is left in
      place while we transition over.
      a2f84fa2
    • Leigh Stoller's avatar
      Add floorimages and buildings tables for wireless floormap support. · 632ef32b
      Leigh Stoller authored
      This is rather primitive still; We just need a place to define
      buildings and floors in buildings, so that we do not hardwire them
      into the code. This can get arbitrarily complicated, but not until we
      need it.
      
      	CREATE TABLE buildings (
      	  building varchar(32) NOT NULL default '',
      	  image_path tinytext,
      	  title tinytext NOT NULL,
      	  PRIMARY KEY  (building)
      	) TYPE=MyISAM;
      
      The image_path is optional for buildings. The title is a string to
      print along with the images (Merril Engineering Building).
      
      	CREATE TABLE floorimages (
      	  building varchar(32) NOT NULL default '',
      	  floor varchar(32) NOT NULL default '',
      	  image_path tinytext,
      	  thumb_path tinytext,
      	  x1 int(6) NOT NULL default '0',
      	  y1 int(6) NOT NULL default '0',
      	  x2 int(6) NOT NULL default '0',
      	  y2 int(6) NOT NULL default '0',
      	  PRIMARY KEY  (building, floor)
      	) TYPE=MyISAM;
      
      The image_path is not optional; it is either an absolute path or a
      filename in $TB/www. The thumb_path is for a tiny view of it. Floor is
      something like 1, 2, 3 but could also be basement, lobby, penthouse,
      etc. The x,y coordinates are intended to be bounding box coords of the
      "interesting" part of the image so that it is easier to scale specific
      entries from the location_info table. But, not really sure about this
      yet; needs more thought and some investigation about appropriate ways
      to store coordinate values like this.
      632ef32b
  6. 08 Jun, 2004 9 commits
    • Leigh Stoller's avatar
      af1130cb
    • Leigh Stoller's avatar
      A bunch of cleanup and improvement. · 7bc9596e
      Leigh Stoller authored
      * Redo all the MEB .png files, removing the existing titles from the
        images, and cropping down the images to the actual floors. Redid the
        thumbnail files at the same time. Note that the existing location_info
        entries need to be updated, which I will do.
      
      * Rework portions of floormap.in in preparation for using the DB to
        describe the image files (still hardwired into the floormap).
      
      * Draw a title in each image using a truetype font, based on what will
        eventually come out of the DB, plus a floor tag.
      
      * Add option (-t) to not draw any titles; just naked images.
      7bc9596e
    • Leigh Stoller's avatar
      Add another index to virt_lans. · d1998932
      Leigh Stoller authored
      d1998932
    • Robert Ricci's avatar
      Sigh, more 'porting'. In gcc 2.95, we have to use std::random() to · 063422d4
      Robert Ricci authored
      disambiguate from boost's random() function. But, for some reason,
      with 3.x, random() doesn't live in the std:: namespace. Macro-ize it.
      063422d4
    • Leigh Stoller's avatar
      Remove all uses of virt_nodes:ips and virt_lans:members; replace with refs · d7f45ef6
      Leigh Stoller authored
      to virt_lans table only; See revision 1.249 of sql/database-create.txt
      for all the gory details. This includes the awful queries in doifconfig
      that appeared to be O(N*N*N)!
      
      Shashi, my changes to hostnames might have broken NSE specfic stuff; I was
      not able to understand your comment about it, so maybe you better check to
      make sure I didn't mess something up. Eventually, we won't be returning
      hostnames from tmcd, but it should work during the transition phase.
      d7f45ef6
    • Leigh Stoller's avatar
      Add slots to virt_lans to rationalize the relationship between · 43a804e9
      Leigh Stoller authored
      virt_lans and virt_nodes. The intent is to migrate away from
      the convention we use in virt_nodes:ips and virt_lans:member
      to a more acceptable representation (one that does not rely
      on textual conventions like space separated lists of colon
      seperated entities. Instead:
      
      	virt_nodes
      		vname:	nodeA
              virt_lans
      		vname:  link0
      		vport:  0
      		ip:     1.1.1.2
      
      		vname:  link1
      		vport:  1
      		ip:     1.1.2.2
      
      	alter table virt_lans add vnode varchar(32) NOT NULL default '' \
      		after vname;
      	alter table virt_lans add vport tinyint(3) NOT NULL default '0' \
      		after vnode;
              alter table virt_lans add ip varchar(15) NOT NULL default '' \
      		after vport;
      
      Then run this script to update these new fields from the
      existing ips,member slots. This must be run after installing
      the parser changes, or you can just run it again.
      
      	./ipmember.pl
      
      This is a transitional phase; the old slots will be left in place
      until they are no longer used, at which time we will also add a
      unique key to the table (pid,eid,vname,vnode,vport). assign_wrapper
      will be the hardest to change, but other scripts should be easy.
      
      Whats vport about? Rather then rely on IP addresses to form a
      unique key, we use vport (a small integer) so that we can delay the
      IP assignment until later (after initial DB insertion).
      43a804e9
    • Leigh Stoller's avatar
      6d82dd53
    • Leigh Stoller's avatar
      Commit old bug fix; rename in group table. · ba8615cd
      Leigh Stoller authored
      ba8615cd
    • Jay Lepreau's avatar
      85303108
  7. 07 Jun, 2004 8 commits
    • Robert Ricci's avatar
      Bugfix for non-emulated links - find_best_link() will now only return · d1639730
      Robert Ricci authored
      a physical link with enough bandwidth for the virtual link. This fixes
      some problems with physical nodes that have multiple links of
      different speeds.
      d1639730
    • Mike Hibler's avatar
      Make it easier to tweak the amount of "reserved" memory (memory that · 64e4f41c
      Mike Hibler authored
      frisbee won't suck up for buffering).  Also check the kernel limit for
      maximum datasize and take that into account.  (Related to this: I have
      changed the frisbee MFS loader.conf file to set kern.maxdsiz=2000000000)
      64e4f41c
    • Robert Ricci's avatar
    • Leigh Stoller's avatar
      * Do not send SFS keys to node unless the node told us it is running · 0b682bab
      Leigh Stoller authored
        SFS.
      
      * Do not send SSH pubkeys to local nodes; the data is never used on
        local nodes, but along with SFS keys, comprises about 85% of the
        data we send back in the accounts request.
      0b682bab
    • Leigh Stoller's avatar
      Add support for deleting node locations. · 89001ca0
      Leigh Stoller authored
      89001ca0
    • Leigh Stoller's avatar
      Add menu option to Set Location Info. · 4c092c38
      Leigh Stoller authored
      4c092c38
    • 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