Hi, I've had something similar earlier. When you create your OVA template your VMs must not have ISO images attached. Otherwise the OVA template will refer to it and when CS wants to deploy will not find the file referenced!! I've spent two days on it :)
So, make sure when you create the template (regardless windows or not) make sure the CD-rom drive is set to Client-Device. Regards Tamas Monos DDI +44(0)2034687012 Chief Technical Office +44(0)2034687000 Veber: The Hosting Specialists Fax +44(0)871 522 7057 http://www.veber.co.uk Follow us on Twitter: www.twitter.com/veberhost Follow us on Facebook: www.facebook.com/veberhost -----Original Message----- From: Mice Xia [mailto:mice_...@tcloudcomputing.com] Sent: 07 December 2012 02:48 To: cloudstack-users@incubator.apache.org Subject: RE: Unable to load Windows 2008 OVA Template on Cloudstack/VMWare (PrimaryStorageException and vim.fault.InvalidDeviceSpec errors) This is strange. Are you sure the VM format version of local VMware workstation is compatible with your ESXi supported version? And instead of building template from VMWare workstation, have you tried building it from ESXi and importing it to CS? OVA is a zipped file which contains a bunch of VMDK and an OVF file, You can compare the OVF content of your template created successfully from ISO, with the template which failed to import, and check if there are some differences. Regards Mice -----Original Message----- From: Jim Leary [mailto:jle...@pobox.com] Sent: Friday, December 07, 2012 5:45 AM To: cloudstack-users@incubator.apache.org Subject: Unable to load Windows 2008 OVA Template on Cloudstack/VMWare (PrimaryStorageException and vim.fault.InvalidDeviceSpec errors) Hi, I created a very basic Windows 2008 R2 x64 server instance on VMWare Workstation in Workstation 8 format, created an OVA from it and uploaded it to Cloudstack successfully. When I try to create an instance with this template, I receive a "PrimaryStorageException" error on Cloudstack (V3.0.2, host is VCenter 5.0). I have configured the template using IDE drivers (originally I was using SCSI and thought that was the problem). Still, no luck. If I take this OVA and import it directly into the host (the same host being managed by Cloudstack), it instantiates without problems. What is it about Cloudstack that this template cannot be instantiated? Another test: I uploaded a Windows 2008 R2 x64 ISO into Cloudstack, created a VM with it, then created a template from that VM from which I can instantiate new VM's without a problem. It seems there is something about the OVA I have created on my local VMWare Workstation that is causing the problem with Cloudstack - and only Cloudstack. Another point: this problem only manifests itself with Windows OVA's. Linux (Ubuntu) OVA's created via VMWare Workstation and uploaded to Cloudstack do not experience this problem. I am at a loss as to what I should try next. If anyone has any ideas about what I could/should do next, I would appreciate it. I included the Cloudstack and SSVM logs below. Regards, --Jim L. Cloudstack Management Server Log: 2012-12-06 15:59:28,361 DEBUG [cloud.template.TemplateManagerImpl] (Job-Executor-13:job-162) Template 213 download to pool 200 failed due to Unable to execute PrimaryStorageDownloadCommand due to exception 2012-12-06 15:59:28,361 WARN [cloud.vm.VirtualMachineManagerImpl] (AgentManager-Handler-6:null) Cleanup failed due to Unable to execute PrimaryStorageDownloadCommand due to exception 2012-12-06 15:59:28,362 DEBUG [agent.manager.AgentAttache] (AgentManager-Handler-6:null) Seq 5-1818886254: No more commands found 2012-12-06 15:59:28,362 DEBUG [cloud.template.TemplateManagerImpl] (Job-Executor-13:job-162) Downloading 213 via 1 2012-12-06 15:59:28,377 DEBUG [agent.transport.Request] (Job-Executor-13:job-162) Seq 5-1818886255: Sending { Cmd , MgmtId: 345051131092, via: 5, Ver: v1, Flags: 100111, [{"storage.PrimaryStorageDownloadCommand":{"localPath":"/mnt/6ca370f8-ea32-35b0-9848-9074f6a0be3c","poolUuid":"6ca370f8-ea32-35b0-9848-9074f6a0be3c","poolId":200,"secondaryStorageUrl":"nfs:// 10.40.10.10/export/secondary","primaryStorageUrl":"nfs:// 10.40.10.10/export/primary","url":"nfs:// 10.40.10.10/export/secondary/template/tmpl//2/213//45e99f6c-3648-32a4-9de8-2201bb138f99.ova","format":"OVA","accountId":2,"name":"213-2-33a2e383-7848-3fae-97de-85aa1f074cea","wait":10800}}] } 2012-12-06 15:59:38,307 DEBUG [agent.transport.Request] (AgentManager-Handler-7:null) Seq 5-1818886255: Processing: { Ans: , MgmtId: 345051131092, via: 5, Ver: v1, Flags: 110, [{"storage.PrimaryStorageDownloadAnswer":{"templateSize":0,"result":false,"details":"Unable to execute PrimaryStorageDownloadCommand due to exception","wait":0}}] } 2012-12-06 15:59:38,308 DEBUG [agent.transport.Request] (Job-Executor-13:job-162) Seq 5-1818886255: Received: { Ans: , MgmtId: 345051131092, via: 5, Ver: v1, Flags: 110, { PrimaryStorageDownloadAnswer } } 2012-12-06 15:59:38,311 WARN [cloud.vm.VirtualMachineManagerImpl] (Job-Executor-13:job-162) Cleanup failed due to Unable to execute PrimaryStorageDownloadCommand due to exception 2012-12-06 15:59:38,311 DEBUG [agent.manager.AgentManagerImpl] (Job-Executor-13:job-162) Details from executing class com.cloud.agent.api.storage.PrimaryStorageDownloadCommand: Unable to execute PrimaryStorageDownloadCommand due to exception 2012-12-06 15:59:38,311 DEBUG [cloud.template.TemplateManagerImpl] (Job-Executor-13:job-162) Template 213 download to pool 200 failed due to Unable to execute PrimaryStorageDownloadCommand due to exception 2012-12-06 15:59:38,311 WARN [cloud.vm.VirtualMachineManagerImpl] (AgentManager-Handler-7:null) Cleanup failed due to Unable to execute PrimaryStorageDownloadCommand due to exception 2012-12-06 15:59:38,311 DEBUG [agent.manager.AgentAttache] (AgentManager-Handler-7:null) Seq 5-1818886255: No more commands found 2012-12-06 15:59:38,312 DEBUG [cloud.template.TemplateManagerImpl] (Job-Executor-13:job-162) Template 213 is not found on and can not be downloaded to pool 200 2012-12-06 15:59:38,312 DEBUG [cloud.storage.StorageManagerImpl] (Job-Executor-13:job-162) Cannot use this pool Pool[200|NetworkFilesystem] because we can't propagate template Tmpl[213-OVA-213-2-33a2e383-7848-3fae-97de-85aa1f074cea 2012-12-06 15:59:38,315 INFO [cloud.vm.VirtualMachineManagerImpl] (Job-Executor-13:job-162) Unable to contact resource. com.cloud.exception.StorageUnavailableException: Resource [StoragePool:200] is unreachable: Unable to create Vol[56|vm=55|ROOT] at com.cloud.storage.StorageManagerImpl.prepare(StorageManagerImpl.java:2990) at com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:743) at com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:461) at com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:2580) at com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:2517) at com.cloud.event.ActionEventCallback.intercept(ActionEventCallback.java:32) at com.cloud.api.commands.DeployVMCmd.execute(DeployVMCmd.java:317) at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:132) at com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:427) 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.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SSVM: cloud.out log: Started 20:57:57,632 ERROR VmwareStorageManagerImpl:147 - Unable to execute PrimaryStorageDownloadCommand due to exception AxisFault faultCode: ServerFaultCode faultSubcode: faultString: vim.fault.InvalidDeviceSpec faultActor: faultNode: faultDetail: {urn:vim25}InvalidDeviceSpecFault:<reason>Invalid fault</reason> vim.fault.InvalidDeviceSpec at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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.java:104) at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90) at com.vmware.vim25.SystemError.getDeserializer(SystemError.java:123) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84) at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464) at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547) at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.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(MustUnderstandChecker.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.httpNfcLeaseComplete(VimBindingStub.java:44482) at com.cloud.hypervisor.vmware.mo.HttpNfcLeaseMO.completeLease(HttpNfcLeaseMO.java:66) at com.cloud.hypervisor.vmware.mo.HypervisorHostHelper.importVmFromOVF(HypervisorHostHelper.java:468) at com.cloud.hypervisor.vmware.mo.HostMO.importVmFromOVF(HostMO.java:671) at com.cloud.hypervisor.vmware.manager.VmwareStorageManagerImpl.copyTemplateFromSecondaryToPrimary(VmwareStorageManagerImpl.java:455) at com.cloud.hypervisor.vmware.manager.VmwareStorageManagerImpl.execute(VmwareStorageManagerImpl.java:133) at com.cloud.storage.resource.VmwareSecondaryStorageResourceHandler.execute(VmwareSecondaryStorageResourceHandler.java:101) at com.cloud.storage.resource.VmwareSecondaryStorageResourceHandler.executeRequest(VmwareSecondaryStorageResourceHandler.java:65) at com.cloud.storage.resource.PremiumSecondaryStorageResource.executeRequest(PremiumSecondaryStorageResource.java:50) at com.cloud.agent.Agent.processRequest(Agent.java:517) at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:827) at com.cloud.utils.nio.Task.run(Task.java:79) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)