← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2054446] [NEW] Boot from ISO does not work

 

Public bug reported:

It may be https://bugs.launchpad.net/nova/+bug/1454901 resurfacing
again..

Symptoms using fresh DevStack/master:

I follow the docs https://docs.openstack.org/nova/latest/user/launch-instance-using-ISO-image.html
and using tinycore iso for testing http://tinycorelinux.net/ (this is very small liveCD ISO) to speed up testing.

Image is created with

openstack image create --public --file Core-14.0.iso --disk-format iso
Core-14.0.iso

Then I boot the instance as usual

openstack --os-compute-api-version 2.latest server create --image
Core-14.0.iso --flavor cirros256 --no-network iso-test

The instance is ACTIVE, but when I connect to it via noVNC it shows that
it failed to boot - "No bootable device"

The relevant part of the instance XML is

  <devices>                                                                                                                                                                                                                            
    <emulator>/usr/bin/qemu-system-x86_64</emulator>                                                                                                                                                                                   
    <disk type='file' device='disk'>                                                                                                                                                                                                   
      <driver name='qemu' type='qcow2' cache='none'/>                                                                                                                                                                                  
      <source file='/opt/stack/data/nova/instances/0c3d31a9-7ecf-4625-9e0e-4cd89d1b76c2/disk' index='1'/>                                                                                                                              
      <backingStore type='file' index='2'>                                                                                                                                                                                             
        <format type='raw'/>                                                                                                                                                                                                           
        <source file='/opt/stack/data/nova/instances/_base/b2b7eb374cc75a24d0e5ba0eca7ca9cc1e6dc7c6'/>                                                                                                                                 
        <backingStore/>                                                                                                                                                                                                                
      </backingStore>                                                                                                                                                                                                                  
      <target dev='vda' bus='virtio'/>                                                                                                                                                                                                 
      <alias name='virtio-disk0'/>                                                                                                                                                                                                     
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </disk>

This is Nova/master + libvirt 8.0

I checked the same on OpenStack Yoga and Antelope - the result is the
same.

However, on OpenStack Queens (+ libvirt 4.0) the instance boots from the
same ISO image uploaded to Glance just fine! The relevant part of
libvirt domain XML in OpenStack Queens is

  <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/var/lib/nova/instances/791cf357-02e6-4a7f-9310-25f5e79cf27d/disk'/>
      <backingStore type='file' index='1'>
        <format type='raw'/>
        <source file='/var/lib/nova/instances/_base/d646a5bfc2ce7e3926d0f368b8adb975b245cfd2'/>
        <backingStore/>
      </backingStore>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>

Notice the difference in disk device and target/address/alias. When I
manually edited the XML on devstack to look like that from Queens, the
instance booted successfully.

This looks like a regression somewhere in Nova (libvirt driver?)

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/2054446

Title:
  Boot from ISO does not work

Status in OpenStack Compute (nova):
  New

Bug description:
  It may be https://bugs.launchpad.net/nova/+bug/1454901 resurfacing
  again..

  Symptoms using fresh DevStack/master:

  I follow the docs https://docs.openstack.org/nova/latest/user/launch-instance-using-ISO-image.html
  and using tinycore iso for testing http://tinycorelinux.net/ (this is very small liveCD ISO) to speed up testing.

  Image is created with

  openstack image create --public --file Core-14.0.iso --disk-format iso
  Core-14.0.iso

  Then I boot the instance as usual

  openstack --os-compute-api-version 2.latest server create --image
  Core-14.0.iso --flavor cirros256 --no-network iso-test

  The instance is ACTIVE, but when I connect to it via noVNC it shows
  that it failed to boot - "No bootable device"

  The relevant part of the instance XML is

    <devices>                                                                                                                                                                                                                            
      <emulator>/usr/bin/qemu-system-x86_64</emulator>                                                                                                                                                                                   
      <disk type='file' device='disk'>                                                                                                                                                                                                   
        <driver name='qemu' type='qcow2' cache='none'/>                                                                                                                                                                                  
        <source file='/opt/stack/data/nova/instances/0c3d31a9-7ecf-4625-9e0e-4cd89d1b76c2/disk' index='1'/>                                                                                                                              
        <backingStore type='file' index='2'>                                                                                                                                                                                             
          <format type='raw'/>                                                                                                                                                                                                           
          <source file='/opt/stack/data/nova/instances/_base/b2b7eb374cc75a24d0e5ba0eca7ca9cc1e6dc7c6'/>                                                                                                                                 
          <backingStore/>                                                                                                                                                                                                                
        </backingStore>                                                                                                                                                                                                                  
        <target dev='vda' bus='virtio'/>                                                                                                                                                                                                 
        <alias name='virtio-disk0'/>                                                                                                                                                                                                     
        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
      </disk>

  This is Nova/master + libvirt 8.0

  I checked the same on OpenStack Yoga and Antelope - the result is the
  same.

  However, on OpenStack Queens (+ libvirt 4.0) the instance boots from
  the same ISO image uploaded to Glance just fine! The relevant part of
  libvirt domain XML in OpenStack Queens is

    <devices>
      <emulator>/usr/bin/kvm-spice</emulator>
      <disk type='file' device='cdrom'>
        <driver name='qemu' type='qcow2' cache='none'/>
        <source file='/var/lib/nova/instances/791cf357-02e6-4a7f-9310-25f5e79cf27d/disk'/>
        <backingStore type='file' index='1'>
          <format type='raw'/>
          <source file='/var/lib/nova/instances/_base/d646a5bfc2ce7e3926d0f368b8adb975b245cfd2'/>
          <backingStore/>
        </backingStore>
        <target dev='hda' bus='ide'/>
        <readonly/>
        <alias name='ide0-0-0'/>
        <address type='drive' controller='0' bus='0' target='0' unit='0'/>
      </disk>

  Notice the difference in disk device and target/address/alias. When I
  manually edited the XML on devstack to look like that from Queens, the
  instance booted successfully.

  This looks like a regression somewhere in Nova (libvirt driver?)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2054446/+subscriptions