Live scaling fails with “unhandled exception” when cpu.corespersocket is set (need support for consistent CPU sockets)
- 主要语言
- Java
- 星标
- 3.1k
- 派生
- 1.4k
- 平均合并
- 6 天 19 小时
- 30 天内合并 PR
- 32
描述
### problem
I’m trying to enforce a consistent CPU socket configuration across VMs by using the global setting cpu.corespersocket.
However, when this setting is enabled, live CPU scaling fails with the message:
`unhandled exception`
If I remove the setting cpu.corespersocket, the same VM live-scales successfully, so the issue is directly related to that parameter.
For some environments (especially those with CPU-based licensing tied to sockets), it is important to make sure that the socket count is always fixed (e.g., always 2 sockets regardless of the number of cores assigned).
At the moment, CloudStack does not seem to reliably honor or handle this setting during live scaling operations.
### versions
Apache CloudStack: 4.22.0
Hypervisor: VMware vCenter + ESXi
Infrastructure: Standard VMware cluster, shared storage
VM type: User instance with dynamic scaling enabled
### The steps to reproduce the bug
1. Set the setting on any VM/instance:
> `cpu.corespersocket = 2`
2. Turn on the VM/instance
3. Scale VM/instance
4. `Unhandled exception` error pops up
### What to do about it?
- Please confirm whether the cpu.corespersocket setting is fully supported for VMware live scaling.
- If this is a bug, kindly update VM reconfigure logic to correctly compute:
`cores = total_vcpu / cpu.corespersocket`
`sockets = cpu.corespersocket`
- If this is a limitation, please advise if CloudStack can support a feature to force a fixed socket count (e.g., always 2 sockets) regardless of vCPU changes.
- This is important for environments that rely on socket-based licensing.
贡献指南
调研方向
未指定源文件或测试。首先使用 cpu.corespersocket=2 在 VMware 上复现 CPU 热扩容,然后跟踪 VMware 热扩容的入口点及其对 VM 重新配置的处理。完成的标准是扩容不再引发未处理的异常,并且 socket/core 配置要么得到保留,要么明确记录其限制。
由索引模型根据 Issue 内容生成。
评估
- 领域
- cloud, infrastructure
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100