• Kirk Webb's avatar
    · 5b52831c
    Kirk Webb authored
    Well, here it is:  The checkin implementing robust recovery/retry and
    asynchronous safe termination in plab allocation/deallocation/setup.
    
    Here are some of the more prominent changes/additions:
    
    * Bounded plab agent communication
      Scripts should never hang waiting for plab xmlrpc commands to complete;
      they have their own internal timeouts.  Node.create() in libplab is an
      exception, but is always run under a timeout constraint in vnode_setup
      and can be changed easily if the need arises.
    
    * Wrote functions in libplab to do the retry/recovery/timeout of remote
      command exection.
    
    * Wrapped critical sections with a signal watcher.
    
    * Added code to handle various error conditions properly
    
    * Added a libtestbed function, TBForkCmd, which runs a given program in
      a child process, and can optionally catch incoming SIGTERMs and terminate
      the child (then exit itself).
    
    * Fixed up vnode_setup to batch the 'plabnode free' operation along with
      a few other cleanups.  This should alleviate Jay's concern about how
      long it used to take to teardown a plab expt.
    
    * Whacked plabmonitord into better shape; fixed a couple bugs, taught it how
      to daemonize, and implemented a priority list for testing broken plab nodes.
      This list causes new (as yet unseen) nodes to be tried first over ones that
      have been tested already.
    5b52831c
Name
Last commit
Last update
account Loading commit data...
apache Loading commit data...
assign Loading commit data...
autoconf Loading commit data...
capture Loading commit data...
cdrom Loading commit data...
db Loading commit data...
delay/linux Loading commit data...
dhcpd Loading commit data...
discvr Loading commit data...
doc Loading commit data...
event Loading commit data...
hw_config Loading commit data...
install Loading commit data...
ipod Loading commit data...
lib Loading commit data...
os Loading commit data...
patches Loading commit data...
pxe Loading commit data...
rc.d Loading commit data...
rpms Loading commit data...
security Loading commit data...
sensors Loading commit data...
sql Loading commit data...
ssl Loading commit data...
sysadmin Loading commit data...
tbsetup Loading commit data...
testsuite Loading commit data...
tip Loading commit data...
tmcd Loading commit data...
tools Loading commit data...
utils Loading commit data...
vis Loading commit data...
www Loading commit data...
xmlrpc Loading commit data...
BUGS Loading commit data...
COPYING Loading commit data...
GNUmakefile.in Loading commit data...
GNUmakerules Loading commit data...
Makeconf.in Loading commit data...
README Loading commit data...
TODO Loading commit data...
TODO.plab Loading commit data...
config.h.in Loading commit data...
configure Loading commit data...
configure.in Loading commit data...
defs-barb-emulab Loading commit data...
defs-barb-mini Loading commit data...
defs-calfeld-emulab Loading commit data...
defs-davidand-emulab Loading commit data...
defs-default Loading commit data...
defs-example Loading commit data...
defs-gatech Loading commit data...
defs-kwebb-emulab Loading commit data...
defs-mini Loading commit data...
defs-newbold-emulab Loading commit data...
defs-newbold-macdb Loading commit data...
defs-newbold-mini Loading commit data...
defs-rchriste-emulab Loading commit data...
defs-ricci-emulab Loading commit data...
defs-ricci-mini Loading commit data...
defs-shash-emulab Loading commit data...
defs-shash-mini Loading commit data...
defs-stoller-emulab Loading commit data...
defs-stoller-home Loading commit data...
defs-stoller-mini Loading commit data...
defs-uky Loading commit data...
defs-wide Loading commit data...