<html style="direction: ltr;">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<style>body p { margin-bottom: 0cm; margin-top: 0pt; } </style>
</head>
<body style="direction: ltr;"
bidimailui-detected-decoding-type="UTF-8" text="#000000"
bgcolor="#FFFFFF">
<div id="IDstID">
<p>Thanks. we should help each other in open source product. I'm
trying to work with Ovirt everyday and if i find new problem or
bug, i'll send it to lists.</p>
<p>I didn't define any pool. as default pool is exist? </p>
<p>i make snapshot from my VM and then create new clone based on
snapshot. then i try to start new vm. it failed with double of
pci address.then i removed new clone VM. then i try to start old
VM (that i created snapshot from it) . but i saw it failed too!
</p>
<p>then i sent email to this lists and you helped me to solve this
problem.</p>
<p>thanks. <br>
</p>
<br>
<style type="text/css">blockquote { /*Wed, 06 Jun 2012 03:20:16 -0400 (EDT)*/ color: navy !important; background-color: RGB(245,245,245) !important; padding: 0 15 10 15 !important; margin: 15 0 0 0; border-left: #1010ff 2px solid;}blockquote blockquote { /*Wed, 06 Jun 2012 03:20:16 -0400 (EDT)*/ color: maroon !important; background-color: RGB(235,235,235) !important; border-left-color:maroon !important}blockquote blockquote blockquote { /*Wed, 06 Jun 2012 03:20:16 -0400 (EDT)*/ color: green !important; background-color: RGB(225,225,225) !important; border-left-color:teal !important}blockquote blockquote blockquote blockquote { /*Wed, 06 Jun 2012 03:20:16 -0400 (EDT)*/ color: purple !important; background-color: RGB(215,215,215) !important; border-left-color: purple !important}blockquote blockquote blockquote blockquote blockquote { /*Wed, 06 Jun 2012 03:20:16 -0400 (EDT)*/ color: teal !important; background-color: RGB(205,205,205) !important; border-left-color: green !important}
</style><i><b>Oved
Ourfalli <a class="moz-txt-link-rfc2396E" href="mailto:ovedo@redhat.com"><ovedo@redhat.com></a></b></i> wrote on Wed, 06 Jun
2012 03:20:16 -0400 (EDT):</div>
<blockquote
cite="mid:b6566510-5dda-4543-8a94-9a04680247ad@zmail02.collab.prod.int.phx2.redhat.com"
type="cite">
<pre wrap="">Fix is now merged upstream:
<a class="moz-txt-link-freetext" href="http://gerrit.ovirt.org/gitweb?p=ovirt-engine.git;a=commit;h=242636a161a1f7ee44bfad2f9a80002b589b685e">http://gerrit.ovirt.org/gitweb?p=ovirt-engine.git;a=commit;h=242636a161a1f7ee44bfad2f9a80002b589b685e</a>
I verified it on my environment, testing both snapshots and pools.
I guess that old VMs you have, that are part of a pool, or were restored from snapshots, can be damaged (as not only the monitors were duplicated, but all the other devices as well, besides disks).
Thank you for helping us find the problem,
Oved
----- Original Message -----
</pre>
<blockquote type="cite">
<pre wrap="">From: "Yair Zaslavsky" <a class="moz-txt-link-rfc2396E" href="mailto:yzaslavs@redhat.com"><yzaslavs@redhat.com></a>
To: <a class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a>
Cc: "mohsen saeedi" <a class="moz-txt-link-rfc2396E" href="mailto:mohsen.saeedi@gmail.com"><mohsen.saeedi@gmail.com></a>, "Oved Ourfalli" <a class="moz-txt-link-rfc2396E" href="mailto:oourfali@redhat.com"><oourfali@redhat.com></a>
Sent: Tuesday, June 5, 2012 7:16:12 PM
Subject: Re: [Users] Ovirt - double use of PCI Address
On 06/05/2012 06:46 PM, Oved Ourfalli wrote:
</pre>
<blockquote type="cite">
<pre wrap="">I think that the problem is related to snapshots.
I saw that when working with a VM pool, defining some pre-started
VMs, then when shutting down a VM then all the devices are created
again, which leads to these duplications.
Still need to investigate/debug it, on a clean environment, but
looks like it is the issue.
</pre>
</blockquote>
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">
Oved
</pre>
</blockquote>
<pre wrap="">I would also like to add that maybe its worth to get the XML of the
configuration of the snapshot.
This information is stored as "text" under the vm_configuration
column
of "snapshots" table.
You will always have an "active" snapshot - this is not the snapshot
you're interested at, simply query the snapshots table according to
the
snapshot description, and you will have the OVF that describes the VM
when the snapshot was created.
I wonder if the OVF is correctly kept at the snapshot (just
suggesting
another point of investigation)
Yair
</pre>
<blockquote type="cite">
<pre wrap="">
----- Original Message -----
</pre>
<blockquote type="cite">
<pre wrap="">From: "Mohsen Saeedi" <a class="moz-txt-link-rfc2396E" href="mailto:mohsen.saeedi@gmail.com"><mohsen.saeedi@gmail.com></a>
To: "Oved Ourfalli" <a class="moz-txt-link-rfc2396E" href="mailto:ovedo@redhat.com"><ovedo@redhat.com></a>
Cc: <a class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a>, "Igor Lvovsky" <a class="moz-txt-link-rfc2396E" href="mailto:ilvovsky@redhat.com"><ilvovsky@redhat.com></a>
Sent: Tuesday, June 5, 2012 6:34:18 PM
Subject: Re: [Users] Ovirt - double use of PCI Address
Ok. thanks. I'm trying to do all of the under my home server with
Ovirt. I'll update you about any problem in this case.
Oved Ourfalli <a class="moz-txt-link-rfc2396E" href="mailto:ovedo@redhat.com"><ovedo@redhat.com></a> wrote on Tue, 05 Jun 2012
11:20:03
-0400 (EDT):
----- Original Message -----
From: "Mohsen Saeedi" <a class="moz-txt-link-rfc2396E" href="mailto:mohsen.saeedi@gmail.com"><mohsen.saeedi@gmail.com></a> To: "Oved
Ourfalli"
<a class="moz-txt-link-rfc2396E" href="mailto:ovedo@redhat.com"><ovedo@redhat.com></a> Cc: <a class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a> , "Igor Lvovsky"
<a class="moz-txt-link-rfc2396E" href="mailto:ilvovsky@redhat.com"><ilvovsky@redhat.com></a> Sent: Tuesday, June 5, 2012 6:10:30 PM
Subject: Re: [Users] Ovirt - double use of PCI Address
Hi Again
I just defined new server on Ovirt admin portal. I think define
monitor is for desktop virtualization. is it true?
I switched more than two time between spice and vnc. do you think
switching between vnc and spice is the reason for this problem?
And
did the problem occur?
Trying to reproduce it now and I can't, although I seem to have
some
VMs with more than one monitor in the vm_device table, but all
have
this property set to 1.
I'll update you in case I understand the reason. If you have a
solid
reproduction then please share it.
Thank you,
Oved
I'm going to delete extra video card. but it's very interesting
for
me to know about reason of this problem.
Thanks
Oved Ourfalli <a class="moz-txt-link-rfc2396E" href="mailto:ovedo@redhat.com"><ovedo@redhat.com></a> wrote on Tue, 05 Jun 2012
10:16:07
-0400 (EDT):
----- Original Message -----
From: "Mohsen Saeedi" <a class="moz-txt-link-rfc2396E" href="mailto:mohsen.saeedi@gmail.com"><mohsen.saeedi@gmail.com></a> To: "Oved
Ourfalli"
<a class="moz-txt-link-rfc2396E" href="mailto:ovedo@redhat.com"><ovedo@redhat.com></a> Cc: <a class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a> , "Igor Lvovsky"
<a class="moz-txt-link-rfc2396E" href="mailto:ilvovsky@redhat.com"><ilvovsky@redhat.com></a> Sent: Tuesday, June 5, 2012 5:06:55 PM
Subject: Re: [Users] Ovirt - double use of PCI Address
Thanks. But i didn't add 3 video card! why there is 3 video
card?is
it bug? Basically the number of devices should grow or shrink,
according to the number of monitors you choose in the VM
properties.
If it has more then it is a bug.
I'll take a look at it.
can you please explain more about how can i fix this problem? i
must
go to the database and then i leave the address as is? i don't
understand last your sentence.
Thanks for you attention. Thinking of it, if you don't want 3
devices
you can just delete two of the three video controllers in order to
workaround the issue.
In order to do that you'll have to do the following in the
database:
1. Find the vm_id of your VM. You can do that by looking at the
vm_static table.
2. Then, in the vm_device table, find the video devices.
3. Delete two of the three devices.
Let me know if you need more help.
Oved Ourfalli <a class="moz-txt-link-rfc2396E" href="mailto:ovedo@redhat.com"><ovedo@redhat.com></a> wrote on Tue, 05 Jun 2012
10:01:00
-0400 (EDT):
----- Original Message -----
From: "Mohsen Saeedi" <a class="moz-txt-link-rfc2396E" href="mailto:mohsen.saeedi@gmail.com"><mohsen.saeedi@gmail.com></a> To: "Oved
Ourfalli"
<a class="moz-txt-link-rfc2396E" href="mailto:ovedo@redhat.com"><ovedo@redhat.com></a> Cc: <a class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a> Sent: Tuesday, June 5, 2012
4:42:09 PM
Subject: Re: [Users] Ovirt - double use of PCI Address
/*Oved Ourfalli <a class="moz-txt-link-rfc2396E" href="mailto:ovedo@redhat.com"><ovedo@redhat.com></a> */ wrote on Tue, 05 Jun 2012
09:29:19
-0400 (EDT):
----- Original Message -----
From: "Mohsen Saeedi" <a class="moz-txt-link-rfc2396E" href="mailto:mohsen.saeedi@gmail.com"><mohsen.saeedi@gmail.com></a> To:
<a class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a>
Sent: Tuesday, June 5, 2012 4:24:46 PM
Subject: [Users] Ovirt - double use of PCI Address
Hi
I setup ovirt and some other things. I make a virtual machine
(CentOS
6.2). installed and configured it. then power off it and make a
snapshot and create clone image from it.
when i trying to start new machine, i got this error:
2012-06-05 13:16:15.433+0000: 2375: error :
qemuCollectPCIAddress:743
: XML error: Attempted double use of PCI Address '0:0:2.0'
I remove the new machine and try to start old machine. i get the
error again! and i'm enable to start old machine. Can you please
attach the engine.log and vdsm.log files? Yes, I attached both of
them.
Are you working with the most updated upstream code? I'm working
with
build from git -
faef6297b0d01203e88040b2707f9abfbd754d3f. more information is
available
here: <a class="moz-txt-link-freetext" href="http://www.dreyou.org/ovirt/">http://www.dreyou.org/ovirt/</a> You can see the issue in
vdsm.log
file. You have 3 video cards, all on the same address.
                <video>
                        <address domain="0x0000" function="0x0" slot="0x02"
                         type="pci"
                        bus="0x00"/>
                        <model heads="1" type="qxl" vram="65536"/>
                </video>
                <video>
                        <address domain="0x0000" function="0x0" slot="0x02"
                         type="pci"
                        bus="0x00"/>
                        <model heads="1" type="qxl" vram="65536"/>
                </video>
                <video>
                        <address domain="0x0000" function="0x0" slot="0x02"
                         type="pci"
                        bus="0x00"/>
                        <model heads="1" type="qxl" vram="65536"/>
                </video>
Looking at the vdsm code (in vdsm/libvirtvm.py), you can see why
such
a thing might happen (also look at the FIXME comment :-) ).
# FIXME. We have an identification problem here.
# Video card device has not unique identifier, except
the
alias
# (but backend not aware to device's aliases).
# So, for now we can only assign the address according
to
devices order.
for vc in self._devices[vm.VIDEO_DEVICES]:
if not hasattr(vc, 'address') or not hasattr(vc,
'alias'):
vc.alias = alias
vc.address = address
break
# Update vm's conf with address
for dev in self.conf['devices']:
if (dev['type'] == vm.VIDEO_DEVICES) and \
(not dev.get('address') or not
dev.get('alias')):
dev['address'] = address
dev['alias'] = alias
break
The code above is responsible to return the engine core the device
addresses, after libvirt executes the VM, so that they will be
persistent, and used in future executions of the VM.
Now, the engine core is aware of the alias (as of the exact commit
you used :-) ), but the first time you run the VM, you can get the
addresses wrong, as the alias isn't taken into account.
Would you like to try to fix this issue? The fix will be to make a
better logic in the code above. Similar examples can be found in
this file, for example in the section that does the same for
controllers.
If not, let me know and I'll go ahead and fix that.
In the meantime, you can workaround this issue by going to the
vm_device table, identifying these three devices, leave the
address
as is for the first video card of your VM (you probably have
video0/1/2 as aliases), and try to run the VM again.
Now, the engine will pass the one with the correct address as the
first, and libvirt will allocate the right addresses to the other
two.
Hopefully this will be enough.
Oved
We had an issue with the monitors, in which the order of the
monitor devices is important, as the first one needs to get the
address 0:0:2.0, but that issue was fixed.
Are you using more than one monitor? No, I'm using spice or vnc
just
for getting graphic.
The vdsm.log fill will help a lot here, as it contains the VM's
domain XML file, which will show us all the devices we send
libvirt, and all the addresses that the engine expects to get from
it.
Any idea?
Thanks.
_______________________________________________
Users mailing list <a class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a>
<a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a>
_______________________________________________
Users mailing list <a class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a>
<a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a>
_______________________________________________
Users mailing list <a class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a>
<a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a>
_______________________________________________
Users mailing list <a class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a>
<a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a>
<a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a>
</pre>
</blockquote>
<pre wrap="">_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a>
<a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a>
</pre>
</blockquote>
<pre wrap="">
</pre>
</blockquote>
</blockquote>
</body>
</html>