Situation: For now, I'm stuck on OpenStack Rocky on Ubuntu 18.04.6 and I have some beefy Neoverse-n1 hardware (aarch64, 64-core, 1TB memory) to integrate. Can I accomplish this with on my current OS cluster, or is this futile?
# qemu-system-aarch64 --version
QEMU emulator version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.41)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
# virsh --version
4.0.0
# uname -r
5.4.0-137-generic
How Far I've gotten: I can create a VM from the command line like this:
qemu-system-aarch64 -nographic -cpu host -machine virt,accel=kvm,gic-version=3 -m 8G -smp 4 ...
Problem:
I am struggling to integrating this with OpenStack Rocky. I think the defaults for OpenStack/libvirt/qemu versions didn't account for this sort of hardware, so I'm expecting to do a lot of overrides. I'm getting libvirt or qemu validation errors like:
libvirtError: XML error: memballoon unsupported with address type 'none'
qemu-system-aarch64: Unsupported NIC model: virtio-net
qemu-system-aarch64: Unsupported NIC model: lan9118
My current nova.conf contains:
[libvirt]
virt_type = kvm
cpu_mode = host-passthrough
hw_machine_type = virt,accel=kvm,gic-version=3
More hardware info:
qemu-system-aarch64 -machine virt,gic-version=max -device \? |& grep virtio :
…
name "virtio-balloon-device", bus virtio-bus
name "virtio-balloon-pci", bus PCI, alias "virtio-balloon"
…
name "virtio-net-device", bus virtio-bus
name "virtio-net-pci", bus PCI, alias "virtio-net"
lspci:
…
0001:01:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10G X550T (rev 01)
0001:01:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10G X550T (rev 01)
…
0003:02:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
0003:02:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)