[ovirt-users] payload device serial

Pavel Gashev Pax at acronis.com
Wed Mar 30 14:39:14 UTC 2016


Hello,

I hit a bug, and just want to share a solution.

VM with a payload (Initial run) do not start with libvirt >= 1.3.2. VDSM log says: "libvirtError: unsupported configuration: Disks 'hdc' and 'hdd' have identical serial".

Yes, both cdrom devices have the same serial. Empty serial:

                <disk device="cdrom" snapshot="no" type="file">
                        <source file="/var/run/vdsm/payload/2eaf9c8e-2123-4b48-9b62-f96168ac7a36.41f22cb1676858ad4e22e8440519032d.img" startupPolicy="optional"/>
                        <target bus="ide" dev="hdd"/>
                        <readonly/>
                        <serial/>
                </disk>
                <disk device="cdrom" snapshot="no" type="file">
                        <source file="" startupPolicy="optional"/>
                        <target bus="ide" dev="hdc"/>
                        <readonly/>
                        <serial/>
                </disk>

I don't know where is the issue. Either libvirt should work with empty serials, or VDSM should generate serial at least for payload device.

Related bug -  https://bugzilla.redhat.com/show_bug.cgi?id=1245013

Quick fix is to install a VDSM hook to /usr/libexec/vdsm/hooks/before_vm_start:
---------- cut here ----------
#!/usr/bin/python

import hooking
import uuid

domxml = hooking.read_domxml()

for disk in domxml.getElementsByTagName('disk'):
    if disk.getAttribute('device') == 'cdrom':
        for source in disk.getElementsByTagName('source'):
            if source.getAttribute('file').find('/payload/') > 0:
                for serial in disk.getElementsByTagName('serial'):
                    if not serial.hasChildNodes():
                        serial.appendChild(domxml.createTextNode(str(uuid.uuid4())))
                        hooking.write_domxml(domxml)
---------- cut here ----------

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/users/attachments/20160330/88478425/attachment-0001.html>


More information about the Users mailing list