Unable to depoly a vm with the default centos template on xenserver 8.4
- 主要言語
- Java
- スター
- 3.1k
- フォーク
- 1.4k
- 平均マージ
- 6日 19時間
- マージ済み PR(30日)
- 32
説明
### problem
The long description of your problem
### versions
ACS 4.22
Xenserver 8.4
### The steps to reproduce the bug
1. Have a cloudstack environment with xenserver 8.4 hypervisor
2. Deploy a vm with default centos template
CentOS 5.6(64-bit) no GUI (XenServer)
http://download.cloudstack.org/templates/builtin/centos56-x86_64.vhd.bz2
3. Deployment fails with the following exception
Logs
```
2026-08-05 07:28:21,240 DEBUG [c.c.h.x.r.w.x.CitrixStartCommandWrapper] (DirectAgent-71:[ctx-79a585c0]) (logid:5a107745) 1. The VM i-2-63-VM is in Starting state.
2026-08-05 07:28:21,242 WARN [c.c.h.x.r.w.x.CitrixStartCommandWrapper] (DirectAgent-71:[ctx-79a585c0]) (logid:5a107745) Catch Exception: class com.cloud.utils.exception.CloudRuntimeException due to com.cloud.utils.exception.CloudRuntimeException: Cannot find Template CentOS 7 on XenServer host com.cloud.utils.exception.CloudRuntimeException: Cannot find Template CentOS 7 on XenServer host
at com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.createVmFromTemplate(CitrixResourceBase.java:1300)
at com.cloud.hypervisor.xenserver.resource.wrapper.xenbase.CitrixStartCommandWrapper.execute(CitrixStartCommandWrapper.java:93)
at com.cloud.hypervisor.xenserver.resource.wrapper.xenbase.CitrixStartCommandWrapper.execute(CitrixStartCommandWrapper.java:57)
at com.cloud.hypervisor.xenserver.resource.wrapper.xenbase.CitrixRequestWrapper.execute(CitrixRequestWrapper.java:122)
at com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.executeRequest(CitrixResourceBase.java:1780)
at com.cloud.agent.manager.DirectAgentAttache$Task.runInContext(DirectAgentAttache.java:306)
at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
2026-08-05 07:28:21,242 WARN [c.c.h.x.r.Xenserver84Resource] (DirectAgent-71:[ctx-79a585c0]) (logid:5a107745) Unable to start i-2-63-VM due to com.cloud.utils.exception.CloudRuntimeException: Cannot find Template CentOS 7 on XenServer host
at com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.createVmFromTemplate(CitrixResourceBase.java:1300)
at com.cloud.hypervisor.xenserver.resource.wrapper.xenbase.CitrixStartCommandWrapper.execute(CitrixStartCommandWrapper.java:93)
at com.cloud.hypervisor.xenserver.resource.wrapper.xenbase.CitrixStartCommandWrapper.execute(CitrixStartCommandWrapper.java:57)
at com.cloud.hypervisor.xenserver.resource.wrapper.xenbase.CitrixRequestWrapper.execute(CitrixRequestWrapper.java:122)
at com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.executeRequest(CitrixResourceBase.java:1780)
at com.cloud.agent.manager.DirectAgentAttache$Task.runInContext(DirectAgentAttache.java:306)
at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
```
4. Xenceter 8.4 says Centos 7 is deprecated
### What to do about it?
Cloudstack should map the correct guest os in case the host is xenserver 8.4
or go about replacing the templated with a newer version
https://github.com/apache/cloudstack/discussions/13797
コントリビューションガイド
調査の方向性
CitrixResourceBase.java:1300 と Xenserver84Resource の警告パスから開始し、その後 CitrixStartCommandWrapper.java からデプロイメントを追跡してください。XenServer 8.4 でデフォルトの CentOS テンプレートのデプロイメントを再現し、ゲスト OS とテンプレートがどのように選択されるかを調査してください。サポート対象の CentOS テンプレートが "Cannot find Template CentOS 7" エラーなしで正常にデプロイされれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- cloud, infrastructure
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100