summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2012-07-20 11:45:04 +0100
committerDaniel P. Berrange <berrange@redhat.com>2012-07-20 13:39:20 +0100
commit7b5a46b29fe994e9dc973bd7e5b60dee9f803f91 (patch)
tree5b1f9c93bea44e4b8ad0af9a765d0bd7aaafcfd1 /nova/virt
parent7292473944762c42c0d04e16599822ab55d9b726 (diff)
Don't set device='cdrom' for all disks in libvirt driver
When the root disk image was tagged as being an ISO image, the libvirt driver would mistakenly set device='cdrom' for all disks, instead of just the first image Change-Id: Idf29df5c460f8ebefd2e462a53d72280d5af4c5e Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/libvirt/driver.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index bb460c8ea..d41a18304 100644
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -1654,10 +1654,10 @@ class LibvirtDriver(driver.ComputeDriver):
else:
root_device_type = 'disk'
- def disk_info(name):
+ def disk_info(name, device_type="disk"):
image = self.image_backend.image(instance['name'],
name)
- return image.libvirt_info(root_device_type,
+ return image.libvirt_info(device_type,
self.disk_cachemode)
if FLAGS.libvirt_type == "uml":
@@ -1668,7 +1668,7 @@ class LibvirtDriver(driver.ComputeDriver):
ephemeral_disk_bus = "virtio"
if rescue:
- diskrescue = disk_info('disk.rescue')
+ diskrescue = disk_info('disk.rescue', root_device_type)
diskrescue.target_dev = self.default_root_device
diskrescue.target_bus = ephemeral_disk_bus
guest.add_device(diskrescue)
@@ -1682,7 +1682,7 @@ class LibvirtDriver(driver.ComputeDriver):
block_device_info)
if not ebs_root:
- diskos = disk_info('disk')
+ diskos = disk_info('disk', root_device_type)
diskos.target_dev = root_device
if root_device_type == "cdrom":
diskos.target_bus = "ide"