Hi all, I asked a question on Launchpad. but haven't heard back anything
yet. Trying this forum to see if someone has any idea how to resolve
this issue:<br><a href="https://answers.launchpad.net/nova/+question/176938" target="_blank">https://answers.launchpad.net/nova/+question/176938</a><br>
<br>To summarize:<br>----------------------<br><br>Say I had 2 disks,
disk1 and disk2 (represented by 2 volumes). disk1 has the
root-file-system and disk2 has some data. I boot an instances using the
boot-from-volumes extension, and specify the 2 disks such as disk1
should be attached to /dev/vda and disk2 to /dev/vdb. When the instance
is launched it fails to boot, because it tries to find the
root-filesystem on disk2 instead. <br>
<br>The underlying problem is with virsh/libvirt. Boot fails because in
the libvirt.xml file created by Openstack, disk2 (/dev/vdb) is listed
before disk1 (/dev/vda). So, what happens is that the hypervisor
attaches disk2 first (since its listed first in the XML). Therefore when
these disks are attached on the guest, disk2 appears as
/dev/vda and disk1 as /dev/vdb, which causes the boot failure. Later the
kernel tries to find the root filesystem on
'/dev/vda' (because thats' what is selected as the root) and it fails
for obvious reason.
I think it's a virsh bug. It should be smart about it and attach the devices in the right order.