[SRU] Boot from ISO does not work
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Pavlo Shchelokovskyy | |||
Ubuntu Cloud Archive | Status tracked in Epoxy | |||||
Bobcat |
Fix Released
|
Undecided
|
Unassigned | |||
Caracal |
New
|
Undecided
|
Unassigned | |||
Dalmatian |
New
|
Undecided
|
Unassigned | |||
Epoxy |
Fix Released
|
Undecided
|
Unassigned | |||
nova (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | |||
Noble |
New
|
Undecided
|
Unassigned | |||
Oracular |
New
|
Undecided
|
Unassigned | |||
Plucky |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
Pure ISO image cannot be booted even though CVEs(https:/
[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:/
the other one is iso patch(https:/
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:/
[Others]
Original Bug Description Below
===========
It may be https:/
Symptoms using fresh DevStack/master:
I follow the docs https:/
and using tinycore iso for testing http://
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-
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>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/
<backingStore type='file' index='2'>
<format type='raw'/>
<source file='/
<
<target dev='vda' bus='virtio'/>
<alias name='virtio-
<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>
<disk type='file' device='cdrom'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/
<backingStore type='file' index='1'>
<format type='raw'/>
<source file='/
<
<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/
This looks like a regression somewhere in Nova (libvirt driver?)
[Test steps]
Pls refer to the comment (https:/
Changed in nova: | |
assignee: | nobody → Pavlo Shchelokovskyy (pshchelo) |
Changed in nova: | |
importance: | Undecided → Low |
importance: | Low → Medium |
Changed in nova (Ubuntu Plucky): | |
status: | New → Fix Released |
description: | updated |
summary: |
- Boot from ISO does not work + [SRU] Boot from ISO does not work |
tags: | added: sts |
Fix proposed to branch: master /review. opendev. org/c/openstack /nova/+ /909611
Review: https:/