Hi Nova Team We've had some initial support for enabling RISCV64 support in Nova in a review for sometime which I refreshed this week: https://review.opendev.org/c/openstack/nova/+/889137 Sean suggested that this really needs a blueprint and discussion at the next Nova meeting (which I can't make) so proposing discussion via ML instead: https://blueprints.launchpad.net/nova/+spec/riscv64-emulation-support I'm also going to look at the nova-emulation job to see if that can be extended to cover RISCV64 as well - there are a few nuances with dependent packages (opensbi) in Ubuntu 24.04 but I think we can come up with something workable for testing. Review and comments are appreciated. Thanks James
On 11/12/2024 15:31, James Page wrote:
Hi Nova Team
We've had some initial support for enabling RISCV64 support in Nova in a review for sometime which I refreshed this week:
https://review.opendev.org/c/openstack/nova/+/889137
Sean suggested that this really needs a blueprint and discussion at the next Nova meeting (which I can't make) so proposing discussion via ML instead:
https://blueprints.launchpad.net/nova/+spec/riscv64-emulation-support
i recorded my general support for this in the blueprint too but since i wont be aroudn eitehr for the next team meeting assuming its not canceled need week im +1 on addign the new architecture. we did add the trait to os-traits https://github.com/openstack/os-traits/blob/master/os_traits/compute/arch.py... as part of the previous blueprint but the emulation support was not read for riscv at the time so i see this as a minimal extension to the existing support. hopefully others agree.
I'm also going to look at the nova-emulation job to see if that can be extended to cover RISCV64 as well - there are a few nuances with dependent packages (opensbi) in Ubuntu 24.04 but I think we can come up with something workable for testing.
adding addtional packages to the job should be fine provided they are available in the distro. the only concern i would have would be if we needed to compile something to make it work as that could cause other conflicts in the job. i.e. if we had to comple qemu that could be an issue, if we have to install extra packages in that one specific job to provide the uefi firmware ectra that should be fine. when its workign we will need to extend the job to download a riscv image to use for the emulation testing. cirros does not actully provider one https://download.cirros-cloud.net/0.6.3/ so if we want to test this end to end we will need a similar small stand in image. ubuntu might work if there is a image that can boot with 192mb of ram or ideally less. alpine does not seam to have a sutible image to use either so that might be the tricker dep to resolve. without a test image we can at least see that the traits are repoted but it wont add much value over the unit/funcitonal tests. i assume ye have a test image that is being used to develop the functionality?
Review and comments are appreciated.
Thanks
James
participants (2)
-
James Page
-
Sean Mooney