- 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.
-
- 12 Feb, 2002 1 commit
-
-
Leigh B. Stoller authored
line in all email from the system. Remove all of the TESTBED: tags and modify the email function in the web server and perl library to prepend @DOMAIN@: to the message.
-
- 08 Feb, 2002 1 commit
-
-
Leigh B. Stoller authored
very useful by itself anyway.
-
- 16 Jan, 2002 1 commit
-
-
Robert Ricci authored
Appropriate enviroment cleaning and taint checking is done, and it drops root privileges immedeately after opening the logfile, so frisbeed still runs as the invoking user rather than root.
-
- 07 Jan, 2002 1 commit
-
-
Robert Ricci authored
-
- 26 Dec, 2001 1 commit
-
-
Leigh B. Stoller authored
mkprojdir, mkacct-cntrl, mkgroup, and group-update into a set of new scripts that are more specific to their intended operation, and strive to do less work. 1. mkacct - Replaces mkacct-cntrl. This script no longer does any group stuff. All it does is create new accounts, or update the password and gecos fields of existing accounts. Usage is the same as it was: "mkacct <userid>", and is typically invoked from the web interface via the approveuser form. 2. mkgroup - Replaces group-update. This script creates new groups, either for the main project when it is approved, or for subgroup creation. This script does not alter the group membership. Usage is typically from the web interface, but mkgroup can be invoked from the command line: "mkgroup [-b | -a] <pid> <gid>" where -b puts it in the background and sends email later, while -a just captures the log and emails. This "audit" feature is going to find its way into more scripts as soon as I figure out a neat and clean perl mechanism to make it easy. 3. setgroups - Replaces group-update. This script modifies the group membership of either specific users, or all the users in a project. It is typically invoked from the web interface when a project leader edits the subgroup membership or when a user is first approved to a project or subgroup. Command line usage is: setgroups [-b | -a] -p <pid> [user ...] setgroups [-b | -a] [user ...]\n The first form is mostly a means to speed things up. The web interfaces knows exactly what users have need to be changed, but a global project update is nice too. 4. mkproj - Replaces mkprojdir. Actually, mkproj still has all that directory code, but it also handles creating the groups and the account for the project leader. Part of my policy to move as much random code out of the web interface and into the PERL backend where it belongs.
-
- 05 Nov, 2001 1 commit
-
-
Leigh B. Stoller authored
stuff so that the web page did not need to do anything except display and form processing. Add tbsetup/node_control for backend so that it can be called from the command line too. The virt_nodes table is also updated (for those values that have virt_nodes equivalents), and this mostly implies that changes can be applied only to swapped in experiments since we use the reserved table to map pcXXX to its vname so that the virt_nodes table can be updated. It is an easy extension to allow changes based on the pid/eid/vname, but I do not see a reason to support this ability yet. Note usage: Usage: node_control name=value [name=value ...] node [node ...] node_control -e pid,eid name=value [name=value ...] node_control -l For multiword values, use name='word0 ... wordN' Use -l to get a list of operational parameters you can change. Use -e to change parameters of all nodes in an experiment. {824} stoller$ /build/testbed/install//bin/node_control -l next_boot_osid - (administrators only) startup_command bios_version - (administrators only) rpms - (multiple options allowed) default_boot_cmdline default_boot_path default_boot_osid next_pxe_boot_path - (administrators only) tarfiles - (multiple options allowed) pxe_boot_path - (administrators only) next_boot_cmdline - (administrators only) deltas - (multiple options allowed) next_boot_path - (administrators only)
-
- 31 Oct, 2001 1 commit
-
-
Robert Ricci authored
Now supports multiple switches and multiple stacks. To do this, the existing snmpit_cisco module had to be modified to behave as a true object, and its interface changed. A new layer of abstraction has been added: the stack. This is to hide the details of how things such as VLAN creation occur across multiple devices. For example, in Cisco stacks, you always contact the stack leader (VTP server) to create/delete VLANs. Other switches may have different semantics, such as having to contact every switch to create the VLAN. Now uses libdb for database access and permissions checks. Hardware details are hidden as much as possible in the user interface. For example, the creation and deletion commands now take VLAN identifiers, and snmpit transparently turns these into device-specific VLAN numbers. snmpit.in has been re-written from scratch. The new version uses three basic steps: 1) Process command line options and determine operation to run 2) Determine which devices, ports, and VLANs will be involved and make the appropriate objects 3) Actually perform the operation when TESTMODE is set, does only steps 1 and 2 Some command-line options have changed. This is because we now use getopt, rather than a home-grown parser, to parse the command line. As a result of the large number of options, and an attempt to mimic old options as much as possible, the options are no longer very mnemonic. Uses a new table called switch_stacks to figure out which switches belong to which stacks. A stack is defined as a set of switches that share VLANs. All snmpit scripts and modules now run with 'use strict' to help catch certain programming errors. VLAN listing now prints out the pid/eid and vname for VLANs, if possible. A few things have bitrotted due to these changes: * snmpit_intel will need to be re-tooled to use the new interface, and to behave as a proper object * vlansync, vlandiff, and resetvlans depend on the output of snmpit, and will need to be updated to understand its new output format
-
- 24 Oct, 2001 1 commit
-
-
Leigh B. Stoller authored
but simply entered into the DB record for the experiment until we know what to do with them. Add to batchexp script arguments, since all that stuff is done outside the web interface. Add a swapexp perl script to swap an an experiment in/out form the command line. Add web links on the Experiment Information page to do this from the web interface. A bunch of locking changes. Previously expt_terminating in the experiment record prevented multiple calls to terminate an experiment, but now we have a more general locking problem with start,swapin,swapout, and terminate, so change expt_terminating to expt_locked (still a datetime field) and add locking to all of startexp, swapexp, and endexp. Note that batch experiments cannot be swapped yet because of locking issues still to be resolved. Minor cleanup in tbreport to make email message look better.
-
- 17 Oct, 2001 1 commit
-
-
Leigh B. Stoller authored
experiment code. No longer uses another table. Rather, the experiment record contains a couple of extra fields for the batch system. Also combined some of the backend code (no longer a killbatch script). Also added scriptable experiments; the batchexp program in the bin directory can start an experiment from the command line, and in fact is used from the web page for both batch experiments and immediate experiments (-i option). All of the DB code that was in the web interfaces was moved to batchexp.
-
- 16 Oct, 2001 1 commit
-
-
Leigh B. Stoller authored
-
- 21 Sep, 2001 1 commit
-
-
Robert Ricci authored
/proj/<proj>/tiplogs/<exp>/ . If set, virutal node name are used for the destination filename. Run by batch_daemon on experiment termination, and also available to users (through paperbag/plasticwrap) any time during an experiment.
-
- 19 Sep, 2001 1 commit
-
-
Leigh B. Stoller authored
the list of nodes for a pid/eid, and fires off an update on each one. This is for updating accounts and mounts on nodes after boot. Currently invoked from the experiment sharing web page, but could be more general purpose.
-
- 14 Sep, 2001 1 commit
-
-
Mac Newbold authored
-
- 13 Sep, 2001 1 commit
-
-
Robert Ricci authored
Manages the launching of new frisbee servers, and recording the addresses the use in the database. If called for an image that is already associated with a running server, exits quitely. Otherwise, registers the new server's address and goes into the background, waiting for the frisbee server to die so that it can unregister the address.
-
- 30 Aug, 2001 1 commit
-
-
Leigh B. Stoller authored
Not exactly what Mike wanted, but this was quick and easy. I'll make it pretty later (sure you say!).
-
- 14 Aug, 2001 1 commit
-
-
Mac Newbold authored
-
- 13 Aug, 2001 1 commit
-
-
Leigh B. Stoller authored
machine.
-
- 09 Aug, 2001 1 commit
-
-
Leigh B. Stoller authored
distributed tiplines (and capture processes).
-
- 31 Jul, 2001 1 commit
-
-
Christopher Alfeld authored
and produces a ns file that will produce an identical topology to the one stored in the DB. It does not keep virtual ports the same but does map IP addresses to connections correctly. I.e. the topology is the same even though the virt_nodes table differ slightly.
-