puppetlabs/Razor-Microkernel — pull request #13 by GregSutcliffe (2012-11-05 15:39:17+00:00)
Title: Use multiple discovery methods for Razor's IP

As discussed on the Mailing List, this patch allows for 3 different types of IP discovery. It parses them in order - from most configurable to least configurable:

Look for host-specific config data via PXE (in /proc/cmdline)
Look for network-specific DNS record (effectively "host razor")
Look for static config in next-server

Once one of these is matched the subsequent methods are not tried. This allows:

a) Existing next-server setups will not break
b) Users who cannot rely on next-server can use PXE or DNS to point to the Razor server
c) For testing purposes, a Razor server could be cloned, and specific hosts pointed to the test server via PXE.

In addition, the framework is there to easily add more methods if need be - such as custom dhcp-vendor options, or zeroconf multicast, etc.