** Description changed:

- (Filing this here on the advice of ~freyes.  I don't operate the actual
- Nova installation I'm working with here, so I can't provide most of the
- software versions and such, but hopefully Canonical people will be able
- to work out what's involved with PS6.)
+ [Impact]
+ 
+ Since the OpenStack Yoga release is possible to run emulated
+ architectures ( https://docs.openstack.org/nova/latest/admin/hw-
+ emulation-architecture.html ), although riscv64 is not in the list of
+ supported architectures.
  
  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.
  
- What I've tried so far (on PS6, for Canonical folks to whom that's
- meaningful):
+ [Test Case]
  
-   $ wget 
http://cloud-images.ubuntu.com/server/releases/jammy/release-20220420/ubuntu-22.04-server-cloudimg-riscv64.img
-   $ openstack image create --disk-format qcow2 --file 
~cjwatson/ubuntu-22.04-server-cloudimg-riscv64.img --private --property 
architecture=riscv64 --property item_name=disk1.img --property os_distro=ubuntu 
--property os_version=22.04 cjwatson-riscv64-test
-   $ openstack image set --property hw_emulation_architecture=riscv64 
cjwatson-riscv64-test
-   $ openstack image set --property hw_machine_type=virt cjwatson-riscv64-test
-   $ openstack server create --image cjwatson-riscv64-test --flavor vbuilder 
--network vbuilder_staging_test_net cjwatson-riscv64-test
-   Invalid image metadata. Error: Architecture name 'riscv64' is not valid 
(HTTP 400) (Request-ID: req-023932ea-7c90-4be3-89b8-6bd19718919a)
+   $ wget 
http://cloud-images.ubuntu.com/server/releases/jammy/release-20220420/ubuntu-22.04-server-cloudimg-riscv64.img
+   $ openstack image create --disk-format qcow2 --file 
~cjwatson/ubuntu-22.04-server-cloudimg-riscv64.img --private --property 
architecture=riscv64 --property item_name=disk1.img --property os_distro=ubuntu 
--property os_version=22.04 cjwatson-riscv64-test
+   $ openstack image set --property hw_emulation_architecture=riscv64 
cjwatson-riscv64-test
+   $ openstack image set --property hw_machine_type=virt cjwatson-riscv64-test
+   $ openstack server create --image cjwatson-riscv64-test --flavor vbuilder 
--network vbuilder_staging_test_net cjwatson-riscv64-test
+ 
+ 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-7c90-4be3-89b8-6bd19718919a)
  
  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.

** Changed in: charm-nova-compute
       Status: Triaged => Invalid

** Also affects: nova (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: nova
   Importance: Undecided
       Status: New

** Changed in: nova
     Assignee: (unassigned) => Felipe Reyes (freyes)

-- 
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/2023211

Title:
  Run emulated riscv64 VMs on amd64

Status in OpenStack Nova Compute Charm:
  Invalid
Status in OpenStack Compute (nova):
  New
Status in nova package in Ubuntu:
  New

Bug description:
  [Impact]

  Since the OpenStack Yoga release is possible to run emulated
  architectures ( https://docs.openstack.org/nova/latest/admin/hw-
  emulation-architecture.html ), although riscv64 is not in the list of
  supported architectures.

  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://cloud-images.ubuntu.com/server/releases/jammy/release-20220420/ubuntu-22.04-server-cloudimg-riscv64.img
    $ openstack image create --disk-format qcow2 --file 
~cjwatson/ubuntu-22.04-server-cloudimg-riscv64.img --private --property 
architecture=riscv64 --property item_name=disk1.img --property os_distro=ubuntu 
--property os_version=22.04 cjwatson-riscv64-test
    $ openstack image set --property hw_emulation_architecture=riscv64 
cjwatson-riscv64-test
    $ openstack image set --property hw_machine_type=virt cjwatson-riscv64-test
    $ openstack server create --image cjwatson-riscv64-test --flavor vbuilder 
--network vbuilder_staging_test_net cjwatson-riscv64-test

  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-7c90-4be3-89b8-6bd19718919a)

  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/charm-nova-compute/+bug/2023211/+subscriptions


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to