Run emulated riscv64 VMs on amd64
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
In Progress
|
Undecided
|
Felipe Reyes | ||
OpenStack Nova Compute Charm |
Invalid
|
Undecided
|
Unassigned | ||
nova (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
[Impact]
Since the OpenStack Yoga release is possible to run emulated architectures ( https:/
In the Launchpad build farm, we run a cluster of riscv64 virtual machines that deal with building riscv64 artifacts, including .debs for Ubuntu itself. We don't currently have hypervisor-capable riscv64 hardware to run these on, so we're using qemu system emulation on commodity amd64 hardware. This works OK, but we currently do this in manually-configured libvirt instances; we'd much rather be able to do it on our internal OpenStack clouds.
[Test Case]
$ wget http://
$ openstack image create --disk-format qcow2 --file ~cjwatson/
$ openstack image set --property hw_emulation_
$ openstack image set --property hw_machine_
$ openstack server create --image cjwatson-
Expected result: the created instance reaches to ACTIVE state.
Actual result: the "openstack server create" command fails with the following error message:
Invalid image metadata. Error: Architecture name 'riscv64' is not valid (HTTP 400) (Request-ID: req-023932ea-
This causes me to think that, even if I've left out some property or other (e.g. firmware), basic things like the riscv64 architecture name being valid aren't currently in place. But it's certainly possible I've got something wrong here. If there's a known way to make this work, could it please be documented?
I've attached `virsh dumpxml` output from one of the manual libvirt instances we use at present, in case it's useful.
description: | updated |
Changed in charm-nova-compute: | |
status: | Triaged → Invalid |
Changed in nova: | |
assignee: | nobody → Felipe Reyes (freyes) |
Changed in nova: | |
status: | New → In Progress |
We (OpenStack Engineering) need to identify if there are gaps in the support to run riscv64 emulation. The upstream documentation can be found at https:/ /docs.openstack .org/nova/ latest/ admin/hw- emulation- architecture. html , the support landed in Yoga. If no issues are found in the charm, we should asses if we can improve the charm-guide to assist operators on how to achieve this setup.