- 05 May, 2004 1 commit
-
-
Leigh B. Stoller authored
something we are continually being asked to do! This script will only operate in UNAPPROVED users; once a user is approved it becomes too difficult to deal with cause of existing directories which might be exported to active experiments. We can probably deal with this, but we rarely do this to an approved user, so its not a big deal. Obvious: This script can get out of sync with the DB, but of course.
-
- 04 May, 2004 4 commits
-
-
Robert Ricci authored
with parsing assign's output.
-
Kirk Webb authored
-
Robert Ricci authored
the conglomerate link object, not the real link, for the reversed flag.
-
Robert Ricci authored
makes link conglomerates.
-
- 03 May, 2004 5 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Robert Ricci authored
we might be combining links that go in different directions. Keep track of which direction a link points, and reverse the interfaces when we print it out, if it's going the opposit direction than the other links in the conglomerate.
-
Leigh B. Stoller authored
see (or remember) any reason for this slot to be 20 chars, when the name of every other vname slot is 32. I looked in the event scheduler and there do not appear to be any problems there with bumping it. Note that I choose 64 cause we tend to construct agent names that might be longer then 32 since they are based on real vnames (lan0, node0, etc).
-
Timothy Stack authored
data. Add hostkeys() to the node module so we can get the SSH host keys from nodes.
-
- 30 Apr, 2004 2 commits
-
-
Leigh B. Stoller authored
new directive for your NS file: tb-use-physnaming(1) which means that if you have a line like this: set pc6 [$ns node] and pc6 is an actual name of a physical node, then do an implicit "fixnode" to pc6. In other words, pc6 is the name of the node in your NS file (virtual topo) *and* will be fixed to the real pc6. Needless to say, if pc6 is allocated when you go to swapin, you lose.
-
Leigh B. Stoller authored
-
- 29 Apr, 2004 10 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Jay Lepreau authored
-
Robert Ricci authored
Add a new function, factor_out_fixednodes, that takes a set of nodes and a reference to another coarsening function. Seperately coarsens the fixed nodes and passes the non-fixed nodes to the other coarsener.
-
Robert Ricci authored
Intended for debugging, and to use used with assign's pre-check feature to catch experiments that will never be mappable.
-
Robert Ricci authored
around from the last boot, and we have more than one CPU: line. Sometimes (such as at Wisc.), the first instance contains garbage. So, instead of exiting after the first CPU: line, use a different method of handling unknown CPU speeds, modeled after chipset.awk .
-
Mike Hibler authored
-
Leigh B. Stoller authored
currently available to only people with stud=1 status in the DB. * www/tbauth.php3: Add a STUDLY() function to check that bit. * www/linktest.php3: New page to run linktest on the fly. The level defaults to the current level in the experiments table, but you can override that via the form on the page. * www/showexp.php3: Add link to aforementioned page. STUDLY() only. * www/beginexp_form.php3: Add an option (selection) to set the linktest level for create/swapin. Defaults to 0 (no linktest). STUDLY() only. * www/editexp.php3: Add an option to edit the default linktest level for an experiment. STUDLY() only. * tbsetup/batchexp.in and tbsetup/swapexp.in: Add code to optionally run the linktest, sending email if it fails (exists with non-zero status). Failure does not affect the swapin.
-
Timothy Stack authored
-
Leigh B. Stoller authored
experiment table rows after a parse. It used to be that slots that were not explicitly given values by the parser would be left as whatever they were in the DB. Now I get the default values by doing a "describe experiments" query, inserting those values for any slot that is not set by the parser.
-
- 28 Apr, 2004 8 commits
-
-
Robert Ricci authored
In the ptop file, put the specific protocol (ie. 80211a) on the link line. In the ptop file, there is now only one fake airswitch. It can take on all wireless types. We now only print one link line for each physical wireless interface - it has the maximum bandwidth supported by the interface, and is able to take on any protocol supported by the interface.
-
Robert Ricci authored
match what ptopgen puts into to ptop file.
-
Robert Ricci authored
is_string() function returns true for numeric strings. I guess this makes some sense, but it wasn't what I was expecting.
-
Robert Ricci authored
-
Robert Ricci authored
the temperature gets below zero, or becomes NaN (which can happen if the solution stabilizes during melting.)
-
Leigh B. Stoller authored
-
Robert Ricci authored
in some (okay, many) cases. Not sure why, though.
-
Leigh B. Stoller authored
-
- 27 Apr, 2004 2 commits
-
-
Jay Lepreau authored
-
Robert Ricci authored
epsilon termination (and ALLOW_NEGATIVE_EPSILON), it used to be the case that we wrapped the termination condition in a fabs(), and compared that to epsilon. The termination condition is basically a measure of how 'stable' of a score we're at. What this meant was that we used to keep going until we reached a space where the solution was going neither up nor down too much. All this is relative to the difference between initial socre and the best score - so, if those are close (ie. it's an easy problem), we could end up thrashing a whole lot. With the new behavior, if we ever hit a spot in which solutions start getting worse, we'll stop. Also, fix the GNUPLOT_OUTPUT code, which I used to debut this.
-
- 26 Apr, 2004 5 commits
-
-
Leigh B. Stoller authored
parsing code (for simplistic xml we spit from the parser).
-
Robert Ricci authored
and ptopgen. Add link typing to assign. Each virtual link is given a single type. Each physical link is given one or more types. A virtual link will only be mapped to a physical link which can satisfy its type. In both the top and ptop files, the link types are now mandatory, and they fall at the end of the mandatory link arguments. This differers from the 'regular' type system in two ways. First, a plink is not constrained to filling only one type at a time. If we are using emulated links, a plink could satisfy, say, an 'ethernet' link and an 'fxp' link at the same time. This seems to more naturally match the way we'll use link types. Second, there are no counts assoicated with link types, as there are for node types. ie. a link is not an 'ethernet:1' link, it's an 'ethernet' link. Presumably, when multiplexing virtual links onto a physical one, it's bandwidth that's the factor that limits the multiplexing. The link type is now taken into account when constructing pclasses, and in the mapping precheck. As a side-effect of these changes, the silly 'count' argument on the end of link lines in the ptop file, which was used for the fake LAN nodes, is no longer supported. The implementation could be a bit more efficient, but that would mean tossing more of the stuff we do with boost's graph library. I think this should happen, but today is not the day. Modify assign_wrapper and ptopgen to spit out top and ptop files in the new format. Changed the constant LINK_UKNOWN to LINK_UNMAPPED - the new name more accurately reflects the way this constant is used. Add a new '-n' flag that tells assign not to do annealing, just exit after the type precheck. Clarify the usage message for the -c flag. Removed some dead code for dealing with LAN nodes.
-
Mike Hibler authored
1. "make clean" will just remove stuff built in the process of a regular build 2. "make distclean" will also clean out configure generated files. This is how it was always supposed to be, there was just some bitrot.
-
Mike Hibler authored
of their file server (aero) Extend DISABLE_NAMED_SETUP: when set, we don't set a nodes hostname to <name>.<eid>.<pid>.<domain> since that won't resolve. Just stick with pc<XXX>.<domain> in those cases. The various sethostname* scripts are now .in so that they get preprocessed to check for the option.
-
Leigh B. Stoller authored
assign exits (exit codes). * in assign_wrapper, no longer return any status from assign to the caller. This was pointless. Instead, return 0 on success, 1 on controlled error, and -1 on uncontrolled error (die() called someplace). Add in CANRECOVER bit whenever the wrapper exits, even if uncontrolled, by putting in an END block to catch the die. This should prevent certain cases where a swapmod error would be flagged as not recoverable. * Remove most of the assign output processing since we no longer return its codes. Still print a portion of it to the log though. * Change call to fatal() in assign_wrapper; do not pass an exitcode since in every case it was the same damn thing! * Change tbswap to no longer carry assign_wrapper exit code to its exit. * Change the batch daemon to treat all errors as continuable (keep batch queued) unless exit code is -1. We will need to revisit this a bit perhaps, when Rob adds precheck code.
-
- 23 Apr, 2004 3 commits
-
-
Mike Hibler authored
It didn't fix the problem and it makes nodes fail on startup sometimes.
-
Kirk Webb authored
-
Leigh B. Stoller authored
the parser; it still spits out the simplistic xml stuff and xmlconvert still reads that): * When generating an XML representation of an experiment, I read the virtual tables and build a *flat* data structure. {"settings" => {pid:testbed, eid:foobar ....}. "nodes" => [ {vname:nodeA, osid:RHL-STD ... }, ], "lans" => [ {vname:link0, member:nodeA ... }, ], ... So, nodes is a list of node hash tables, lans is a list of hash tables, etc. All of the other virt_tables are represented as well. You can find everything you want as long as you the names of the fields! * Once I have the above data structure, I use the XML-RPC lib to turn it into an XML document, and spit out the resulting XML string (a very long string!) Note that XML-RPC has its own format that allows you to convert data structures into XML and back; thats how you issue an RPC from your python client to a perl server. * Our python XMLRPC server basically uses xmlconvert as a backend so it can ship the above data structure back to client. We could also allow the client to ship the data structure back, and have xmlconvert upload the changes back to the DB. The reason for doing it in xmlconvert as a backend is so that this XML stuff is in just one place; whoever reads/writes this stuff has to know a lot of internal detail about an experiment (like what things should not be exported and what things we should not allow to be imported). I prefer to keep that all in one place since its easy to pass XML strings around (as long as everyone is talking the same dialect). Future work is to pick an XML representation that is not tied to XML-RPC. Ideally, we want to take a data structure in Perl, spit out the XML tree (with a DTD) and be able to reconstitute that in another program, using the XML Parser library (based on expat, which is common to Perl, Python, C).
-