A concession to performance. Previously, PXEBOOTING was reported on
the PXE DHCP request and BOOTING on the following OS-originated request.
This is conceptually ideal, as that is what those states were intended
to mean, but it causes two synchronous "reportboot" command executions
from dhcpd for every node boot. Worse, the time gap between the second,
OS-originated DHCP call and the first explicit state reported by the
node itself (e.g., TBSETUP or RELOADSETUP) is generally small enough
that the node reported state often arrived at stated before the BOOTING
state from dhcpd. This can cause excess node reboots or other undesirable
behaviors from stated.
So now we only invoke "reportboot" on the first PXE-originated call and
tell reportboot to send both PXEBOOTING and BOOTING events at that time.
This does not eliminate the race condition above, but makes it unlikely
as there is the whole kernel boot process (10s of seconds) between the
dhcpd state reports and the first node state report.