4 ms·
sorry, can't give too many details on the specific, but the PXE booting spec requires that you start up a: - DHCP server that responds to broadcasts on 0.0.0.0
by dnautics 8y ago
sorry, can't give too many details on the specific, but the PXE booting spec requires that you start up a:
- DHCP server that responds to broadcasts on 0.0.0.0
- TFTP server that responds to requests for the bootstrap image
- HTTP server (for most linux distros, anyways) that fetches more boot resources that are big enough that TFTP is probably not the best protocol (UDP doesn't have packet transmission guarantees).
I use a dead-simple, transient erlang HTTP server that my buddy wrote: https://github.com/StoneCypher/htstub https://github.com/StoneCypher/htstub
And hand-rolled custom DHCP and TFTP servers (existing options are not exactly what I need) that basically operate like htstub.
This is all tied into a mix task, so you start the mix task, then walk over to your target machine (or IPMI), reboot it, and then it's provisioned from scratch, reproducibly, with two-touches. Since everything is done in a single language, if something is wrong in your provisioning scheme, it's really easy to figure out what went wrong and deploy a fix.