I've setup ACS 4.15 and created the first zone on it using the wizard through 
primate. The zone is enabled and isn't showing any issues in the UI. I can see 
two system vm's running (secondarystoragevm and consoleproxy) and can SSH into 
the VM's from the compute node. However when I try to add a template through 
the UI I get the following error:

There is no secondary storage VM for downloading template to image store 
LXC_SEC_STOR1

And on the controller I can see the corresponding log entries when I try to 
submit the new template:

2021-06-15 22:13:35,884 DEBUG [c.c.a.ApiServlet] 
(qtp1644231115-348:ctx-aab81632) (logid:ac328268) ===START===  172.16.44.18 -- 
GET  
name=Ubuntu+20.04&displaytext=Ubuntu+20.04+(Focal)+64-bit&zoneid=9f6f5b49-0e12-4af4-a13b-2ace6c47de43&hypervisor=LXC&format=TAR&ostypeid=aa18f3ad-cd73-11eb-b1da-5254008f72d5&requireshvm=true&command=getUploadParamsForTemplate&response=json
2021-06-15 22:13:35,924 DEBUG [c.c.a.ApiServer] (qtp1644231115-348:ctx-aab81632 
ctx-da7281d3) (logid:ac328268) CIDRs from which account 
'Acct[f8d6949d-cd74-11eb-b1da-5254008f72d5-admin]' is allowed to perform API 
calls: 0.0.0.0/0,::/0
2021-06-15 22:13:36,093 DEBUG [o.a.c.s.i.TemplateDataFactoryImpl] 
(qtp1644231115-348:ctx-aab81632 ctx-da7281d3) (logid:ac328268) template 203 is 
not in store:1, type:Image
2021-06-15 22:13:36,138 DEBUG [o.a.c.s.i.TemplateDataFactoryImpl] 
(qtp1644231115-348:ctx-aab81632 ctx-da7281d3) (logid:ac328268) template 203 is 
already in store:1, type:Image
2021-06-15 22:13:36,142 WARN  [c.c.t.HypervisorTemplateAdapter] 
(qtp1644231115-348:ctx-aab81632 ctx-da7281d3) (logid:ac328268) There is no 
secondary storage VM for downloading template to image store LXC_SEC_STOR1
2021-06-15 22:13:36,146 DEBUG [c.c.u.d.T.Transaction] 
(qtp1644231115-348:ctx-aab81632 ctx-da7281d3) (logid:ac328268) Rolling back the 
transaction: Time = 98 Name =  qtp1644231115-348; called by 
-TransactionLegacy.rollback:888-TransactionLegacy.removeUpTo:831-TransactionLegacy.close:655-Transaction.execute:38-Transaction.execute:47-HypervisorTemplateAdapter.createTemplateForPostUpload:298-TemplateManagerImpl.registerPostUploadInternal:361-TemplateManagerImpl.registerTemplateForPostUpload:423-NativeMethodAccessorImpl.invoke0:-2-NativeMethodAccessorImpl.invoke:62-DelegatingMethodAccessorImpl.invoke:43-Method.invoke:566
2021-06-15 22:13:36,229 ERROR [c.c.a.ApiServer] (qtp1644231115-348:ctx-aab81632 
ctx-da7281d3) (logid:ac328268) unhandled exception executing api command: 
[Ljava.lang.String;@2ad13bf5
com.cloud.utils.exception.CloudRuntimeException: There is no secondary storage 
VM for downloading template to image store LXC_SEC_STOR1
    at 
com.cloud.template.HypervisorTemplateAdapter$1.doInTransaction(HypervisorTemplateAdapter.java:363)
    at 
com.cloud.template.HypervisorTemplateAdapter$1.doInTransaction(HypervisorTemplateAdapter.java:298)
    at com.cloud.utils.db.Transaction$2.doInTransaction(Transaction.java:50)
    at com.cloud.utils.db.Transaction.execute(Transaction.java:40)
    at com.cloud.utils.db.Transaction.execute(Transaction.java:47)
    at 
com.cloud.template.HypervisorTemplateAdapter.createTemplateForPostUpload(HypervisorTemplateAdapter.java:298)
    at 
com.cloud.template.TemplateManagerImpl.registerPostUploadInternal(TemplateManagerImpl.java:361)
    at 
com.cloud.template.TemplateManagerImpl.registerTemplateForPostUpload(TemplateManagerImpl.java:423)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
    at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at 
org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:107)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
    at 
com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:51)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
    at 
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
    at com.sun.proxy.$Proxy198.registerTemplateForPostUpload(Unknown Source)
    at 
org.apache.cloudstack.api.command.user.template.GetUploadParamsForTemplateCmd.execute(GetUploadParamsForTemplateCmd.java:160)
    at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:156)
    at com.cloud.api.ApiServer.queueCommand(ApiServer.java:764)
    at com.cloud.api.ApiServer.handleRequest(ApiServer.java:588)
    at com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:321)
    at com.cloud.api.ApiServlet$1.run(ApiServlet.java:134)
    at 
org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55)
    at 
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102)
    at 
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
    at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:131)
    at com.cloud.api.ApiServlet.doGet(ApiServlet.java:93)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
    at 
org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1386)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
    at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
    at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
    at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1300)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
    at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1215)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:767)
    at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
    at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at org.eclipse.jetty.server.Server.handle(Server.java:500)
    at 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
    at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
    at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
    at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
    at java.base/java.lang.Thread.run(Thread.java:829)
2021-06-15 22:13:36,242 DEBUG [c.c.a.ApiServlet] 
(qtp1644231115-348:ctx-aab81632 ctx-da7281d3) (logid:ac328268) ===END===  
172.16.44.18 -- GET  
name=Ubuntu+20.04&displaytext=Ubuntu+20.04+(Focal)+64-bit&zoneid=9f6f5b49-0e12-4af4-a13b-2ace6c47de43&hypervisor=LXC&format=TAR&ostypeid=aa18f3ad-cd73-11eb-b1da-5254008f72d5&requireshvm=true&command=getUploadParamsForTemplate&response=json

Am I missing something obvious? I did also see this on the controller. This 
message repeats exactly every 30 seconds:

2021-06-15 22:21:07,646 DEBUG [o.a.c.s.SecondaryStorageManagerImpl] 
(secstorage-1:ctx-d87a688f) (logid:ab3dd6e6) Zone 1 is ready to launch 
secondary storage VM
2021-06-15 22:21:08,000 DEBUG [c.c.c.ConsoleProxyManagerImpl] 
(consoleproxy-1:ctx-5617882e) (logid:fdcc51e9) Zone 1 is ready to launch 
console proxy

So the VM is started and I can SSH into this, but is the VM itself just not 
ready? How do you make it ready?

-- 
Thanks,
Joshua Schaeffer

Reply via email to