环境
openstack 版本: Y版25.2.1
操作系统:ubuntu22.04
问题
创建16 vcpu的虚拟机,报错:
Failed to build and run instance: libvirt.libvirtError: error from service: GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: Value specified in CPUWeight is out of range。
原因
ubuntu22.04使用的是cgroup v2 cgroup v2 要求 cpu_share <= 10000。
在虚拟机规格较高时,openstack Y版25.2.1 计算出来的share值,超过了10000,如下:
<cputune>
<shares>16384</shares>
</cputune>
解决方案
1.可以把 ubuntu22.04 cgroup v2改成v1。
2.openstack版本升级,
3.ubuntu版本降级