猫能吃什么水果| 考试前吃什么提神醒脑| skp是什么品牌| 身上有淤青是什么原因| 什么原因导致尿酸高| 勾股定理是什么意思| 宝宝头爱出汗是什么原因| 旭五行属性是什么| 彩超是检查什么的| 半身不遂是什么意思| 睡觉张嘴巴是什么原因| 梦见乌龟是什么意思| mophie是什么牌子| 望远镜10x50什么意思| 天朝是什么意思| 宝宝经常发烧是什么原因引起的| 腺肌症吃什么药| 牙齿酸痛吃什么药| 心季是什么原因| 碧玺是什么宝石| 脑白质疏松是什么意思| 什么是黑咖啡| 4.2什么星座| jw是什么意思| 少阳证是什么意思| thirty什么意思| 燕窝有什么功效和作用| 肺结核阳性是什么意思| 什么是开放性伤口| tf口红是什么牌子| 蓝牙耳机什么样的好| 芝麻什么时候种| 蚕蛹吃什么| 癫是什么意思| 偏头痛是什么| 夏天要注意什么| 跳闸是什么原因| 胎儿双侧肾盂无分离是什么意思| p2是什么意思| 花骨朵是什么意思| 焕字五行属什么| 脑血管堵塞会有什么后果| 查传染病四项挂什么科| 胶原蛋白是什么意思| 胃药吃多了有什么副作用| 什么牙膏最好| 肝郁症是什么病| 梦见自己洗澡是什么意思| 戌是什么生肖| 为什么晚上睡觉老是做梦| 董事总经理是什么职位| 5.19是什么星座| 受控是什么意思| 水牛背满月脸是什么病| 合伙人是什么意思| 点蜡烛什么意思| 女生额头长痘痘是什么原因| 白塞病是什么病| 紫癜是什么病严重吗| 急性肠胃炎有什么症状| 三级警督是什么级别| 宝宝低烧是什么原因引起的| 做梦吃屎有什么预兆| 松鼠的尾巴有什么作用| 卵巢保养最好的方法是什么| 桃字五行属什么| 宝宝喝什么奶粉好| 朱红色是什么颜色| 鼠入牛角是什么动物| 致什么意思| 正在值机是什么意思| 喝酒过敏是什么原因| 门前的小树已成年是什么歌| 体恤是什么意思| 去火喝什么茶最好| 高血压会引起什么并发症| 长期喝豆浆有什么好处和坏处| 湿疹用什么药最好| 玉米什么时候打药| 动物奶油是什么做的| 跳蚤怕什么东西| 什么情况下需要打破伤风针| 惊弓之鸟是什么意思| 一个土一个贝念什么| 狐狸狗是什么品种| 肝阴虚吃什么药| 吃竹笋有什么好处和坏处| 甲状腺3类是什么意思| 宫颈鳞状上皮增生是什么意思| 炒菜用什么油比较好| 为什么大拇指只有两节| 肌酸激酶高挂什么科| 履历是什么意思| 大姨妈量多是什么原因| 情感障碍是什么意思| 左下腹是什么器官| 真实的印度是什么样的| loreal是什么品牌| 求租是什么意思| 怀孕初期吃什么| mchc偏低是什么意思| 神经性皮炎用什么药最好| 骨古头坏死吃什么药| 长期不过性生活有什么危害| 湛江有什么好玩的| 巨蟹座女生喜欢什么样的男生| 无后为大的前一句是什么| 1月出生是什么星座| 小便不利什么意思| 老登是什么意思| 什么命的人会丧偶| 心肌炎用什么药治疗最好| 有什么好听的名字| 土中金是什么数字| 过敏性紫癜看什么科| 梦见奶奶死了是什么意思| 水晶为什么要消磁| 血压低有什么办法| 改嫁是什么意思| 七情六欲指什么| 佛性是什么意思| 恶露是什么样子的图片| 寄生虫吃什么药可以杀死| 现在什么节气| 跖疣挂什么科| 红枸杞有什么功效| joan什么意思| 麻了是什么意思| 陈酿是什么意思| 什么是刺身| 一个马一个尧读什么| 小儿麻痹是什么病| 大便有酸味是什么原因| 护照类型p是什么意思| 才华横溢是什么生肖| 藏红花不能和什么一起吃| 尿酸高吃什么好| chemical是什么意思| 膀胱ca是什么意思| 6月24号什么星座| 胰腺炎的症状是什么| 护手霜什么牌子的效果好| 体香是什么味道| 小孩晚上睡觉流口水是什么原因| 哈吉是什么意思| 朱砂属于五行属什么| 日午念什么| 口且念什么| 词讼是什么意思| 女性盆腔炎吃什么药| 脾挂什么科| 美的是什么牌子| 座山雕什么意思| 什么是hpv感染| it是什么行业| rst是什么意思| 女孩叫锦什么好听| Years什么意思| 6点是什么时辰| 合胞病毒是什么| 沙里瓦是什么意思| 花菜炒什么好吃| 肾错构瘤是什么病| 结膜炎角膜炎用什么眼药水| 6月13日什么星座| 外阴过敏用什么药| 什么之财| 雅诗兰黛是什么牌子| 平躺头晕是什么原因| 阳虚和阴虚有什么区别| 五月十八什么星座| 前列腺在什么地方| 捕风捉影是什么意思| 喝酒吐血是什么原因| 乳头有点痒是什么原因| 额头和下巴长痘痘是什么原因| 拔罐起水泡是什么原因| 松香有毒吗对人体有什么危害| 血脂高吃什么药好| 房颤吃什么药| 老人生日送什么礼物好| 老是嗝气是什么原因| 蛇靠什么爬行| 肝阳上亢是什么意思| 沙金是什么| 之一的意思是什么| 霉菌性阴道炎用什么药效果好| 什么水果养胃又治胃病| 痣长在什么地方不好| 心识是什么意思| 胆囊壁毛糙是什么意思| 64年属什么生肖| 小虾吃什么食物| 草莓是什么季节的| 电风扇不转是什么原因| 玉米须有什么功效| 有主见是什么意思| 化疗是什么样的过程| 中央候补委员什么级别| 眉心跳动代表什么预兆| 云南有什么名酒| gn什么意思| 因子是什么意思| 未亡人什么意思| 萌宠是什么意思| 心脏早搏是怎么回事有什么危害| 爱字五行属什么| 事不过三是什么意思| 开荤是什么意思| 经常晕车是什么原因| 5月8日是什么星座| 马齿苋什么人不能吃| 松鼠桂鱼是什么鱼| 重阳节是什么时候| 病毒性咳嗽吃什么药好| 鲁迅的原名叫什么| 很难怀孕是什么原因| 什么是鸡奸| 儿童掉头发什么原因| 最好的红酒是什么牌子| 曹操的小名叫什么| 双减是什么意思| 吃什么掉秤快| 什么事情| 冬至节气的含义是什么| py交易是什么意思| 反复发烧是什么原因引起的| 牙齿痛吃什么好| 总是感觉口渴是什么原因| 活化部分凝血活酶时间偏高是什么意思| 外阴病变有什么症状| 翘首以盼是什么意思| 银子有什么功效与作用| 高考明天考什么| 养儿防老下一句是什么| 平安果什么时候吃| 急性胃肠炎用什么抗生素| 春晓描写的是什么季节| b像什么| 乐的五行属性是什么| 世界上最长的英文单词是什么| 纳财是什么意思| 湿疹什么原因引起的| 师弟是什么意思| 今年高温什么时候结束| 种马是什么意思| 受罪是什么意思| 吃维生素b12有什么好处和副作用| 静若幽兰什么意思| 胸是什么| 雷诺氏病是一种什么病| 做梦搬家是什么意思| 藿香正气水能治什么病| cro是什么意思| 夏天可以种什么蔬菜| 保家仙都有什么仙| 女人身体弱带什么辟邪| 杂酱面用什么面| 鸡冲什么生肖| nos是什么单位| 眼皮肿挂什么科| 体检胸片是检查什么的| 无欲无求是什么意思| 土豆淀粉能做什么美食| 百度

