• Leigh B Stoller's avatar
    Attempt to address the problem described in issue #166; that nodes fail · 5d7164b3
    Leigh B Stoller authored
    to go from PXEBOOTING (pxewakeup) to actually booting, but we do not
    know that for a really long time cause we send a BOOTING event from
    bootinfo right after PXEBOOTING, since that was the only place to hook
    it in. Well Mike discovered the "on commit" support in dhcpd, and so
    that is what we are going to use now. Note that uboot nodes have been
    using on commit, now all nodes will when BOOTINFO_EVENTS=0.
    Mike's reportboot program is now a daemon, renamed to report_daemon.
    The original reportboot program is a little script that writes the
    arguments from dhcpd to a unix socket to be picked up by the daemon,
    which does the original work of mapping the IP/Mac to a node id and
    sending an event. The code has also been modified to run on a subboss
    using the same node mapping given to to dhcpd, reconstituted as DBM
    file by subboss_dhcpd_makeconf.
    The reason for using a daemon this way is so that we do not hang up
    dhcpd in case we cannot get to the event system. The unix domain
    socket will give us some amount of buffering, but I suspect that any
    event problem will eat that space up quickly, and I will be back to
    revisit this (probably want reportboot to not block on its write
    to the socket).
    pxeboot changed to not send PXEBOOTING or BOOTING when
dhcpd.conf.nobootinfo.template.in 3.67 KB