Sean - I can confirm from the code that what you have seen is a valid bug. But should be a problem only for templates occurring in multiple zones. Would you mind filing a bug for this please ?
Thanks, -Nitin On 04/12/13 1:44 PM, "Sean Hamilton" <s...@seanhamilton.co.uk> wrote: >We're seeing a bug where cloudstack tries to spool a template from any >secondary storage in any zone in a region to primary storage. > >DB selects show a rand() at the end, it took a few attempts to get the >template onto primary storage. > >Must be a bug. > >> On 4 Dec 2013, at 13:23, John Skinner <john.skin...@appcore.com> wrote: >> >> I did confirm that the template does exist in the directory. >>> On Dec 3, 2013, at 11:05 PM, Sanjeev Neelarapu >>><sanjeev.neelar...@citrix.com> wrote: >>> >>> Hi, >>> >>> Can you make sure that the template with which you are trying to >>>deploy a VM is present on the secondary Storage inside 244 directory? >>> >>> -Sanjeev >>> -----Original Message----- >>> From: John Skinner [mailto:john.skin...@appcore.com] >>> Sent: Wednesday, December 04, 2013 12:55 AM >>> To: users@cloudstack.apache.org >>> Subject: Unable to execute PrimaryStorageDownloadCommand >>> >>> Environment running CloudStack 4.1.1 with VMware vSphere 5.1 nodes and >>>NFS backed Primary Storage data stores. We are currently having issues >>>creating VMs from a template when we have to copy the template from >>>secondary storage. If the template already exists on primary storage >>>then the VM gets created just fine. I have already checked the mount >>>points and vCenter has read/write access to the NFS share for secondary >>>storage, and the secondary storage VM has the share mounted and can >>>read/write to it as well. >>> >>> This is the exception from the management server logs: >>> >>> 2013-12-03 09:13:10,468 DEBUG [agent.manager.AgentManagerImpl] >>>(Job-Executor-9:job-14655) Details from executing class >>>com.cloud.agent.api.storage.PrimaryStorageDownloadCommand: Unable to >>>execute PrimaryStorageDownloadCommand due to exception >>> 2013-12-03 09:13:10,468 DEBUG [cloud.template.TemplateManagerImpl] >>>(Job-Executor-9:job-14655) Template 244 download to pool 222 failed due >>>to Unable to execute PrimaryStorageDownloadCommand due to exception >>> 2013-12-03 09:13:10,469 DEBUG [cloud.template.TemplateManagerImpl] >>>(Job-Executor-9:job-14655) Template 244 is not found on and can not be >>>downloaded to pool 222 >>> 2013-12-03 09:13:10,469 DEBUG [cloud.storage.StorageManagerImpl] >>>(Job-Executor-9:job-14655) Cannot use this pool >>>Pool[222|NetworkFilesystem] because we can't propagate template >>>Tmpl[244-OVA-244-2-0e18671b-1f2a-3b10-8b1a-7608bda5695c >>> 2013-12-03 09:13:10,505 DEBUG [agent.manager.AgentAttache] >>>(AgentManager-Handler-15:null) Seq 59-806028519: No more commands found >>> 2013-12-03 09:13:10,580 INFO [cloud.vm.VirtualMachineManagerImpl] >>>(Job-Executor-9:job-14655) Unable to contact resource. >>> com.cloud.exception.StorageUnavailableException: Resource >>>[StoragePool:222] is unreachable: Unable to create >>>Vol[11319|vm=11283|ROOT] >>> at >>>com.cloud.storage.StorageManagerImpl.prepare(StorageManagerImpl.java:348 >>>8) >>> at >>>com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManage >>>rImpl.java:748) >>> at >>>com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.j >>>ava:471) >>> at >>>org.apache.cloudstack.engine.cloud.entity.api.VMEntityManagerImpl.deploy >>>VirtualMachine(VMEntityManagerImpl.java:212) >>> at >>>org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityImpl.d >>>eploy(VirtualMachineEntityImpl.java:209) >>> at >>>com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.jav >>>a:3871) >>> at >>>com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.jav >>>a:3464) >>> at >>>com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.jav >>>a:3450) >>> at >>>com.cloud.utils.component.ComponentInstantiationPostProcessor$Intercepto >>>rDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) >>> at >>>org.apache.cloudstack.api.command.user.vm.DeployVMCmd.execute(DeployVMCm >>>d.java:379) >>> at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:162) >>> at >>>com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:437) >>> at >>>java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >>> at >>>java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >>> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >>> at >>>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.jav >>>a:1146) >>> at >>>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja >>>va:615) >>> at java.lang.Thread.run(Thread.java:679) >>> 2013-12-03 09:13:10,660 DEBUG [cloud.vm.VirtualMachineManagerImpl] >>>(Job-Executor-9:job-14655) Cleaning up resources for the vm >>>VM[User|OrangeTest] in Starting state >>> >>> And this is the same error, however this is from the systemvm.log on >>>the Secondary Storage VM: >>> >>> 2013-12-03 15:26:43,125 DEBUG [cloud.agent.Agent] >>>(agentRequest-Handler-5:) Processing command: >>>com.cloud.agent.api.storage.PrimaryStorageDownloadCommand >>> 2013-12-03 15:26:43,126 DEBUG >>>[storage.resource.VmwareSecondaryStorageResourceHandler] >>>(agentRequest-Handler-5:) Executing resource >>>PrimaryStorageDownloadCommand: >>>{"localPath":"/mnt/e2955a69-77f1-3888-a810-d2d54bd6bb0f","poolUuid":"e29 >>>55a69-77f1-3888-a810-d2d54bd6bb0f","poolId":218,"primaryPool":{"id":218, >>>"uuid":"e2955a69-77f1-3888-a810-d2d54bd6bb0f","host":"10.1.100.19","path >>>":"/vol/vol_aCloud_1_01_7k","port":2049,"type":"NetworkFilesystem"},"sec >>>ondaryStorageUrl":"nfs://10.1.100.20/vol/vol_aCloud_2_01_15k","primarySt >>>orageUrl":"nfs://10.1.100.19/vol/vol_aCloud_1_01_7k","url":"nfs://10.1.1 >>>00.20/vol/vol_aCloud_2_01_15k/template/tmpl/2/244//b2504ba2-5b61-3cdb-88 >>>7e-f52eedf6d1bf.ova","format":"OVA","accountId":2,"name":"244-2-0e18671b >>>-1f2a-3b10-8b1a-7608bda5695c","wait":10800} >>> 2013-12-03 15:26:43,424 WARN >>>[storage.resource.VmwareSecondaryStorageResourceHandler] >>>(agentRequest-Handler-5:) Context validation failed due to Exception: >>>java.lang.NullPointerException >>> Message: null >>> >>> 2013-12-03 15:26:43,720 WARN [vmware.util.VmwareContext] >>>(agentRequest-Handler-5:) Unexpected exception: >>> com.vmware.apputils.ArgumentHandlingException: Exception running : >>>10.0.50.70-10395 >>> at >>>com.vmware.apputils.version.ExtendedAppUtil.disConnect(ExtendedAppUtil.j >>>ava:90) >>> at >>>com.cloud.hypervisor.vmware.util.VmwareContext.close(VmwareContext.java: >>>598) >>> at >>>com.cloud.storage.resource.VmwareSecondaryStorageContextFactory.invalida >>>te(VmwareSecondaryStorageContextFactory.java:72) >>> at >>>com.cloud.storage.resource.VmwareSecondaryStorageResourceHandler.invalid >>>ateServiceContext(VmwareSecondaryStorageResourceHandler.java:203) >>> at >>>com.cloud.storage.resource.VmwareSecondaryStorageResourceHandler.getServ >>>iceContext(VmwareSecondaryStorageResourceHandler.java:186) >>> at >>>com.cloud.hypervisor.vmware.manager.VmwareStorageManagerImpl.execute(Vmw >>>areStorageManagerImpl.java:120) >>> at >>>com.cloud.storage.resource.VmwareSecondaryStorageResourceHandler.execute >>>(VmwareSecondaryStorageResourceHandler.java:105) >>> at >>>com.cloud.storage.resource.VmwareSecondaryStorageResourceHandler.execute >>>Request(VmwareSecondaryStorageResourceHandler.java:69) >>> at >>>com.cloud.storage.resource.PremiumSecondaryStorageResource.executeReques >>>t(PremiumSecondaryStorageResource.java:54) >>> at com.cloud.agent.Agent.processRequest(Agent.java:525) >>> at >>>com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:852) >>> at com.cloud.utils.nio.Task.run(Task.java:83) >>> at >>>java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto >>>r.java:886) >>> at >>>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja >>>va:908) >>> at java.lang.Thread.run(Thread.java:662) >>> 2013-12-03 15:26:46,074 DEBUG >>>[storage.resource.VmwareSecondaryStorageResourceHandler] >>>(agentRequest-Handler-5:) Context validation succeeded. Validated via >>>host: 10.0.97.107, guid: HostSystem:host-3906@10.0.50.70 >>> 2013-12-03 15:26:47,514 INFO >>>[storage.resource.VmwareSecondaryStorageResourceHandler] >>>(agentRequest-Handler-5:) Setup firewall rule for host: 10.0.97.101 >>> 2013-12-03 15:26:48,408 INFO >>>[storage.resource.VmwareSecondaryStorageResourceHandler] >>>(agentRequest-Handler-5:) Setup firewall rule for host: 10.0.97.103 >>> 2013-12-03 15:26:49,265 INFO >>>[storage.resource.VmwareSecondaryStorageResourceHandler] >>>(agentRequest-Handler-5:) Setup firewall rule for host: 10.0.97.105 >>> 2013-12-03 15:26:50,138 INFO >>>[storage.resource.VmwareSecondaryStorageResourceHandler] >>>(agentRequest-Handler-5:) Setup firewall rule for host: 10.0.97.107 >>> 2013-12-03 15:26:50,900 INFO >>>[vmware.manager.VmwareStorageManagerImpl] (agentRequest-Handler-5:) >>>Template b2504ba2-5b61-3cdb-887e-f52eedf6d1bf is not setup yet, setup >>>template from secondary storage with uuid name: >>>776550120fa43526a7b35637812b5db6 >>> 2013-12-03 15:26:51,630 INFO >>>[vmware.manager.VmwareStorageManagerImpl] (agentRequest-Handler-5:) >>>Executing copyTemplateFromSecondaryToPrimary. secondaryStorage: >>>nfs://10.1.100.20/vol/vol_aCloud_2_01_15k, >>>templatePathAtSecondaryStorage: template/tmpl/2/244/, templateName: >>>b2504ba2-5b61-3cdb-887e-f52eedf6d1bf >>> 2013-12-03 15:26:51,631 DEBUG >>>[storage.resource.NfsSecondaryStorageResource] >>>(agentRequest-Handler-5:) Executing: mount >>> 2013-12-03 15:26:51,634 DEBUG >>>[storage.resource.NfsSecondaryStorageResource] >>>(agentRequest-Handler-5:) Execution is successful. >>> 2013-12-03 15:26:51,634 INFO >>>[vmware.manager.VmwareStorageManagerImpl] (agentRequest-Handler-5:) >>>Secondary storage mount point: >>>/mnt/SecStorage/9df8a8d2-23c2-38d2-b0c1-eeca6a95ac96 >>> 2013-12-03 15:26:53,447 ERROR >>>[vmware.manager.VmwareStorageManagerImpl] (agentRequest-Handler-5:) >>>Unable to execute PrimaryStorageDownloadCommand due to exception >>>AxisFault >>> faultCode: ServerFaultCode >>> faultSubcode: >>> faultString: >>> Attribute xsi:nil not allowed on element spec, which is not nillable. >>> >>> while parsing call information for method ImportVApp at line 1, column >>>227 >>> >>> while parsing SOAP body >>> at line 1, column 213 >>> >>> while parsing SOAP envelope >>> at line 1, column 38 >>> >>> while parsing HTTP request for method importVApp on object of type >>>vim.ResourcePool at line 1, column 0 >>> faultActor: >>> faultNode: >>> faultDetail: >>> {urn:vim25}InvalidRequestFault:null >>> >>> >>> Attribute xsi:nil not allowed on element spec, which is not nillable. >>> >>> while parsing call information for method ImportVApp at line 1, column >>>227 >>> >>> while parsing SOAP body >>> at line 1, column 213 >>> >>> while parsing SOAP envelope >>> at line 1, column 38 >>> >>> while parsing HTTP request for method importVApp on object of type >>>vim.ResourcePool at line 1, column 0 >>> at >>>sun.reflect.GeneratedConstructorAccessor110.newInstance(Unknown Source) >>> at >>>sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons >>>tructorAccessorImpl.java:27) >>> at >>>java.lang.reflect.Constructor.newInstance(Constructor.java:513) >>> at java.lang.Class.newInstance0(Class.java:355) >>> at java.lang.Class.newInstance(Class.java:308) >>> at >>>org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.ja >>>va:104) >>> at >>>org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.ja >>>va:90) >>> at >>>com.vmware.vim25.InvalidRequest.getDeserializer(InvalidRequest.java:87) >>> at sun.reflect.GeneratedMethodAccessor1150.invoke(Unknown Source) >>> at >>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor >>>Impl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at >>>org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(Base >>>DeserializerFactory.java:154) >>> at >>>org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(B >>>aseDeserializerFactory.java:84) >>> at >>>org.apache.axis.encoding.DeserializationContext.getDeserializer(Deserial >>>izationContext.java:464) >>> at >>>org.apache.axis.encoding.DeserializationContext.getDeserializerForType(D >>>eserializationContext.java:547) >>> at >>>org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDe >>>tailsBuilder.java:157) >>> at >>>org.apache.axis.encoding.DeserializationContext.startElement(Deserializa >>>tionContext.java:1035) >>> at >>>org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) >>> at >>>org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown >>> Source) >>> at >>>org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDis >>>patcher.dispatch(Unknown Source) >>> at >>>org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unkno >>>wn Source) >>> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown >>>Source) >>> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown >>>Source) >>> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) >>> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown >>>Source) >>> at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) >>> at >>>org.apache.axis.encoding.DeserializationContext.parse(DeserializationCon >>>text.java:227) >>> at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) >>> at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) >>> at >>>org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstan >>>dChecker.java:62) >>> at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) >>> at org.apache.axis.client.Call.invokeEngine(Call.java:2784) >>> at org.apache.axis.client.Call.invoke(Call.java:2767) >>> at org.apache.axis.client.Call.invoke(Call.java:2443) >>> at org.apache.axis.client.Call.invoke(Call.java:2366) >>> at org.apache.axis.client.Call.invoke(Call.java:1812) >>> at >>>com.vmware.vim25.VimBindingStub.importVApp(VimBindingStub.java:46658) >>> at >>>com.cloud.hypervisor.vmware.mo.HypervisorHostHelper.importVmFromOVF(Hype >>>rvisorHostHelper.java:863) >>> at >>>com.cloud.hypervisor.vmware.mo.HostMO.importVmFromOVF(HostMO.java:681) >>> at >>>com.cloud.hypervisor.vmware.manager.VmwareStorageManagerImpl.copyTemplat >>>eFromSecondaryToPrimary(VmwareStorageManagerImpl.java:459) >>> at >>>com.cloud.hypervisor.vmware.manager.VmwareStorageManagerImpl.execute(Vmw >>>areStorageManagerImpl.java:138) >>> at >>>com.cloud.storage.resource.VmwareSecondaryStorageResourceHandler.execute >>>(VmwareSecondaryStorageResourceHandler.java:105) >>> at >>>com.cloud.storage.resource.VmwareSecondaryStorageResourceHandler.execute >>>Request(VmwareSecondaryStorageResourceHandler.java:69) >>> at >>>com.cloud.storage.resource.PremiumSecondaryStorageResource.executeReques >>>t(PremiumSecondaryStorageResource.java:54) >>> at com.cloud.agent.Agent.processRequest(Agent.java:525) >>> at >>>com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:852) >>> at com.cloud.utils.nio.Task.run(Task.java:83) >>> at >>>java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto >>>r.java:886) >>> at >>>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja >>>va:908) >>> at java.lang.Thread.run(Thread.java:662) >>> 2013-12-03 15:26:53,448 DEBUG [cloud.agent.Agent] >>>(agentRequest-Handler-5:) Seq 30-428286227: { Ans: , MgmtId: >>>90520730734904, via: 30, Ver: v1, Flags: 110, >>>[{"storage.PrimaryStorageDownloadAnswer":{"templateSize":0,"result":fals >>>e,"details":"Unable to execute PrimaryStorageDownloadCommand due to >>>exception","wait":0}}] } >>