[Bug 2054446] Re: Boot from ISO does not work

Hua Zhang 2054446 at bugs.launchpad.net
Wed Apr 16 08:09:41 UTC 2025


** Description changed:

+ [Impact]
+ 
+ Pure ISO image cannot be booted even though
+ CVEs(https://review.opendev.org/c/openstack/ossa/+/923301/1/ossa/OSSA-2024-001.yaml)
+ are already supported.
+ 
+ [Where problems could occur]
+ 
+ ISO+MBR/GPT multiple images can be booted in disk mode with CVE
+ detection support. However, a pure ISO single image can only be booted
+ in cdrom format. cdrom mode remains unsupported without this fix even if
+ CVEs are already supported since Bobcat release.
+ 
+ [Test Case]
+ 
+ Pls refer to [Test steps] section below.
+ 
+ [Regression Potential]
+ 
+ There are two patches, one is deepcopy patch(https://review.opendev.org/c/openstack/nova/+/920374), introduced since 30.0.0;
+ the other one is iso patch(https://review.opendev.org/c/openstack/nova/+/909611), introduced since 31.0.0
+ The fixes are already in the upstream main, epoxy(2025.1), need to backport to dalmatian(2024.2), caracal(2024.1), bobcat(2023.2)
+ 
+ I have tested this fix, it worked fine -
+ https://bugs.launchpad.net/cloud-archive/+bug/2054446/comments/21
+ 
+ [Others]
+ 
+ Original Bug Description Below
+ ===========
+ 
  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>
+   <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 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>
+   <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?)
+ 
+ [Test steps]
+ 
+ Pls refer to the comment (https://bugs.launchpad.net/cloud-
+ archive/+bug/2054446/comments/21) for specific test steps.

** Summary changed:

- Boot from ISO does not work
+ [SRU] Boot from ISO does not work

** Tags added: sts

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/2054446

Title:
  [SRU] Boot from ISO does not work

Status in Ubuntu Cloud Archive:
  Fix Released
Status in Ubuntu Cloud Archive caracal series:
  New
Status in Ubuntu Cloud Archive dalmatian series:
  New
Status in Ubuntu Cloud Archive epoxy series:
  Fix Released
Status in OpenStack Compute (nova):
  Fix Released
Status in nova package in Ubuntu:
  Fix Released
Status in nova source package in Noble:
  New
Status in nova source package in Oracular:
  New
Status in nova source package in Plucky:
  Fix Released

Bug description:
  [Impact]

  Pure ISO image cannot be booted even though
  CVEs(https://review.opendev.org/c/openstack/ossa/+/923301/1/ossa/OSSA-2024-001.yaml)
  are already supported.

  [Where problems could occur]

  ISO+MBR/GPT multiple images can be booted in disk mode with CVE
  detection support. However, a pure ISO single image can only be booted
  in cdrom format. cdrom mode remains unsupported without this fix even
  if CVEs are already supported since Bobcat release.

  [Test Case]

  Pls refer to [Test steps] section below.

  [Regression Potential]

  There are two patches, one is deepcopy patch(https://review.opendev.org/c/openstack/nova/+/920374), introduced since 30.0.0;
  the other one is iso patch(https://review.opendev.org/c/openstack/nova/+/909611), introduced since 31.0.0
  The fixes are already in the upstream main, epoxy(2025.1), need to backport to dalmatian(2024.2), caracal(2024.1), bobcat(2023.2)

  I have tested this fix, it worked fine -
  https://bugs.launchpad.net/cloud-archive/+bug/2054446/comments/21

  [Others]

  Original Bug Description Below
  ===========

  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 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?)

  [Test steps]

  Pls refer to the comment (https://bugs.launchpad.net/cloud-
  archive/+bug/2054446/comments/21) for specific test steps.

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




More information about the Ubuntu-openstack-bugs mailing list