VM deployment randomly fails on XCP-ng 8.3 due to stale template_spool_ref
- 主要語言
- Java
- 星號
- 3.1k
- 分支
- 1.4k
- 平均合併
- 7 天 14 小時
- 30 天內合併 PR
- 31
描述
### problem
We are experiencing intermittent/random VM deployment failures in CloudStack 4.22.1 with XCP-ng 8.3.
During the investigation, we observed that the template copy/base volume associated with the deployment is no longer present in the primary storage. However, the corresponding database entry still exists in the template_spool_ref table.
When CloudStack subsequently attempts to deploy a VM from the affected template, it appears to retrieve the stale storage reference from the database and attempts to access a VDI that no longer exists.
The deployment then fails with an XCP-ng API error indicating that the VDI UUID is invalid.
### versions
Apache CloudStack: 4.22.1
Hypervisor: XCP-ng 8.3
Storage: Presetup [iSCSI]
### The steps to reproduce the bug
VM Launch is failing below is observed in logs:
```
2026-09-08 15:02:51,295 ERROR [o.a.c.e.o.VolumeOrchestrator] (Work-Job-Executor-51:[ctx-21e4a1d0, job-5595/job-5596, ctx-af6a6525]) (logid:0b1aca2f) Unable to create volume [{"name":"ROOT-449","uuid":"6871902e-df60-4d42-9b9a-7dd2851e0c1b"}] due to [com.cloud.utils.exception.CloudRuntimeException: Catch Exception com.xensource.xenapi.Types$UuidInvalid :VDI getByUuid for uuid: 85032e3f-3d1a-4336-af29-4b7039fc71a0 failed due to The uuid you supplied was invalid.].
2026-09-08 15:02:51,295 WARN [c.c.v.ClusteredVirtualMachineManagerImpl] (Work-Job-Executor-51:[ctx-21e4a1d0, job-5595/job-5596, ctx-af6a6525]) (logid:0b1aca2f) Unable to contact resource. com.cloud.exception.StorageUnavailableException: Resource [StoragePool:1] is unreachable: Unable to create volume [{"name":"ROOT-449","uuid":"6871902e-df60-4d42-9b9a-7dd2851e0c1b"}] due to [com.cloud.utils.exception.CloudRuntimeException: Catch Exception com.xensource.xenapi.Types$UuidInvalid :VDI getByUuid for uuid: 85032e3f-3d1a-4336-af29-4b7039fc71a0 failed due to The uuid you supplied was invalid.].
```
### What to do about it?
Should the corresponding template_spool_ref entry be removed or marked appropriately when the template copy is deleted?
貢獻指南
研究方向
首先追蹤刪除範本副本或基礎磁碟區時如何建立和處理 template_spool_ref 項目,並使用回報的 XCP-ng 部署失敗作為重現訊號。確定適當的清理行為,並驗證從受影響的範本進行部署時不再嘗試存取遺失的 VDI。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- java
- 領域
- database, infrastructure
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 活躍
- 描述清晰度
- 需要釐清
- 新手友好度
- 45/100