光明日报推出系列微视频引发现象级传播

Bug #2023211 reported by Colin Watson
24
This bug affects 3 people
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

百度 相信不少球迷都还记得,上个十年里最广为人传的6+5政策,在2008年5月30日悉尼召开的国际足联代表会议上,以155票赞成、5票反对、40票弃权的绝对优势获得通过,但却因为欧足协和欧盟的强势反对,最终无疾而终。

[Impact]

Since the OpenStack Yoga release is possible to run emulated architectures ( http://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.

Revision history for this message
Colin Watson (cjwatson) wrote :
Revision history for this message
Felipe Reyes (freyes) wrote :

We (OpenStack Engineering) need to identify if there are gaps in the support to run riscv64 emulation. The upstream documentation can be found at http://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.

Revision history for this message
Felipe Reyes (freyes) wrote :

The issue here seems to be that the nova.objects.fields.Architecture class[0] doesn't have registered RISCV64, so the list defined in os-traits[1] doesn't seem to be enough to have support for an emulated architecture.

Here I'm attaching a diff that can be used as a starting point.

Reproducer:

```
test -f ubuntu-22.04-server-cloudimg-riscv64.img && 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 ./ubuntu-22.04-server-cloudimg-riscv64.img \
    --public \
    --property architecture=riscv64 \
    --property item_name=disk1.img \
    --property os_distro=ubuntu \
    --property os_version=22.04 \
    riscv64-test
openstack image set --property hw_emulation_architecture=riscv64 riscv64-test
openstack image set --property hw_machine_type=virt riscv64-test
openstack server create \
    --image riscv64-test \
    --network freyes_admin_net \
    --flavor m1.medium \
    --key-name freyes \
    my-riscv64-test
```

Output:

```
Invalid image metadata. Error: Architecture name 'riscv64' is not valid (HTTP 400) (Request-ID: req-7a2d48d1-4457-40fc-b26a-7906ce929532)
```

In the logs:

```
2025-08-04 03:32:43.912 2238785 INFO nova.api.openstack.wsgi [req-7a2d48d1-4457-40fc-b26a-7906ce929532 a3ee17ed103a4cbbabdb215d9dca0482 - - 1bf127c9b631435984600ac72fa5374f 1bf127c9b631435984600ac72fa5374f] HTTP exception thrown: Invalid image metadata. Error: Architecture name 'riscv64' is not valid
2025-08-04 03:32:43.913 2238785 DEBUG nova.api.openstack.wsgi [req-7a2d48d1-4457-40fc-b26a-7906ce929532 a3ee17ed103a4cbbabdb215d9dca0482 - - 1bf127c9b631435984600ac72fa5374f 1bf127c9b631435984600ac72fa5374f] Returning 400 to user: Invalid image metadata. Error: Architecture name 'riscv64' is not valid __call__ /usr/lib/python3/dist-packages/nova/api/openstack/wsgi.py:936
```

[0] http://opendev.org/openstack/nova/src/branch/master/nova/objects/fields.py#L120
[1] http://opendev.org/openstack/os-traits/src/branch/master/os_traits/compute/arch.py

Revision history for this message
Felipe Reyes (freyes) wrote :
Changed in charm-nova-compute:
status: New → Triaged
Revision history for this message
Felipe Reyes (freyes) wrote :

When using the patch available in comment #4 in a devstack environment the validation passes allowing the creation of a riscv64 instance, although the XML produced by Nova is rejected by libvirt with the following error:

ERROR nova.virt.libvirt.guest [None req-3910b77d-daf6-43fd-970d-a0989f3d72d1 demo admin] Error launching a defined domain with XML: [...]
Jul 20 14:45:20 green nova-compute[144096]: : libvirt.libvirtError: this function is not supported by the connection driver: 'riscv64' architecture is not supported by CPU driver

The attachment contains the generated XML by Nova.

Revision history for this message
Colin Watson (cjwatson) wrote :

Does your libvirt version have http://gitlab.com/libvirt/libvirt/-/commit/fd70335876 in it, i.e. 9.1.0-rc1 or better?

(Oddly, we get by with a much older libvirt right now; but I wonder if there were some bad versions in between.)

Revision history for this message
Colin Watson (cjwatson) wrote :

Also, I could be wrong, but I don't know whether that's going to get very far without passing firmware arguments to qemu. See <qemu:commandline/> in the XML I attached.

Revision history for this message
Felipe Reyes (freyes) wrote : Re: [Bug 2023211] Re: Run emulated riscv64 VMs on amd64

I have a newer patch that allowed me to create an instance, although it seems to not successfully
boot, I'm investigating that issue now.

$ openstack server list

+--------------------------------------+-----------------+--------+---------------------------------
-----------------------+--------------+----------+
| ID | Name | Status | Networks
| Image | Flavor |
+--------------------------------------+-----------------+--------+---------------------------------
-----------------------+--------------+----------+
| 51d815d0-a0c2-4a9e-93ab-26aed2df746f | my-riscv64-test | ACTIVE | private=10.0.0.13,
fd60:1406:b51:0:f816:3eff:fee7:b4b7 | riscv64-test | m1.small |
+--------------------------------------+-----------------+--------+---------------------------------
-----------------------+--------------+----------+
$ openstack console log show my-riscv64-test

OpenSBI v0.9
   ____ _____ ____ _____
  / __ \ / ____| _ \_ _|
 | | | |_ __ ___ _ __ | (___ | |_) || |
 | | | | '_ \ / _ \ '_ \ \___ \| _ < | |
 | |__| | |_) | __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name : riscv-virtio,qemu
