- 02 Apr, 2002 10 commits
-
-
Robert Ricci authored
find a node that we already knew about, and it hasn't changed state or timestamp, we just use the old entry. This allows us to still notice new nodes, or nodes that have had their state changed externally (say, by hand), but not forget about nodes we've already sent mail about.
-
Robert Ricci authored
-
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".
-
Mac Newbold authored
-
Robert Ricci authored
the delivery of multiple notifications. So, instead of a single notification, which could result in missed ones, we now maintain a queue.
-
Chad Barb authored
Tiptunnel can now take "ssl-server-cert:" property from the ACL file, which is a SHA hash of the expected server certificate. (this is used to verify the server's identity, thus precluding man-in-the-middle attacks.) If no "ssl-server-cert:" is in the ACL, it will revert to using a normal TCP connection. In this version, authentication is still the same (even over SSL.) (next step: add SSL to capture server.)
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
project members (but approved in other projects) to see things they are not supposed to.
-
Leigh B. Stoller authored
Spotted by Dave!
-
Jay Lepreau authored
-
- 01 Apr, 2002 12 commits
-
-
Robert Ricci authored
Changed scripts that used the 'eventstatus' column to use the more descriptively-named 'eventstate' column. The FreeBSD and Linux starup scripts report a 'REBOOTED' state to tmcd when they start, and 'ISUP' when the starup script is done. node_reboot and power now send TBNODESTATE/REBOOTING events.
-
Robert Ricci authored
-
Abhijeet Joglekar authored
-
Robert Ricci authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Robert Ricci authored
basically work like the libdb.pm functions of the same name (and in fact much of the code was stolen from there.) Provides a simple single function call to send events. Intended for use in scripts whose primary purpose is _not_ to interface with the event system, like power and node_reboot. If more control/efficiency is required (for example, these functions reconnect to the event system every time they're called) , it's better to use the C-like API. Example call: EventSendFatal(objtype => "TBEXAMPLE", eventtype => $ARGV[0], host => "*" );
-
Robert Ricci authored
-
Robert Ricci authored
value of the BOSSNODE configure variable.
-
Robert Ricci authored
makeLinkOutput function.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
* tmcd/ron: A new directory of client code, based on the freebsd client code, but scaled back to the bare minimum. Does only account and group file maintenance. I redid the account stuff so that only emulab accounts are operated on. Does not require a stub file, but instead keeps a couple of local dbm files recording what groups and accounts were added by Emulab. There is a ton of paranoia checking to make sure that local accounts are not touched. The update script that runs on the client node detaches so that the ssh from boss returns immediately. update can also be run from the node periodically and at boottime. The script is installed setuid root, but checks to make sure that *only* root or "emulabman" has invoked it. * utils/sshremote: New file. For remote nodes, instead of using sshtb, use sshremote, which ssh's in as "emulabman", which needs to be a local non-root user, but with an authorized_keys file containing boss' public key. * web interface changes: Allow user to specify his own public key in addition to the emulab key. Add option in showexp page to update accounts on nodes in the experiment. I was originally intending to do this from approveuser, but this was easier and faster. I will add an option to do it on the approveuser page later. * libdb.pm: Add a TBIsNodeRemote() query to see if a node is in the local testbed or a pcRemote node. Currently, this test is hardwired to a check for class=pcRemote, but this will need to change to a node_types property at some point. * node_update: Reorg so that there is a maximum number of children created. Previously, a child was forked for each node, but that could chew up too many processes, especially for remote nodes which might hang up. For the same reason, we need to "lock" the experiment so that it cannot be terminated while a node_update is in progress. Might be to relax that, but this was easy for now. Also add distinction between local and remote, since for remote we use sshremote insted of sshtb. Various cleanup stuff * mkacct; When generating a new account, include user supplied pub key in the authorized keys file, in addition to the eumlab generated key. Both keys are stored in the DB in the users table. Anytime we update an account, get a fresh copy of the emulab pub key, in case user changes it.
-
- 29 Mar, 2002 11 commits
-
-
Robert Ricci authored
it even though it doesn't need to be.
-
Robert Ricci authored
make it writable to the tbadmin group.
-
Robert Ricci authored
since we now have schemacheck.
-
Chad Barb authored
Essentially tip, but instead of presenting a tty, it opens a tunnel port that (for instance) telnet can talk to. Example (on credit): tiptunnel /var/log/tiplogs/pc1.acl telnet Will open up a local port then fork/exec telnet with "localhost" and the tunnel port number as arguments. (Functionally equivalent to "tip pc1", only with telnet escape sequences) A later version of this program is what users will likely download for the quick-tip-through-the-web scheme. (next step: SSL)
-
Robert Ricci authored
directory.
-
Leigh B. Stoller authored
currently installed tmcd. The version number is passed through on every tmcc request.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
the boss. The resolver goo is not going to work on RON nodes.
-
Robert Ricci authored
since it isn't needed, and will result in errors.
-
Robert Ricci authored
-
Robert Ricci authored
broken. Also, it made me slightly uneasy that there was no way to prevent swig from putting one of its generated files in sorce directory. So, I've just checked in the two major files that get generated by SWIG, so that the make rule that runs it never gets invoked. One of the reasons for doing this is that swig generates slightly broken code when the -exportall (which does perl module exports correctly) arugment is given. A very minor amount of manual tweaking of the generated .pm file can fix this problem. So, the checked in copy of event.pm has these tweaks applied. As a result of all of this, exports work correctly in the event perl module, so the hacky practice of putting your program in the event namespace is no longer necessary.
-
- 28 Mar, 2002 7 commits
-
-
Robert Ricci authored
Watches for events sent by TMCD regarding the state of nodes. Records this information in the database. Also watches for nodes that undergo invalid state transitions, or stay in the same state for too long. Right now, the only action it takes is to send email, but in the future, will take action to 'unstick' nodes. Not yet installed by default.
-
Robert Ricci authored
state_timeouts is for recording the maximum amount of time (in seconds) that a node should be in a given state. (0 means no timeout) The contents of the action column are not yet well-defined - in the future, it may contain commands for dealing with stuck nodes, or perhaps a keyword to indicate to the watchdog daemon what action should be taken. state_transitions contains a list of valid state transitions.
-
Robert Ricci authored
-
Robert Ricci authored
state string. This was causing (tremendously frustrating) problems elsewhere.
-
Robert Ricci authored
-
Robert Ricci authored
awkward by the fact that swig insists on putting it's generated C file in the source directory, not the object directory.
-
Leigh B. Stoller authored
-