- 18 Dec, 2002 24 commits
-
-
Leigh B. Stoller authored
off our ntpstart wrapper. Also a bug fix that was causing the initial ntpdate to fail (-u option).
-
Leigh B. Stoller authored
before cutting a new image. Note that anacron is mo longer run on the linux image.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
bunch of relocations of things from /etc/testbed in the old world, to /usr/local/etc/emulab in the new world. Basically, /etc/emulab has just a few config files that do not change. All of the binaries and scripts are now placed in /usr/local/etc/emulab, and *all* of the variable stuff that was written into /etc/testbed is now written into /var/emulab/{boot,logs,jails,lock,db}.
-
Leigh B. Stoller authored
which Mike added.
-
Leigh B. Stoller authored
supfiles into .in files to be run through configure.
-
Leigh B. Stoller authored
well; do not use a tmcd timeout, but block until tmcd responds.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
directories into a common subdir. Also cleaned up some.
-
Leigh B. Stoller authored
client side code. Two new files, to be included by any client side script, which define all the paths. For /bin/sh scripts: . /etc/emulab/paths.sh and for perl scripts: BEGIN { require "/etc/emulab/paths.pm"; import emulabpaths; } Each defines a number of variables: ETCDIR, BINDIR, VARDIR, BOOTDIR, LOGDIR, and LOCKDIR. They also set the path properly for the script. This gets rid of the different hardwired paths, and reduces it to just one for everyone.
-
Leigh B. Stoller authored
rc.conf: Remove fixed -p argument. Now set by mkjail. rc.local,jailctl: Update for client side path reorg and cleanup. jaildog.pl,mkjail.pl: Numerous fixes for jailed nodes.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
for BSD of course. First is a "proxy" mode that is used outside of a jail, to forward tmcc requests from inside the jail to boss over the normal ssl channel (when a remote node). We remove the pem files from inside the jail so it has no way to form a secure connection to tmcd on its own, and tmcd rejects non-ssl connections from remote nodes (it should probably reject them from local jails too). Second change is a "unix socket" mode that is the compliment to the proxy; tmcc inside of a jail connects to the tmcc proxy outside the jail via a unix domain socket that can be shared between the two because the outer environment can see inside the jailed filesystems (the jail sees a chroot environment). When the jail is started, the initial root shell gets an environment variable called TMCCUNIXPATH which holds the path to the socket. This makes it easy for anything started from that shell of course, but its still a minor pain when invoking tmcc from elsehwere, but that does not really happen, except when running it by hand. Anyway, tmcc forms a unix socket to the proxy and does its thing. The proxy filters out VNODE= and PRIVKEY= arguments, and inserts its own into the command string. This prevents a jail from trying to impersonate another vnode.
-
Leigh B. Stoller authored
like the remote nodes do, but for now do not update the up/down status from that. I need to mess with db/node_status first to make sure there is agreement between the parties. Note that remote nodes send one UDP message every 60 seconds (isalive is done with a UDP). Local nodes will send them at a slower rate, as is the practice in db/node_status which wakes up every 5 minutes and fpings the world!
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
message about no libmysql on a testbed node.
-
Leigh B. Stoller authored
some trouble with old logs getting cached in the browser.
-
Leigh B. Stoller authored
Attempts to replay an experiment by rebooting all the nodes, clearing the various startup bits (ready, startstatus, bootstatus, portstats), and then restarting the event system. I am dubious that this is a workable solution because of the asynchronous nature of the testbed (nodes happily cruise from TBRESET to ISUP and beyond without stopping), and so its hard to truly replicate the initial lack of state that a freshly swapped in experiment has. Still, people requested it and I cheerfully provided it cause thats what I do; service with a smile and not a wit of complaint. Is anyone reading this?
-
Leigh B. Stoller authored
node. Used in new tbrestart code for replaying experiments. It remains to be seen if this is a workable approach. TBNodeStateWait() is really WaitTillAlive, which I need in several new spots now. Its not as general purpose as it seems though, since there are only a couple of terminal states (isup) that you can actually wait for by querying the DB. But, I'm loathe to add any more event code to the system.
-
Leigh B. Stoller authored
option is now "[[includevirt] or [virtonly[=<phys>]]]". In other words, you can ask to include virtual nodes, or you can ask for just virtual nodes. Optionally, you can ask for the virtual nodes for a specific physical node. I use this from assign_wrapper to map local jail nodes.
-
Leigh B. Stoller authored
nodes. The second argument can now be an NS node instead of the name of a real testbed node. For example: tb-set-hardware $node3 pc600 tb-set-hardware $nodev1 pcvm600 tb-fix-node $nodev1 $node3 So, "fix" $nodev1 to $node3. The intent is that once $node3 is allocated by assign to a real testbed node, we can then allocate a virtual node on pcXX to $nodev1. I did this primarily to allow for easy testing of jails via my NS file, without having to hack assign wrapper to deeply. Note there are still hacks in assign_wrapper to support this, but they are not extensive. Also my old usewatunnels stuff I never checked in: tb-set-usewatunnels 0/1
-
Leigh B. Stoller authored
before using it!
-
- 17 Dec, 2002 5 commits
-
-
Mike Hibler authored
-
Mike Hibler authored
-
Mike Hibler authored
(there was no copyright)
-
Mac Newbold authored
available to it.
-
Mac Newbold authored
Currently, the cache size is set to 128 entries max, and "recently" is defined as being within the last 60 seconds. This should really help ease the strain on the system (stated especially) when things are getting lost due to high load, and retries would normally cause duplicates.
-
- 16 Dec, 2002 3 commits
-
-
Mac Newbold authored
-
Mac Newbold authored
help nodes in reload_pending get sucked into reloading faster. If it doesn't do enough, we'll need to do more batching of stuff, so we get some parallelism in os_load instead of forcing it to serialize by calling os_load one node at a time. I was tempted to nuke all the stuff that was in there from the netdisk reload type, but decided not to. It won't be too long (relatively speaking) before we have freed, the new "free node manager" that will replace/supersede our current reload_daemon anyway.
-
Mac Newbold authored
events. This may delay handling of other stuff that happens in my main loop, but not by too much. To prevent skew, everything (including reload frequency) is done strictly by seconds elapsed, not by iterations or anything. I found that even polling for multiple events without sleeping, I could only handle a little over 1 per second when I was calling inuse/statetime for additional info on every event. Even though this only happens in the worst case (every event is wrong), it won't do. So I took that out. I'll probably end up adding a faster lookup of the info I need (mostly reservation, and what osid it thinks it is running). That change took it up to at least 4 per second (as fast as I could send them manually), more than 4x our previous performance. So we should be able to keep up now. Also, add the support for "announcements" to testbed ops when I die and such. (Been in a few days, but this is the first commit of it)
-
- 13 Dec, 2002 1 commit
-
-
Mike Hibler authored
netbed/RON machines. Eliminate the second pass over the file to fill in blockindex/total fields. Blockindex fields are filled in on the first pass, we don't bother with blocktotal since we don't use it any more.
-
- 12 Dec, 2002 6 commits
-
-
Mike Hibler authored
passed to the frisbee init routine. Instead of failing if the new image doesn't fit in the target slice, just warn and truncate. Back to aggressive adjustment of BSD partition table sizes. Warn about and truncate partitions that won't fit in the target slice and adjust the 'c' partition to exactly match the BSD slice.
-
Leigh B. Stoller authored
This is going to be used to sign the stuff we send out to widearea nodes (images, scripts, etc). The passphrase as the one I used on the SSH priv keys for widearea nodes.
-
Mike Hibler authored
problem isn't fixed in the latest port or else there is a kernel problem too...
-
Mac Newbold authored
-
Mike Hibler authored
-
Mike Hibler authored
Add some additional debugging for bad packets (since I have seen some)
-
- 11 Dec, 2002 1 commit
-
-
Leigh B. Stoller authored
-