I've only recently approached Foreman and I'm doing some provisioning
tests, but I'm stuck at the PXE boot stage: the newly created host cannot
get an IP address from the DHCP server, and it times out.
For basic initial testing I'm running everything on a single CentOS 6.4
machine: Puppet Agent and Master, Foreman (1.3.1), Foreman Smart Proxy
(DHCP and TFTP), KVM.
(The machine is actually a VM itself, running inside Parallels on OSX, its
NIC is configured as NAT but Parallels' own DHCP server is disabled, to
prevent it from interfering with the PXE boot process.)
I configured a subnet in Foreman, and when I create a new host using the
Libvirt compute resource it correctly gets an IP address from the pool.
But when I start the new host it doesn't get any IP address, and so
eventually the timeout is reached.
By looking at the DHCP (ISC) server logs I can see that the server is
receiving the DHCP Discover from the VM, 4 times, and it also replies with
a DHCP Offer each time.
But if I monitor the network traffic with Wireshark I cannot see any DHCP
Offer going out.
Any clues on why it doesn't get through?
The NIC for the newly created host is in Bridge mode, and the source device
is "Host device eth0: macvtap".
If I set the NIC as NAT on the "default" virtual network, instead, the VM
can get an IP from KVM's DHCP server, but of course this server is not
configured for PXE booting and so the boot process stops anyway.
PS: I understand this problem is not strictly related to PXE; indeed I
tried booting the VM with a live CD and the result is the same. Maybe I'm
missing something on DHCP, Smart Proxy or KVM configuration?