Reviewed: https://review.opendev.org/c/openstack/nova/+/909611 Committed: https://opendev.org/openstack/nova/commit/96a5c21f24f6a89411d12677ae5fa75adf26ed61 Submitter: "Zuul (22348)" Branch: master
commit 96a5c21f24f6a89411d12677ae5fa75adf26ed61 Author: Pavlo Shchelokovskyy <[email protected]> Date: Tue Feb 20 19:47:44 2024 +0000 Fix device type when booting from ISO image Closes-Bug: #2054446 Change-Id: Ib4cc34c30a8acf09a1ab6be89d0faa76fb6e705e ** Changed in: nova Status: In Progress => Fix Released -- 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): Fix Released 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 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

