puppetlabs/Razor — pull request #402 by cr3 (2013-02-14 17:15:40+00:00)
Title: (#401) Checking network status with nm-online

This change checks the network status at the top of the os_boot.erb
template for Red Hat 6 so that the script can connect to the Razor
daemon over the network. This is done by calling the nm-online command,
when it's available, with a reasonable timeout that returns as soon as
the network is online. The command and the timeout values are taken from
the NetworkManager init script from CentOS, so it should be sane and
should not introduce any regressions.

The change is necessary in the context where a Red Hat derivative uses
Anaconda which configures the network with Network Manager. This is an
asynchronous process so the network might still be offline when rc.local
is called so the boot process never completes the handoff to the broker.

Also, note that this change should be considered independently of issue
393: Models should not install Ruby, Facter, or any other broker related
tools. The reason is that whether the model installs packages or not, it
still needs the network to be online in order to complete the boot
process and ultimately handoff to the broker.