apache / apache/cloudstack

Live scaling fails with “unhandled exception” when cpu.corespersocket is set (need support for consistent CPU sockets)

未关闭
#12,108 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
component:compute component:vmware Severity:Major type:bug
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。