If you deploy a nova-compute unit on arm64 with openstack-origin='cloud:xenial-pike', ipxe-qemu does not get pulled, so nova fails to create instances because :
2018-03-06 14:58:59.608 9770 ERROR nova.compute.manager [instance: 50a8ca28-d43c-4c36-8354-edea0138e7f1] if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
2018-03-06 14:58:59.608 9770 ERROR nova.compute.manager [instance: 50a8ca28-d43c-4c36-8354-edea0138e7f1] libvirtError: internal error: process exited while connecting to monitor: 2018-03-06T14:58:58.689865Z qemu-system-aarch64: -device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:12:80:f6,bus=pci.1,addr=0x0: failed to find romfile "efi-virtio.rom"
(and efi-virtio.rom comes from ipxe-qemu)
This is because of the Depends change on nova-compute-kvm :
Hi,
If you deploy a nova-compute unit on arm64 with openstack- origin= 'cloud: xenial- pike', ipxe-qemu does not get pulled, so nova fails to create instances because :
2018-03-06 14:58:59.608 9770 ERROR nova.compute. manager [instance: 50a8ca28- d43c-4c36- 8354-edea0138e7 f1] if ret == -1: raise libvirtError ('virDomainCrea teWithFlags( ) failed', dom=self) manager [instance: 50a8ca28- d43c-4c36- 8354-edea0138e7 f1] libvirtError: internal error: process exited while connecting to monitor: 2018-03- 06T14:58: 58.689865Z qemu-system- aarch64: -device virtio- net-pci, netdev= hostnet0, id=net0, mac=fa: 16:3e:12: 80:f6,bus= pci.1,addr= 0x0: failed to find romfile "efi-virtio.rom"
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 : libvirt (= 2:16.0. 3-0ubuntu1~ cloud0) , qemu-kvm | qemu-system (>= 1.3.0) | kvm
Depends: nova-compute-
regular nova-compute-kvm has : libvirt (= 2:13.1. 4-0ubuntu4. 2), qemu-system (>= 1.3.0) | kvm
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