[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt-users] [libvirt] Fail to import available VM image



On 02/15/2012 12:56 PM, Jun Koi wrote:
On Wed, Feb 15, 2012 at 11:32 AM, Alex Jia<ajia redhat com>  wrote:
On 02/15/2012 10:53 AM, Jun Koi wrote:
On Wed, Feb 15, 2012 at 1:01 AM, Laine Stump<laine laine org>    wrote:
On 02/14/2012 11:01 AM, Jun Koi wrote:
On Tue, Feb 14, 2012 at 11:47 PM, Alex Jia<ajia redhat com>    wrote:
Hi Jun,
I assume you haven't changed libvirt default URI, it may be a issue,
I want to know whether it works for you if you explicitly specify
--connect qemu:///system with virt-install? I think a root reason
probably is your disk image location, the log said it can't find
storage volume, if you put img.winp under the /var/lib/libvirt/images,
then give a disk absolute path to virt-install, Does it work for you?
ok, i change the command a bit, and it went further.
here is how i did:

(1) compiled everything from source, then install (make install) to my
Ubuntu

(2) start libvirtd on commandline
# libvirtd -d

(3) import my KVM image to libvirt

$ virt-install --connect qemu:///system -n winxp -r 800 --accelerate
--vnc -v --noautoconsole --import -f /home/jun/img/img.winxp

it failed, and the log is like below:

....
[Tue, 14 Feb 2012 23:51:49 virt-install 3831] DEBUG (cli:326)
Requesting libvirt URI qemu:///system
[Tue, 14 Feb 2012 23:51:51 virt-install 3831] DEBUG (cli:328) Received
libvirt URI qemu:///system
[Tue, 14 Feb 2012 23:51:52 virt-install 3831] DEBUG (virt-install:259)
Requesting virt method 'hvm', hv type 'default'.
[Tue, 14 Feb 2012 23:51:52 virt-install 3831] DEBUG (virt-install:469)
Received virt method 'hvm'
[Tue, 14 Feb 2012 23:51:52 virt-install 3831] DEBUG (virt-install:470)
Hypervisor name is 'kvm'
[Tue, 14 Feb 2012 23:51:52 virt-install 3831] ERROR (cli:439) Error in
network device parameters: Virtual network 'default' has not been
started.
[Tue, 14 Feb 2012 23:51:52 virt-install 3831] DEBUG (cli:440)
Traceback (most recent call last):
   File "/usr/local/lib/python2.6/dist-packages/virtinst/cli.py", line
884, in get_networks
     dev = parse_network(guest, netstr, mac=mac)
   File "/usr/local/lib/python2.6/dist-packages/virtinst/cli.py", line
1642, in parse_network
     bridge=opts.get("bridge"))
   File
"/usr/local/lib/python2.6/dist-packages/virtinst/VirtualNetworkInterface.py",
line 153, in __init__
     self.network = network
   File
"/usr/local/lib/python2.6/dist-packages/virtinst/XMLBuilderDomain.py",
line 309, in new_setter
     fset(self, val, *args, **kwargs)
   File
"/usr/local/lib/python2.6/dist-packages/virtinst/VirtualNetworkInterface.py",
line 257, in set_network
     "started.") % newnet)
ValueError: Virtual network 'default' has not been started.
A very common cause of this problem is that a systemwide instance of
dnsmasq is already (erroneously) listening on the bridge created by
libvirt for the default network. I took your email as an oppurtunity to
write an entry in the new Troubleshooting section of the libvirt wiki.
It will explain to you how to solve your problem (*if* this is your
problem, of course :-).
this is not my problem, as i dont use dnsmasq.
You means you haven't a dnsmasq process is running before starting virtual
network 'default', right? I want to know a cmdline argument of the dnsmasq
process by ps -ef|grep dnsmasq

below is my /var/log/libvirt/libvirtd.log