Platform Features : timer,mfdeleg
Platform HART Count : 1
Firmware Base : 0x80000000
Firmware Size : 100 KB
Runtime SBI Version : 0.2

Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000080000000-0x000000008001ffff ()
Domain0 Region01 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000000000000
Domain0 Next Arg1 : 0x00000000bf000000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes

Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcsu
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4
Boot HART PMP Address Bits: 54
Boot HART MHPM Count : 0
Boot HART MHPM Count : 0
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
$ sudo virsh list --all
 Id Name State
-----------------------------------
 1 instance-00000002 running

$ sudo virsh dumpxml instance-00000002 | pastebinit
http://paste.ubuntu.com/p/Bn2YBHP2HJ/

Revision history for this message
Felipe Reyes (freyes) wrote :

On Thu, 2025-08-04 at 15:28 +0000, Colin Watson wrote:
> Does your libvirt version have
> http://gitlab.com/libvirt/libvirt/-/commit/fd70335876?in it, i.e.
> 9.1.0-rc1 or better?
>

I made it work making Nova to *not* set the <cpu></cpu> node in the generated XML, this made libvirt
happy. This is what Nova does for MIPSEL which suffers from the same limitation on the libvirt side.

Revision history for this message
Felipe Reyes (freyes) wrote :

Here it's the console log for an instance that booted successfully. The missing part of the puzzle was to define a kernel image, specifically the image that comes with the u-boot-qemu package.

