Up until recently, I have been using aqemu to manage my Qemu virtual machines which provides side-by-side access to IE7, IE8, IE9 and IE10. It was useful and supported VDE networks (with a small patch). For various reasons, I have moved the Virtual Machine server to Fedora (F17) recently and Fedora does not compile VDE support into their Qemu package. While looking over my options, I found a nifty utility from Redhat: the Virtual Machine Manager. The ability to watch each and every virtual machine’s CPU, network and harddrive usage from one screen is fantastic. I installed it on one system and found the ability to configure the image directory, virtual networks, and most of the other features I needed. It does not yet support booting snapshots, but that is promised in the next version.
Since everything went smoothly, I installed it on the main server… and the Virtual Machine Manager began to throw Dnsmasq errors whenever I attempted to bring the virtual network up:
Error starting network 'default': internal error Child process (/sbin/dnsmasq --strict-order --bind-interfaces --local=// --domain-needed --pid-file=/var/run/libvirt/network/default.pid --conf-file= --except-interface lo --listen-address 192.168.122.1 --dhcp-range 192.168.122.2,192.168.122.254 --dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases --dhcp-lease-max=253 --dhcp-no-override) status unexpected: exit status 2n
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 96, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 117, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/network.py", line 82, in start
self.net.create()
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1847, in create
if ret == -1: raise libvirtError ('virNetworkCreate() failed', net=self)
libvirtError: internal error Child process (/sbin/dnsmasq --strict-order --bind-interfaces --local=// --domain-needed --pid-file=/var/run/libvirt/network/default.pid --conf-file= --except-interface lo --listen-address 192.168.122.1 --dhcp-range 192.168.122.2,192.168.122.254 --dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases --dhcp-lease-max=253 --dhcp-no-override) status unexpected: exit status 2
After literally hours of running commands and searching Google (and DuckDuckGo), a post on these forums pointed the way:
I believe the problem is caused by libvirt not shutting down dnsmasq.
Duh. Dnsmasq does not allow more than one instance of itself. I know this and should have remembered it. I had been experimenting with PXE booting through dnsmasq on that Fedora server, and will have to configure a few things by hand. I am still toying with the Virtual Machine Manager, but it shows promise. Hopefully this extra post will help others who find themselves in the same boat with the Virtual Machine Manager and Dnsmasq.