[libvirt] Libvirt block live migration with OpenStack Diablo

Doude doudouyam at gmail.com
Wed Nov 16 17:41:57 UTC 2011


Hi all,

I use OpenStack Diablo release 2011.3-0ubuntu6.2 on ubuntu 11.10 with
libvirt 0.9.2-4ubuntu15.1

I try to block migrate a VM from one host to another one.
OpenStack uses the 'migrateToURI' method from libvirt python library.
But this call fails.

Libvirt log :
- Source host:
18:27:30.475: 24622: error : remoteIO:5985 : unable to set user and
group to '107:118' on
'/var/lib/nova/instances/instance-000000b7/console.fifo.in': No such
file or directory
- Target host:
27:29.737: 27244: error : virSecurityDACSetOwnership:125 : unable to
set user and group to '107:118' on
'/var/lib/nova/instances/instance-000000b7/console.fifo.in': No such
file or directory
18:27:29.917: 27244: error :
virSecurityDACRestoreSecurityFileLabel:143 : cannot resolve symlink
/var/lib/nova/instances/instance-000000b7/console.fifo.out: No such
file or directory

So the migration fails. VM disks are transfered to the target host but
console files aren't.

XML file of domain:

<domain type='kvm'>
    <name>instance-000000b7</name>
    <memory>2097152</memory>
    <os>
            <type>hvm</type>
            <boot dev="hd" />
    </os>
    <features>
        <acpi/>
    </features>
    <vcpu>2</vcpu>
    <devices>
        <disk type='file'>
            <driver type='qcow2'/>
            <source file='/var/lib/nova/instances/instance-000000b7/disk'/>
            <target dev='vda' bus='virtio'/>
        </disk>
            <disk type='file'>
                <driver type='qcow2'/>
                <source
file='/var/lib/nova/instances/instance-000000b7/disk.local'/>
                <target dev='vdb' bus='virtio'/>
            </disk>

        <interface type='bridge'>
            <source bridge='br102'/>
            <mac address='02:16:3e:36:c4:70'/>
            <model type='virtio'/>
            <filterref filter="nova-instance-instance-000000b7-02163e36c470">
                <parameter name="IP" value="172.16.2.3" />
                <parameter name="DHCPSERVER" value="172.16.2.1" />
            </filterref>
        </interface>

        <!-- The order is significant here.  File must be defined first -->
        <serial type="pipe">
            <source
path='/var/lib/nova/instances/instance-000000b7/console.fifo'/>
            <target port='1'/>
        </serial>

        <console type='pty' tty='/dev/pts/2'>
            <source path='/dev/pts/2'/>
            <target port='0'/>
        </console>

        <serial type='pty'>
            <source path='/dev/pts/2'/>
            <target port='0'/>
        </serial>

        <graphics type='vnc' port='-1' autoport='yes' keymap='fr'
listen='0.0.0.0'/>
    </devices>
</domain>


Could you help me ?

Regards,
Doude.




More information about the libvir-list mailing list