Make Frisbee.Redux live:
* Add appropriate goo to os/GNUMakefile so that Frisbee daemon is built and installed. * Rework the frisbee launcher slightly. Aside from little changes (send email to tbops when frisbeed dies, new cmdline syntax to frisbeed), allow for frisbeed to exit gracefully after a period of inactivity (no client requests for 30 minutes, at present). In order to prevent a race condition with a new client being added (and rebooted) and frisbeed terminating before the client gets started, add a load_busy indicator to the images table (next to load_address slot) and set that to one each time to frisbeelauncher is invoked. When frisbeed exits, test and clear that bit atomically (lock tables) and go around another time (restart frisbeed for another 30 minute period). * Rework waitmode in os_load. Wait for all of the nodes to finish at once, and track which nodes never finish. Retry those nodes again by rebooting. The number of retries is configurable in the script, and is currently set to one. This should take care of some PXE boot related problems, although obviously not all. * Got rid of -w option to os_load and made waitmode the default. The -s option can be used to start a reload, but not to wait for it to complete. * Minor changes to sched_reload and reload_daemon; pass in -s option to os_load.
Showing with 294 additions and 156 deletions