libvirt: use tap for non-blockdevice images on Xen
This patch reverts 35c4962c0b97bae5b8751d316d5822fe22c1ab6a: 'use
file instead of tap for non-blockdevice images on Xen', which breaks
qcow2 disk working on Xen. If the method pick_disk_driver_name()
returns 'file' for qcow2 format, we would get the following disk XML
snippet:
    <disk type="file" device="disk">
      <driver name="file" type="qcow2" cache="none"/>
      <source file="/data/instances/instance-00000081/disk"/>
      <target bus="xen" dev="hda"/>
    </disk>
which produces configuration in the xen tools like:
    "file:/data/instances/instance-00000081/disk,hda,w"
Guest would not boot successfully, as Xen doesn't think of disk format
as qcow2. Instead, 'tap' works with both raw and qcow2 disk.
For LP#1084618, I think it is related with libvirt verion. In my
deployment(libvirt-1.0.1), 'tap' dirver could produce correct
configuration for both raw and qcow2 disk format.
Change-Id: I636b2fed366474e2ae8c3b52403e3085724b24f0
			
			
This commit is contained in:
		| @@ -4092,7 +4092,7 @@ class LibvirtUtilsTestCase(test.TestCase): | ||||
|     def test_pick_disk_driver_name(self): | ||||
|         type_map = {'kvm': ([True, 'qemu'], [False, 'qemu'], [None, 'qemu']), | ||||
|                     'qemu': ([True, 'qemu'], [False, 'qemu'], [None, 'qemu']), | ||||
|                     'xen': ([True, 'phy'], [False, 'file'], [None, 'file']), | ||||
|                     'xen': ([True, 'phy'], [False, 'tap'], [None, 'tap']), | ||||
|                     'uml': ([True, None], [False, None], [None, None]), | ||||
|                     'lxc': ([True, None], [False, None], [None, None])} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yufang Zhang
					Yufang Zhang