- 30 Sep, 2004 1 commit
-
-
Leigh Stoller authored
kill running bootinfo in bootinfo.restart. Hey, its 6am.
-
- 20 Jan, 2004 1 commit
-
-
Leigh Stoller authored
packets are lost; do not send the events if a node has requested bootinfo within the last 10 seconds; this implies that the bootinfo reply packet was lost and the node is retrying. This should quiet things a bit from stated, although eventually this should be dealt with in stated instead of with this hack. Mac originally added the cache to proxydhcp. I've added a cache to bootinfo to solve the same problem (proxydhcp is no longer used), although I have changed to implementation to use the DBM backend rather then a one-off hash table. dbopen() with a NULL file argument creates an in-memory database (no backing store), and I have used the DB_HASH db type. So, the hash table is done with a couple of calls to DBM routines.
-
- 12 Jan, 2004 2 commits
-
-
Leigh Stoller authored
-
Leigh Stoller authored
filename to boot, and all local nodes will boot the same pxeboot kernel, which has been extended to allow for jumping directly into a specific MFS (in addition to the usual testbed boot into a partition or multiboot kernel). Bootinfo and the bootwhat protocol extended to tell the client node what MFS to jump into directly, without a reboot. pxe_boot_path and next_pxe_boot_path are now deprecated, with bootinfo used to control which MFS to boot. Nodes now boot a single pxeboot kernel, and bootinfo tells them what to do next. Bootinfo greatly simplifed. temp_boot_osid has been added to allow for temporary booting of different kernels (such as with ndoe_admin or create_image). Unlike next_boot_osid which is a one-shot boot, temp_boot_osid causes the node to boot that OS until told not too. next_boot_path and def_boot_path in the nodes table are now ignored. Bootinfo gets path info strictly from the os_info table entry for the osid given in one of def_boot_osid, temp_boot_osid, or next_boot_osid. This makes the selection of what to do in bootinfo a lot simpler (and for TBBootWhat in libdb). The os_info table also modified to include an MFS flag so that bootinfo knows to tell the client that the path refers to an MFS and not a multiboot kernel. Change to boot sequence; free nodes no longer boot into the default OSID. Instead, they are told to wait in pxeboot until told what to do, which will typically be when the node is allocated and a specific OSID picked. If the node needs to be reloaded, then the node is told to jump directly into the Frisbee MFS, which saves one complete reboot cycle whether the node has the requested OS installed, or not. New program added called "bootinfosend" that is used by node_reboot to "wake up" up nodes sitting in pxewait mode, so that they query bootinfo again and boot. node_reboot changed to look at the event state of a node, and use bootinfosend to wake up nodes, rather then power cycle, since pxeboot does not repsond to pings. Retry (if the UDP packet is lost) is handled by stated. Event support added to bootinfo, to replace the event generation that was in proxydhcp. I have not included the caching that Mac had in proxydhcp since it does not appear that bootinfo packets are lost very often. Cleaned up all of the event and DB queury code to use lib/libtb for DB access, and moved all of the event code into a separate file. The event sequence when a node boots now looks like this: 'SHUTDOWN' --> 'PXEBOOTING' (BootInfo) 'PXEBOOTING', --> 'PXEBOOTING' (BootInfo Retry) 'PXEBOOTING', --> 'BOOTING' (Node Not Free) 'PXEBOOTING', --> 'PXEWAIT' (Node is Free) 'PXEWAIT', --> 'PXEWAKEUP' (Node Allocated) 'PXEWAKEUP', --> 'PXEWAKEUP' (Bootinfo Retry) 'PXEWAKEUP', --> 'PXEBOOTING' (Node Woke Up) Change stated to support resending PXEWAKEUP events when node times out. After 3 tries, node is power cycled. Other minor cleanup in stated. Clean up and simplify os_select, while adding support for temp_next_boot and removing all trace of def_boot_path and next_boot_path processing. Remove all pxe_boot_path and next_pxe_boot_path processing. Changed command line interface to support "clearing" fields. For example, node_admin changed to call os_select like this to have the node temporarily boot the FreeBSD MFS: os_select -t FREEBSD-MFS pcXXX which sets temp_boot_osid. To turn admin mode off: os_select -c -t pcXXX which says to clear temp_boot_osid. sql/database-fill-supplemental.sql modifed to add os_info table entries for the FreeBSD, Frisbee, and newnode MFS's. Be sure to change dhcpd config, restart dhcp, kill proxydhcp, restart bootinfo,
-
- 15 Oct, 2003 1 commit
-
-
Mike Hibler authored
as defined in the defs-* file (e.g. "TBLOGFACIL=local2"). The default is "local5" which is what we are setup to use so you shouldn't need to mess with your defs- file! perl scripts just get this value configured in when configure is run. C programs get the value in two ways. For programs that are intimate with the testbed infrastructure, and include "config.h", they just get it from that file. For programs that we sometimes use outside the Emulab build environment (e.g., frisbee, capture) and that don't include config.h, the value is set via a "-DLOG_TESTBED=..." in the GNUmakefile build line. If the value isn't set, it defaults to what it used to be (usually LOG_USER). Still to do: healthd, hmcd (whose build doesn't seem to be completely integrated) and plabdaemon.in (since its icky python :-)
-
- 20 Sep, 2002 1 commit
-
-
Mac Newbold authored
Remove the bootinfo_ack functionality. Nothing uses it and it couldn't properly do the db changes it needed to.
-
- 07 Jul, 2002 1 commit
-
-
Leigh Stoller authored
-
- 03 May, 2001 1 commit
-
-
Leigh Stoller authored
Also copy bootwhat.h from my oskit tree and build from local copy.
-
- 13 Dec, 2000 1 commit
-
-
Leigh Stoller authored
is implemented in netdisk (command line mode). If netdisk succeeds, it will send an ACK packet to bootinfo which causes it to clear the next_boot_path field in the database so that the next reboot falls back to def_boot.
-
- 03 Oct, 2000 1 commit
-
-
Mike Hibler authored
add HUPing of daemon to reread any config info
-
- 22 Sep, 2000 1 commit
-
-
Mike Hibler authored
-
- 21 Sep, 2000 1 commit
-
-
Leigh Stoller authored
-