On 08/24/2012 04:05 AM, Richard W.M. Jones wrote:
On Tue, Aug 21, 2012 at 02:09:50PM -0700, Scott Baker wrote:
> I've used virt-install to kickstart VM installs for a year or so. When I
> went to use it today it fails on getting DHCP from the host. I've
> restarted libvirtd, and dnsmasq but still have the problem. I see the
> install script send the DHCP request, but nothing ever hits the logs on
> the host. How do I troubleshoot the DHCP/dnsmasq part of libvirtd?
I still get conflicts between the libvirt dnsmasq instance and any
other dnsmasq instance on the same machine. So check that libvirt's
dnsmasq instance is running, and if possible kill the other dnsmasq.
Alternatively (if you've got a server with wired ethernet), attach
your VMs to eth0/em1 as described below. That completely avoids the
libvirt dnsmasq instance. The VMs should acquire addresses from your
local network, assuming it has DHCP.
Scott's original problem was on CentOS, where he ran
"/etc/init.d/dnsmasq restart". This killed *libvirt's* dnsmasq
instances, and when libvirt was restarted, it only checked for the
presence of the bridge device, just assuming that if the bridge was up,
dnsmasq was still running.
Fortunately for F16+, the newer systemd dnsmasq service script doesn't
have this same problem, so there will be a lower chance of libvirt's
dnsmasqs being trashed. In the meantime, Scott also filed this bug:
whose summary I reworded to indicate that libvirt should be checking for
a functional dnsmasq for each network when it restarts, and starting a
new dnsmasq for those networks that don't have one.