....
2012-02-15 01:54:18.358+0000: 10580: info : libvirt version: 0.9.10
2012-02-15 01:54:18.358+0000: 10580: error : virCommandWait:2308 :
internal error Child process (/sbin/iptables --table mangle --delete
POSTROUTING --out-interface virbr0 --protocol udp --destination-port
68 --jump CHECKSUM --checksum-fill) status unexpected: exit status 2
2012-02-15 01:54:18.367+0000: 10580: error : virCommandWait:2308 :
internal error Child process (/sbin/iptables --table mangle --insert
POSTROUTING --out-interface virbr0 --protocol udp --destination-port
68 --jump CHECKSUM --checksum-fill) status unexpected: exit status 2
2012-02-15 01:54:18.367+0000: 10580: warning :
networkAddGeneralIptablesRules:1301 : Could not add rule to fixup DHCP
response checksums on network 'default'.
2012-02-15 01:54:18.367+0000: 10580: warning :
networkAddGeneralIptablesRules:1302 : May need to update iptables
package&    kernel to support CHECKSUM rule.



and currently output of "brctl show" is:
# brctl show
bridge name     bridge id               STP enabled     interfaces
pan0            8000.000000000000       no
virbr0          8000.000000000000       yes
If you manually stop virtual network 'default' and dnsmasq service then
restart 'default'
network, does it work for you? for instance:
% virsh net-destroy default

% service dnsmasq status
if your dnsmasq is still active then stop it, otherwise, please ignore the
following step:
% service dnsmasq stop

make sure you haven't any dnsmasq process is running by ps -ef|grep dnsmasq,
then
active 'default' network again:

% virsh net-start default
if the above step is failed, please give related logs and virsh output.

what's dnsmasq process with cmdline?
% ps -ef|grep dnsmasq


Good Luck!
thanks so much, Alex. it works for me now!

it turns out i uninstalled the dnsmasq, but it seems there is
dependency on it (why we need dnsmasq, anyway?).
Libvirt uses dnsmasq to serve DHCP for the virtual network, IMHO, you should see the following link carefully again, it's a good guide for troubleshoting your 'default' virtual network:
http://wiki.libvirt.org/page/Virtual_network_%27default%27_has_not_been_started
so i reinstalled it
again, but then disable dnsmasq service. then the default virtual
network works.

a quesiton: i imported the existent KVM image with command:

virt-install --connect qemu:///system -n winxp -r 800 --accelerate
--vnc -v --noautoconsole --import -f /home/jun/img/img.winxp

but this is not really correct, as the above command doesnt do something for me:

(1) it doesnt tell the image format (qcow2 in my case)
Libvirt doesn't autodetect storage format due to potential security issue,
so you need to explicitly specify 'format' to qcow2, otherwise, defaults to
raw format, for example:
% virt-install --connect qemu:///system -n winxp -r 800 --accelerate
--vnc -v --noautoconsole --disk /home/jun/img/img.winxp,format=qcow2 --import

For details, please see virt-install man page.
(2) it doesnt setup the mouse cursor (-usb -usbdevice tablet)

(3) it doesnt tell the network card model.
There are some default value for these, please see virt-install man page carefully.
so questions are:

(1) can i tell virt-install of of above info? i looked at the
virt-install manual, but dont see anywhere to do that.
Yes, you can, see 'Device Options' and 'Networking Configuration' section in man page.
(2) in case virt-install cannot do that, i guess i must use another
tool to modify /etc/libvirt/qemu/winxp.xml to reflect my requirement.
but then i tried virt-manager (0.9.1), and it doesnt even let me
modify the configuration of my domain.

so which tool should i use to modify available libvirt domain?
If you only want to modify domain configuration, virsh edit should be
enough, libvirt provides a group of users layer virsh commands, you
may also use virsh commands to operate libvirt such as installation
a guest.

Alex
thanks again!
Jun
Alex

so what is wrong with my system?

thanks,
Jun

--
libvir-list mailing list
libvir-list redhat com
https://www.redhat.com/mailman/listinfo/libvir-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]