[SRU] nova-compute-kvm does not pull ipxe-qemu on non-amd64 archs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Fix Released
|
High
|
Unassigned | ||
Pike |
Fix Released
|
High
|
Unassigned | ||
Queens |
Fix Released
|
High
|
Unassigned | ||
libvirt (Ubuntu) |
Incomplete
|
Undecided
|
Unassigned | ||
Artful |
Confirmed
|
Undecided
|
Unassigned | ||
Bionic |
Incomplete
|
Undecided
|
Unassigned | ||
nova (Ubuntu) |
Fix Released
|
High
|
James Page | ||
Artful |
Fix Released
|
High
|
James Page | ||
Bionic |
Fix Released
|
High
|
James Page |
Bug Description
[Impact]
On Ubuntu installs where --no-recommends is enabled as the default, users of nova are unable to boot instances on non-x86 based architecures
[Test Case]
Deploy openstack using charms on amr64
Boot instance
Fails with error message from original bug report
[Regression Potential]
Minimal; ipxe-qemu is a Depends for x86, but this appears to be a legacy feature; nova will use libvirt in such a way that ipxe-qemu roms are needed on all architectures.
[Original Bug Report]
If you deploy a nova-compute unit on arm64 with openstack-
2018-03-06 14:58:59.608 9770 ERROR nova.compute.
2018-03-06 14:58:59.608 9770 ERROR nova.compute.
(and efi-virtio.rom comes from ipxe-qemu)
This is because of the Depends change on nova-compute-kvm :
cloud-archive nova-compute-kvm has :
Depends: nova-compute-
regular nova-compute-kvm has :
Depends: nova-compute-
and qemu-kvm only pulls qemu-system-arm, whereas qemu-system brings in all architectures, including qemu-system-x86, which pulls in ipxe-qemu.
I guess one fix is to make qemu-system-arm64 depend on ipxe-qemu
Thanks
affects: | charm-nova-compute → nova (Ubuntu) |
Changed in nova (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in cloud-archive: | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in nova (Ubuntu): | |
milestone: | none → ubuntu-18.03 |
Changed in nova (Ubuntu): | |
assignee: | nobody → James Page (james-page) |
status: | Triaged → In Progress |
Changed in nova (Ubuntu Artful): | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → James Page (james-page) |
milestone: | none → artful-updates |
description: | updated |
summary: |
- nova-compute-kvm does not pull ipxe-qemu on non-amd64 archs + [SRU] nova-compute-kvm does not pull ipxe-qemu on non-amd64 archs |
Hi Junien,
Thanks for the detailed bug report. I'm wondering if ipxe-qemu installed is not getting installed because you're not installing recommended packages. ie. 'apt install --no-install- recommends' . They should get installed by default. Note that qemu-system-arm specifies ipxe-qemu as a 'Recommends' package whereas qemu-system-x86 specifies ipxe-qemu as a 'Depends' package.
For qemu 1:2.10+ dfsg-0ubuntu3. 5~cloud0 from xenial-pike, the debian/control file has:
Package: qemu-system
Architecture: amd64 arm arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc powerpcspe ppc64 ppc64el s390x sparc sparc64
Multi-Arch: foreign
Depends: ${misc:Depends},
qemu-system-arm,
qemu-system-mips,
qemu-system-ppc,
qemu-system-sparc,
qemu-system-x86,
qemu-system-s390x,
qemu-system-misc
Package: qemu-kvm
Architecture: i386 amd64 x32 armhf armel arm64 powerpc ppc64 ppc64el s390x
Multi-Arch: foreign
Pre-Depends: ${misc:Pre-Depends}
Depends:
${misc:Depends},
qemu-system-x86 (= ${binary:Version}) [i386 amd64 x32],
qemu-system-arm (= ${binary:Version}) [armhf armel arm64],
qemu-system-ppc (= ${binary:Version}) [powerpc ppc64 ppc64el],
qemu-system-s390x (= ${binary:Version}) [s390x],
powerpc-utils [ppc64el],
Package: qemu-system-arm 20131111. c3d1e78- 1~),
Architecture: amd64 arm arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc powerpcspe ppc64 ppc64el s390x sparc sparc64
Multi-Arch: foreign
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (>> 2.0.0+dfsg-7~)
Recommends: qemu-utils,
# aarch64 arm uses bootroms
ipxe-qemu (>= 1.0.0+git-
Please let me know what you find. For now I'm going to mark this
Thanks,
Corey