$ openstack image create qemu-riscv64-uboot --public --disk-format aki --container-format aki --file /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf
$ openstack image set --property kernel_id=$(openstack image show -c id -f value qemu-riscv64-uboot) riscv64-test
$ openstack server create ...
[...]
$ openstack console log show my-riscv64-test | grep cloud-init
[ 266.351641] cloud-init[533]: Cloud-init v. 22.1-14-g2e17a0d6-0ubuntu1~22.04.5 running 'init' at Thu, 20 Jul 2023 20:11:05 +0000. Up 261.24 seconds.
[ 268.797660] cloud-init[533]: ci-info: +++++++++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++++++++
[ 268.828670] cloud-init[533]: ci-info: +--------+------+----------------------------------------+-----------------+--------+-------------------+
[ 268.845621] cloud-init[533]: ci-info: | Device | Up | Address | Mask | Scope | Hw-Address |
[ 268.862611] cloud-init[533]: ci-info: +--------+------+----------------------------------------+-----------------+--------+-------------------+
[ 268.879394] cloud-init[533]: ci-info: | enp1s0 | True | 10.0.0.15 | 255.255.255.192 | global | fa:16:3e:bb:91:35 |
[ 268.909649] cloud-init[533]: ci-info: | enp1s0 | True | fd60:1406:b51:0:f816:3eff:febb:9135/64 | . | global | fa:16:3e:bb:91:35 |
[ 268.926517] cloud-init[533]: ci-info: | enp1s0 | True | fe80::f816:3eff:febb:9135/64 | . | link | fa:16:3e:bb:91:35 |
[ 268.944076] cloud-init[533]: ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . |
[ 268.973753] cloud-init[533]: ci-info: | lo | True | ::1/128 | . | host | . |
[ 268.979713] cloud-init[533]: ci-info: +--------+------+----------------------------------------+-----------------+--------+-------------------+

