- 12 Feb, 2009 1 commit
-
-
Leigh B. Stoller authored
everyone names their nodes pcXXX ...
-
- 29 Jan, 2009 1 commit
-
-
Leigh B. Stoller authored
-
- 10 Sep, 2008 1 commit
-
-
Leigh B. Stoller authored
-
- 03 Sep, 2008 1 commit
-
-
Leigh B. Stoller authored
-
- 10 Jul, 2008 2 commits
-
-
Leigh B. Stoller authored
figured out.
-
Leigh B. Stoller authored
physical or virtual, as indicated by the isvirtnode flag.
-
- 09 Jul, 2008 1 commit
-
-
Leigh B. Stoller authored
Add SelectOS() method to encapsulate the os_select goo.
-
- 03 Jun, 2008 1 commit
-
-
Leigh B. Stoller authored
-
- 20 May, 2008 1 commit
-
-
Leigh B. Stoller authored
-
- 19 May, 2008 1 commit
-
-
Leigh B. Stoller authored
Note that I did not change the plab code; needs to be done.
-
- 16 Apr, 2008 1 commit
-
-
Leigh B. Stoller authored
(and vnodes). Each time a node is allocated to an experiment it gets a new root password (using the node_attributes table). The watchdog has a new section that resets the root password (defaults to hourly). We still using a common password in the image to avoid totally bricking ourselves, but once a node boots into an experiment it gets a new root password. This prevents hundreds of nodes with the same password, and all of the problems associated with that.
-
- 14 Mar, 2008 1 commit
-
-
Leigh B. Stoller authored
make the laptops very sleepy.
-
- 25 Feb, 2008 1 commit
-
-
Leigh B. Stoller authored
-
- 20 Dec, 2007 1 commit
-
-
Robert Ricci authored
what we get back from the DB is a pid_idx (or we can get a pid, if we want...), so change a couple of comparisons.
-
- 05 Dec, 2007 2 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
- 21 Aug, 2007 1 commit
-
-
Leigh B. Stoller authored
widearea reloading support. * New slot in the images table to store an access key which remote sites must provide in order to download an image (via https). * tmcd returns a different kind of ADDRESS field from doloadinfo. Instead of the multicast stuff, return a URL that points to boss' web server. The URL is of the form: https://www.myemulab.net/spewimage.php?imageid=10013&access_key=abcdef which as you can see is fully specified; the client does not need to know anything else. * New webpage and backend scripts appropriately called "spewimage" which also includes support for the http HEAD request (from wget) to avoid downloading images that are already on the node. I just learned about this HEAD request stuff today ... but otherwise these operate as expected, spewing the image if the access key is provided. * Changes to rc.frisbee to deal with remote loading. In addition to URL support, I also added support for simple paths, the intent being that we will probably distribute images offline (say, at night) so that when a node reboots it doesn't actually have to wait 60 minutes for an image to download. I have not added any server side support for this yet though. Maybe later this week. * Other bits and pieces and fixes to make this work.
-
- 16 Aug, 2007 1 commit
-
-
Leigh B. Stoller authored
place; the new wanodecheckin script that creates a widearea node when it first appears.
-
- 02 Aug, 2007 1 commit
-
-
Leigh B. Stoller authored
thankless job but someone has to do it. I'm expecting to finish by the time Bush 43 leaves office.
-
- 20 Jun, 2007 1 commit
-
-
Leigh B. Stoller authored
processing the node_history table, but that is *way* too slow to do on the fly (say, from the web interface) cause of the number of records, so the summary info is stored in the new node_utilization table. I generate the summary info as new entries are added to node_history (in SetNodeHistory) but if that becomes too messy, we can just as easily shift to processing the table on a nightly basis. Note that I added a new "inception" date field to the nodes table, which will get set on new nodes, but for existing nodes I have to derive it from the first entry in the node_history table, or else the numbers will not make sense.
-
- 09 May, 2007 1 commit
-
-
Mike Hibler authored
-
- 07 May, 2007 1 commit
-
-
Leigh B. Stoller authored
Other stuff leaked in too ... I did separate out a lot of tbsetup/libArchive into db/Archive, and whats left in libArchive.pm will eventually move over into the Template library. Note that I have dropped archiving of plain experiments; this is not really owrth it outside the workbench context, and it just wastes space and makes a lot if stuff painful in the web interface.
-
- 06 Mar, 2007 1 commit
-
-
Leigh B. Stoller authored
indexed by exptidx. I also got the last of the pid and pid,gid tables.
-
- 23 Oct, 2006 1 commit
-
-
Leigh B. Stoller authored
changed to use the NodeType object, but was still using values that have been moved from the node_types table to the node_type_attributes table.
-
- 18 Jul, 2006 1 commit
-
-
Leigh B. Stoller authored
table, into a new table called node_type_attributes, which is intended to be a more extensible way of describing nodes. The only things left in the node_types table will be type,class and the various isXXX boolean flags, since we use those in numerous joins all over the system (ie: when discriminating amongst nodes). For the most part, all of that other stuff is rarely used, or used in contexts where the information is needed, but not for type descrimination. Still, it made for a lot of queries to change! Along the way I added a NodeType library module that represents the type info as a perl object. I also beefed up the existing Node module, and started using it in more places. I also added an Interfaces module, but I have not done much with that yet. I have not yet removed all the slots from the node_types table; I plan to run the new code for a few days and then remove the slots. Example using the new NodeType object: use NodeType; my $typeinfo = NodeType->Lookup($type); if ($typeinfo->control_interface(\$control_iface) || !$control_iface) { warn "No control interface for $type is defined in the DB!\n"; } or using the Node: use Node; my $nodeobject = Node->Lookup($node_id); my $imageable = $nodeobject->NodeTypeInfo()->imageable(); or my $rebootable = $nodeobject->isrebootable(); or $nodeobject->NodeTypeAttribute("control_interface", \$control_iface); Lots of way to accomplish the same thing, but the main point is that the Node is able to override the NodeType (if it wants to), which I think is necessary for flexibly describing one/two of a kind things like switches, etc.
-
- 12 Oct, 2005 1 commit
-
-
Mike Hibler authored
-
- 04 Aug, 2005 1 commit
-
-
Mike Hibler authored
when assigning vnode (control net) IP addresses. Once we hit 255, we increment the low bit of the network address ala: on pc254: 172.16.254.N on pc255: 172.17.1.N Note that the Utah case is different than the default in that we wrap at 200 rather than 254. This is so that we "wrap" at the boundary of the new cluster (which starts at pc201); i.e., pc201 has addresses 172.18.1.N.
-
- 29 Jul, 2004 1 commit
-
-
Mike Hibler authored
This is apparently a no-no and was happening at DETER.
-
- 07 Jul, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 23 Jun, 2004 1 commit
-
-
Leigh B. Stoller authored
vserver/pcplab). Rather then 10000s of fixed node entries in the DB, create node entries on the fly as needed (assign_wrapper), and then delete them when they are no longer used (nfree). When new nodes check in, no longer create all those nodes table entries (utils/newnode.in and tbsetup/plab/libplab.py.in). I've added a new library: db/Node.pm which is something I started a while back, and decided to commit, along with the support for creating and deleting virtual nodes. CreateVnodes() creates a new set of nodes, choosing non-conflicting names in the DB, and then immediately reserves them to the pid/eid specified. DeleteVnodes takes a list of vnodes and deletes them from nodes,reserved,etc. This library does a few other things which I am going to be playing with, so you might want to go read the comment at the top of the file. Feel free to speak up. CreateVnodes() is from called assign_wrapper when a node type has the "isdynamic" property. Otherwise does the existing avail/nalloc stuff. DeleteVnodes() is called from nfree when the node type has the isdynamic property. I've added a script (sql/delvnodes.pl) to run after updating the DB and software. All free pcvm and pcplab virtual nodes are deleted from the DB; reserved ones will get deleted whenever their experiment ends. I've noted all of this in doc/UPDATING, including setting the isdynamic property on pcvm in the node_types table. I've left tbsetup/plab/libplab.py.in to create a single pcplab node for the management sliver (still called -20). We can worry about this later. All this for modelnet?
-