Unable to depoly a vm with the default centos template on xenserver 8.4
- Langage dominant
- Java
- Étoiles
- 3.1k
- Forks
- 1.4k
- Merge moyen
- 6 j 19 h
- PR mergées (30 j)
- 32
Description
### 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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par CitrixResourceBase.java:1300 et le chemin d’avertissement de Xenserver84Resource, puis suivez le déploiement à partir de CitrixStartCommandWrapper.java. Reproduisez le déploiement du modèle CentOS par défaut sur XenServer 8.4 et examinez comment le système d’exploitation invité et le modèle sont sélectionnés. La tâche est terminée lorsque le modèle CentOS pris en charge est déployé avec succès sans l’erreur "Cannot find Template CentOS 7".
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- cloud, infrastructure
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 48/100