- 22 Aug, 2003 1 commit
-
-
Austin Clements authored
-
- 06 Aug, 2003 1 commit
-
-
Mac Newbold authored
-
- 28 Jul, 2003 1 commit
-
-
Robert Ricci authored
database yet, so using node_reboot on them would be catastrophic. Uses the special newnode MFS's ssh key. Also, when a node has booted or the first time, it may be up on a temporary IP address rather than its permanent one, so we pass the node's IP rather than node_id on the command line. Only tries ssh.
-
- 25 Jul, 2003 1 commit
-
-
Leigh B. Stoller authored
tbswap to use this version inside the testbed project only! All other projects will see the old version for now; there are just too many things to test, and the testsuite gets just a fraction of them. Some highlights (which I will expand on later when I commit this version to the main version): * New -t option to create the TOP file, and then exit. The only other side effect of this is to update the min/max nodes for the experiment in the DB, unles new option -n (impotent mode) is given. * New -n option to operate in impotent mode; do not allocate nodes and do not modify the DB. Okay, so this option is not as great as it sounds. I eventually hit the point of diminishing returns, with trying to make things work right without DB modification. At some point I just throw in the towel and exit. This currently happens after interpolating the link results of assign. But, I have found it very useful, and could get better with time. Being able to run assign on the main DB without sucking up the nodes is nice for debugging. * Lots of data structure organization, mostly on the virtual topology side of assign (you can think of assign as two sections, the part that interprets the DB tables and creates the TOP file, and the part that reads the results of assign and sets up all the physical stuff in the DB). I removed numerous global hashes, and combined them into aggregate data structures, such as they are in Perl. My approach for this was to read the tables from the DB, and keep them handy, extending them as needed with stuff that assign_wrapper generates as it proceeds. This has the side effect of cutting down on the number of queries as well. The next task is to do the physical side reorg, but not up for that yet.
-
- 14 Jul, 2003 1 commit
-
-
Robert Ricci authored
-
- 08 Jul, 2003 1 commit
-
-
Leigh B. Stoller authored
has been working on minibed okay for a while. In other words, the new parser really is going to be installed on mainbed, any moment!
-
- 30 Jun, 2003 1 commit
-
-
Leigh B. Stoller authored
do the actual parse. The parser now spits out XML instead of DB queries, and the wrapper on boss converts that to DB insertions after verification. There are some makefile changes as well to install the new parser on ops via NFS, since otherwise the parser could intolerably out of date on ops!
-
- 21 Apr, 2003 1 commit
-
-
Robert Ricci authored
the experimental switches. The idea is to be able to auto-detect where a node has been plugged in, so that we fill out the wires table without any manual intervention! This is a step towards being able to automate the adding of nodes. Has a runtime linear in the number of VLANs on the experimental switches, so it should run pretty fast on a new testbed, but can be kinda slow on, say, ours.
-
- 16 Apr, 2003 1 commit
-
-
Leigh B. Stoller authored
experiment, rather than as an administrator, which presents group permission problems when the experiment is in a subgroup (requires two additional group, whereas suexec adds only one group). That aside, the correct approach is to run the swap as the creator. To do that, must flip to the user (from the admin person) in the backend using the new idleswap script, and then run the normal swapexp. Add new option to swapexp (-i) which changes the email slightly to make it clear that the experiment was idleswapped, and so that the From: is tbops not the user (again, to make it more clear).
-
- 04 Apr, 2003 1 commit
-
-
Chad Barb authored
tbswapin and tbswapout are no more.
-
- 03 Apr, 2003 1 commit
-
-
Mac Newbold authored
forthcoming, along with addition of idletimes, idlemail, and webidlemail.
-
- 11 Mar, 2003 1 commit
-
-
Chad Barb authored
New version of unified tbswap in/out. startexp/endexp/swapexp have been changed to use new script. tbswapin and tbswapout have been replaced with a script which spits out a warning message, then calls tbswap appropriately. The README has also been modified.
-
- 07 Mar, 2003 1 commit
-
-
Leigh B. Stoller authored
-
- 13 Feb, 2003 1 commit
-
-
Leigh B. Stoller authored
Change mkacct usage in mkproj to tbacct. Change rmuser to invoke tbacct instead of issuing ssh commands to ops.
-
- 24 Jan, 2003 1 commit
-
-
Leigh B. Stoller authored
-
- 19 Dec, 2002 1 commit
-
-
Leigh B. Stoller authored
-
- 24 Oct, 2002 1 commit
-
-
Leigh B. Stoller authored
the web page to add/delete a key! Nodes were getting updated, but the SFS server was not cause there was no program to fire the new keys over there. The operation is currently simple. sfskey_update on boss constructs a new sfs_users file. Then it runs sfskey_update.proxy on ops (vis ssh of course), and gives it the new file via stdin. The proxy creates the .pub version from that file, and then moves the two new files into place in /etc/sfs. I employ the same locking stuff that Rob did in exports_setup and named_setup to prevent multiple updates from stacking up. Not likely, but might as well. Also note that the entire file is regenerated. When we get 5000 users this might have to change a little bit! Also changed mkacct slightly. Instead of doing a "sfskey register" on ops after generating the new key, just add it to the DB. Then fire off an sfskey_update to push the new keys over. Also add a -f flag to mkacct for use from the web page to indicate that the user has changed his SFS keys. Note that mkacct should probably take a series of flags since we have it as a wrapper for several things. Or maybe split all this stuff up.
-
- 18 Oct, 2002 1 commit
-
-
Mac Newbold authored
Changes to watch out for: - db calls that change boot info in nodes table are now calls to os_select - whenever you want to change a node's pxe boot info, or def or next boot osids or paths, use os_select. - when you need to wait for a node to reach some point in the boot process (like ISUP), check the state in the database using the lib calls - Proxydhcp now sends a BOOTING state for each node that it talks to. - OSs that don't send ISUP will have one generated for them by stated either when they ping (if they support ping) or immediately after they get to BOOTING. - States now have timeouts. Actions aren't currently carried out, but they will be soon. If you notice problems here, let me know... we're still tuning it. (Before all timeouts were set to "none" in the db) One temporary change: - While I make our new free node manager daemon (freed), all nodes are forced into reloading when they're nfreed and the calls to reset the os are disabled (that will move into freed).
-
- 09 Oct, 2002 1 commit
-
-
Mac Newbold authored
(installs into /usr/testbed/bin/tbresize but isn't avail. on ops yet) Usage: tbresize [-d] -a -e pid,eid -n num -t type [-p prefix] tbresize [-d] -r -e pid,eid <node> [<node> ...] tbresize -h Use -h to show this usage message. Use -d to enable extra debugging output. Use -a to add nodes to an experiment. Use -r to remove nodes from an experiment. Use -e pid,eid to specify the experiment to resize. Use -n to specify the number of nodes to add. Use -t to specify the type of the nodes to be added (pc, pc850, pc600, etc). Use -p to specify a prefix for vnames (i.e. "node" => node0 .. nodeN). With -r, specify a list of one or more nodes to be removed (i.e. pcXX). Can even resize an expt down to no nodes then back up again. If it has one LAN/link in the expt, it adds the new nodes to it. If it has zero or more than one, it doesn't connect the new nodes to the topology. After finding and reserving (or before freeing) it fixes up the right places in the db and reruns snmpit, then reruns exports_setup and named_setup and reboots all the nodes that are now in the expt so they get updated configuration data. Even visualizes properly after being resized, the only catch is that the ns file is the original one, not one generated from the db. Use it, abuse it, have fun with it, and let me know what breaks.
-
- 02 Oct, 2002 1 commit
-
-
Chad Barb authored
Functional, but needs some work. Won't allow non-admins to use it (since it doesn't do "proper" permission checking yet.) Input is aggressively checked for bad mojo before being pasted into any command line. Run from /delaycontrol.php3?eid=exptname&pid=projname Admin bit must be on.
-
- 10 Sep, 2002 1 commit
-
-
Mike Hibler authored
-
- 06 Sep, 2002 1 commit
-
-
Mike Hibler authored
as it is on ops, so move eventsys_control to bin (from sbin)
-
- 11 Jul, 2002 1 commit
-
-
Leigh B. Stoller authored
redirecting output.
-
- 07 Jul, 2002 1 commit
-
-
Leigh B. Stoller authored
-
- 28 Jun, 2002 1 commit
-
-
Leigh B. Stoller authored
-
- 24 Jun, 2002 1 commit
-
-
Robert Ricci authored
links that do not need to get created in the ops install target. sshtb also checks for unified control nodes, and if the destination host is one of them, just runs the command, rather than invoking it remotely via ssh.
-
- 11 Jun, 2002 1 commit
-
-
Mac Newbold authored
Add idlecheck to the web pages. To have suexec let us run idlecheck, I had to make a wrapper to go in the libexec dir, and add it to the makefile and configure. Added a warning to idlecheck about its output format being the input format for showexp_list.php3, so people change both if they change one.
-
- 31 May, 2002 1 commit
-
-
Leigh B. Stoller authored
-
- 24 May, 2002 1 commit
-
-
Robert Ricci authored
Checks to make sure that all ports for an experiment are in the correct switch state. If they are enabled, they should have carrier. Note that enough code is shared between checkports and portstats that some of it could probably be moved to a library at this point.
-
- 16 May, 2002 1 commit
-
-
Leigh B. Stoller authored
-
- 14 May, 2002 1 commit
-
-
Chad Barb authored
Whee!
-
- 09 May, 2002 1 commit
-
-
Leigh B. Stoller authored
parser runs. The staticroutes script is a wrapper for Chad's route solver. The network optimization is currently turned off; use -t to turn it on, until I know if its correct. Note that Chad gets credit for routecalc.cc; I'm just committing the file for him, with a couple of trivial changes that I made.
-
- 08 May, 2002 1 commit
-
-
Leigh B. Stoller authored
remote node. Called out of os_setup and tbswapout (-k option to tear down the vnodes). Invokes the proper script on the remote node, with the vnodeid (vronXXX) as the key (which is passed along in tmcc to distinguish vnodes from each other).
-
- 06 May, 2002 1 commit
-
-
Chad Barb authored
added build of wanlinksolve.cc
-
- 18 Apr, 2002 1 commit
-
-
Mike Hibler authored
-
- 02 Apr, 2002 1 commit
-
-
Leigh B. Stoller authored
experiment log file to the user as it gets generated. The web page does not redraw, it just never exits until the backend sees that the experiement transition is done, and then it exists, which terminates the script. I added a DB field to hold the logfile name and some routines in libdb, with the idea that this might be more generally useful at some point. Next time you create an experiment, look for the last sentence, and click on "realtime".
-
- 11 Mar, 2002 1 commit
-
-
Leigh B. Stoller authored
remove the originals, so that we can run the files through configure. NOTE: I wanted to keep the RCS history intact so I went over to the CVS directory on moab and copied the ,v file to the new names, and then did a normal cvs remove the originals. This keeps the RCS history going without screwing up anyone. Not a recommended approach, but what the hell.
-
- 08 Mar, 2002 1 commit
-
-
Robert Ricci authored
Also improved the usage message.
-
- 07 Mar, 2002 1 commit
-
-
Robert Ricci authored
Usage: portstats <pid> <eid> [vname ...] [vname:port ...] If only pid and eid are given, prints out information about all ports in the experiment. Otherwise, output is limited to the nodes and/or ports given.
-
- 05 Mar, 2002 1 commit
-
-
Leigh B. Stoller authored
assign_wrapper.in: Hack in a change that ensures a delay node is created for any link on which an event is posted (up,down,modify), no matter what its initial parameters are. ie: If a link is created with no delay, but there is an event that adds a delay later, then we must drop in a delay node. Same for up/down on a link. We do this in the delay node. I am reasonably confident that this change is fine for duplex links, but I am less sure of the effect on lans! eventsys_control.in: Checkpoint latest changes. Add "replay" option, which right now just stops and starts the event scheduler so that it reloads the entire event list. Add check for existing experiment, and that the experiment is either active or swapping (do not want to start a scheduler for a swapped out experiment!). Add check to see if there are any events, and skip startup if there are not events in the DB. Lastly, get very serious about preventing more than one scheduler from being started, either by accident or intentionally. My protocol is to lock the table, grab and set the pid to -pid, test the pid for a positive value, and if positive, send the scheduler a kill(TERM) so that it can cleanup, clear the pid to zero in the DB, and exit. This approach ensures that we do not try to send a kill to a pid that is no longer active or owned by the user (this last part is not really necessary cause of how pids are reused, but it was easy to add so why not). exports_setup.in: Trivial change to make it easier to turn this on temporarily in devel trees. named_setup.in: Ditto. node_reboot.in: Add call to TBdbfork() in child cause of apparent DB connection problems across forks. In the child, set the eventstatus for the node to REBOOT if successful (not this event status stuff is temporary, will be recast in next set of revisions). GNUmakefile: Add new controlling program, eventsys_control. power.in: Ditto previous comment about REBOOT. os_setup.in: Non event system cleanups. tbend.in: Add DB cleanup of the new virt_trafgens and eventlist tables. tbprerun.in: Ditto. tbreport.in: Print out the event list in a pretty print format. tbswapin.in: Add call to start the event system. Also a big fix; move the named script up above the os_setup so that the named tables have been updated by the time the first node reboots. I noticed that nodes were failing on gethostbyname(). tbswapout.in: Add call to stop the event system.
-