[libvirt] Libvirt block live migration with OpenStack Diablo

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.

I think you should use exactly same template as below. https://github.com/openstack/nova/blob/master/nova/virt/libvirt.xml.template Kei (2011/11/17 2:41), Doude wrote:
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.
_______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp

Hi Kei, I use the Diablo release of openStack and I didn't change anything in the libvirt XML template. I can saw a difference for the console file. The trunk version of Nova use a file for the logging console but the Diablo Release use a pipe. Can I change it manually ? Must I open a bur for Diablo release ? Regards, Doude. On Thu, Nov 17, 2011 at 2:23 PM, Kei.masumoto <kei.masumoto@gmail.com> wrote:
I think you should use exactly same template as below. https://github.com/openstack/nova/blob/master/nova/virt/libvirt.xml.template
Kei
(2011/11/17 2:41), Doude wrote:
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.
_______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
participants (2)
-
Doude
-
Kei.masumoto