Failed to Move VM to Another Account
- 主要語言
- Java
- 星號
- 3.1k
- 分支
- 1.4k
- 平均合併
- 7 天 14 小時
- 30 天內合併 PR
- 31
描述
### problem
Up on stopping an Instance and trying to move it to another account...
...it does not make clear what caused the failure.
Even as a Root Admin, there is no explanation of what prevented the move from happening.
By looking at the logs, the message is clear but it is followed by an unhandled exception.
Sanitized fragments of the logs:
```
2026-06-11 20:07:53,953 ERROR [o.a.c.a.c.a.v.AssignVMCmd] (qtp1404565079-58786:[ctx-e08ee8a2, ctx-7b35ebda]) (logid:46523a5c) Failed to move VM [4944]. com.cloud.exception.InvalidParameterValueException: Snapshots exist for volume [ROOT-4944]. Detach volume or remove snapshots for the volume before assigning VM to another user.
at com.cloud.vm.UserVmManagerImpl.validateIfVolumesHaveNoSnapshots(UserVmManagerImpl.java:7961)
at com.cloud.vm.UserVmManagerImpl.moveVmToUser(UserVmManagerImpl.java:7871)
```
```
2026-06-11 19:58:58,841 ERROR [o.a.c.a.c.a.v.AssignVMCmd] (qtp1404565079-58786:[ctx-b7b9a764, ctx-86b9f79a]) (logid:1096b7f6) Failed to move VM [4944]. com.cloud.exception.InvalidParameterValueException: Remove any Port Forwarding rules for VM [VM instance {"id":4944,"instanceName":"i-73-4944-VM","state":"Stopped","type":"User","uuid":"*"}] before assigning it to another user.
at com.cloud.vm.UserVmManagerImpl.validateIfVmHasNoRules(UserVmManagerImpl.java:7934)
at com.cloud.vm.UserVmManagerImpl.moveVmToUser(UserVmManagerImpl.java:7868)
```
### versions
ACS 4.22.0.1
### The steps to reproduce the bug
1.
2.
3.
...
### What to do about it?
_No response_
貢獻指南
研究方向
從 AssignVMCmd 和 UserVmManagerImpl 開始,特別檢視 validateIfVolumesHaveNoSnapshots、validateIfVmHasNoRules 和 moveVmToUser;然後審查關聯的 pull request #13675。完成標準應包括:對於移動失敗,提供清楚的面向使用者說明,而不是拋出未處理的例外。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- java
- 領域
- backend, cloud
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100