The current implementation of simulator has its own limitation: the simulator 
itself is a separate hypervisor type, thus a lot of condition checks against 
hypervisor type in mgt server will fail if simulator is used.
For example, currently, the zone wide primary storage only works for vmware and 
kvm, so if you add a zone wide primary storage into a zone which only has 
simulator as hypervisor, then you can't use that zone wide primary storage at 
all.
The simulator should be able to simulate any other hypervisors, maybe fixed in 
4.3?

> -----Original Message-----
> From: David Grizzanti [mailto:[email protected]]
> Sent: Monday, September 09, 2013 12:04 PM
> To: [email protected]
> Subject: Question: Supported API calls in the Simulator
> 
> Hi All,
> 
> I was curious is there is a known set of API calls that will/should work when
> CloudStack is in simulator mode?
> 
> Some background.  I'm running CS 4.2 (commit
> 8d043c0e4d4c9ace8628f542eacf19e5339e28e8 to be specific), on rhel 6.3 64-
> bit, built from source following simulator instructions here:
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Marvin+-
> +Testing+with+Python#Marvin-TestingwithPython-Building
> 
> Simulator appears to work fine, however, I'm starting encounter API calls
> that fail.  Specifically attachVolume fails with a NullPointerException.
>  Is this a bug within the simulator or a known limitation?
> 
> Log statement for attachVolume:
> ERROR [cloud.async.AsyncJobManagerImpl] (Job-Executor-19:job-30 =
> [ fca87e69-c688-428c-82ca-4a44f5b169ff ]) Unexpected exception while
> executing
> org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd
> java.lang.NullPointerException
>         at
> com.cloud.hypervisor.dao.HypervisorCapabilitiesDaoImpl.getMaxDataVolum
> esLimit(HypervisorCapabilitiesDaoImpl.java:90)
>         at
> com.cloud.utils.component.ComponentInstantiationPostProcessor$Intercep
> torDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at
> com.cloud.storage.VolumeManagerImpl.getMaxDataVolumesSupported(Vol
> umeManagerImpl.java:1696)
>         at
> com.cloud.storage.VolumeManagerImpl.attachVolumeToVM(VolumeManag
> erImpl.java:1762)
>         at
> com.cloud.utils.component.ComponentInstantiationPostProcessor$Intercep
> torDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at
> org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd.execut
> e(AttachVolumeCmd.java:122)
>         at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
>         at
> com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:5
> 31)
>         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)
> 
> Thanks!
> 
> --
> David Grizzanti
> Software Engineer
> Sungard Availability Services
> 
> e: [email protected]
> w: 215.446.1431
> c: 570.575.0315

Reply via email to