Felipe Reyes (freyes)
description: updated
Changed in charm-nova-compute:
status: Triaged → Invalid
Changed in nova:
assignee: nobody → Felipe Reyes (freyes)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nova (Ubuntu):
status: New → Confirmed
Changed in nova:
status: New → In Progress
Revision history for this message
Junien F (axino) wrote :

Update : we installed a patched version of nova packages provided by @freyes (via a PPA) on PS6, and we're able to successfully create RISC-V instances after some image manipulation.

Revision history for this message
Ken VanDine (ken-vandine) wrote :

What's the next step to be able to take advantage of this for risc-v builds? This is currently blocking getting the gnome snaps built for risc-v.

Revision history for this message
Heinrich Schuchardt (xypron) wrote :

http://launchpadlibrarian.net/738964327/buildlog_snap_ubuntu_jammy_riscv64_gnome-42-2204-sdk_BUILDING.txt.gz
shows an error
websocket: close 1006 (abnormal closure): unexpected EOF

This occurred in the build phase while building gtk4.

We know that the network proxy invalidates the access token after a few hours. Does gtk4 building require internet, e.g. for downloading according to subproject/*.wrap?

Revision history for this message
sean mooney (sean-k-mooney) wrote :

From a nova process point of view, this is a minor feature, not a bug. so we need to track this as a specless blueprint.
in general I'm supportive of the enhancement but we need to track this properly upstream.

Changed in nova:
status: In Progress → Invalid
Changed in nova:
status: Invalid → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.

办暂住证需要什么 吃什么蔬菜可以降血脂 血糖高吃什么中药好 阴虚是什么意思 阴虚火旺吃什么水果
左侧淋巴结肿大是什么原因 质数是什么 女人梦见自己掉牙齿是什么征兆 折什么时候读she 胃泌素17是什么检查
cns医学上是什么意思 ar技术是什么意思 人体七大营养素是什么 斑鸠吃什么 例假少是什么原因
下肢静脉曲张挂什么科 长目飞耳是什么动物 前白蛋白低是什么原因 血脂和血糖有什么区别 黄芪配升麻有什么作用
连号的钱为什么不能花hcv8jop0ns9r.cn 兵痞是什么意思hcv9jop2ns7r.cn 一九七八年属什么生肖yanzhenzixun.com 谷氨酰基转移酶高是什么原因hcv9jop1ns2r.cn 结膜炎用什么眼药水效果好mmeoe.com
婴儿吃手是什么原因hcv9jop1ns5r.cn 为什么狱警离婚率高hcv9jop6ns2r.cn 自得其乐是什么意思hcv7jop4ns7r.cn pp材质是什么意思hcv9jop1ns5r.cn 慢性咽炎用什么药hcv8jop0ns2r.cn
宫颈糜烂用什么药比较好mmeoe.com 补血吃什么hcv9jop1ns8r.cn 斗是什么意思hcv9jop3ns6r.cn 女人喜欢什么类型男人hcv8jop4ns5r.cn 牛肉和什么包饺子好吃hcv8jop1ns6r.cn
泡打粉是什么hcv8jop7ns3r.cn 什么能美白皮肤而且效果快hcv7jop9ns4r.cn 男性检查男科都查什么wuhaiwuya.com 干燥综合征挂什么科tiangongnft.com 处女座属于什么星象hcv9jop2ns7r.cn
百度