I'm trying to create VMs using ISOs I've uploaded. The ISOs all say they are
ready to be used and they show up fine during instance creation. However, once
I create the instance, I get an error that says "Unable to create a deployment
for VM[User|<vm id>]". Looking through the logs, it seems like the way it's
determining resources is different for ISO based and Template based. I can
create a VM using the included CentOS 5.6 template with the exact same compute
offering. In the logs I get this when creating a VM from a template:
-------------
2012-07-11 03:08:36,893 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-1:job-51) DeploymentPlanner allocation algorithm: firstfit
2012-07-11 03:08:36,893 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-1:job-51) Trying to allocate a host and storage pools from dc:2,
pod:null,cluster:null, requested cpu: 500, requested ram: 536870912
2012-07-11 03:08:36,893 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-1:job-51) Is ROOT volume READY (pool already allocated)?: No
2012-07-11 03:08:36,893 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-1:job-51) Searching all possible resources under this Zone: 2
2012-07-11 03:08:36,898 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-1:job-51) Listing clusters in order of aggregate capacity, that
have (atleast one host with) enough CPU and RAM capacity under this Zone: 2
2012-07-11 03:08:36,900 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-1:job-51) CPUOverprovisioningFactor considered: 3.0
2012-07-11 03:08:36,921 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-1:job-51) Checking resources in Cluster: 3 under Pod: 2
2012-07-11 03:08:36,922 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-1:job-51) Calling HostAllocators to find suitable hosts
2012-07-11 03:08:36,922 DEBUG [allocator.impl.FirstFitAllocator]
(Job-Executor-1:job-51 FirstFitRoutingAllocator) Looking for hosts in dc: 2
pod:2 cluster:3
2012-07-11 03:08:36,928 DEBUG [allocator.impl.FirstFitAllocator]
(Job-Executor-1:job-51 FirstFitRoutingAllocator) FirstFitAllocator has 2 hosts
to check for allocation: [Host[-1-Routing], Host[-5-Routing]]
2012-07-11 03:08:36,949 DEBUG [allocator.impl.FirstFitAllocator]
(Job-Executor-1:job-51 FirstFitRoutingAllocator) Found 2 hosts for allocation
after prioritization: [Host[-5-Routing], Host[-1-Routing]]
2012-07-11 03:08:36,949 DEBUG [allocator.impl.FirstFitAllocator]
(Job-Executor-1:job-51 FirstFitRoutingAllocator) Looking for speed=500Mhz,
Ram=512
2012-07-11 03:08:36,972 DEBUG [cloud.capacity.CapacityManagerImpl]
(Job-Executor-1:job-51 FirstFitRoutingAllocator) Checking if host: 5 has enough
capacity for requested CPU: 500 and requested RAM: 536870912 ,
cpuOverprovisioningFactor
: 3.0
2012-07-11 03:08:36,986 DEBUG [cloud.capacity.CapacityManagerImpl]
(Job-Executor-1:job-51 FirstFitRoutingAllocator) Hosts's actual total CPU:
11172 and CPU after applying overprovisioning: 33516
2012-07-11 03:08:36,986 DEBUG [cloud.capacity.CapacityManagerImpl]
(Job-Executor-1:job-51 FirstFitRoutingAllocator) Free CPU: 30516 , Requested
CPU: 500
2012-07-11 03:08:36,994 DEBUG [cloud.capacity.CapacityManagerImpl]
(Job-Executor-1:job-51 FirstFitRoutingAllocator) Free RAM: 4830291968 ,
Requested RAM: 536870912
2012-07-11 03:08:36,994 DEBUG [cloud.capacity.CapacityManagerImpl]
(Job-Executor-1:job-51 FirstFitRoutingAllocator) Host has enough CPU and RAM
available
-------------
However, using the exact same compute offering, when I try to create a VM using
an ISO, I get the following in the logs:
-------------
2012-07-11 03:13:58,534 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) DeploymentPlanner allocation algorithm: firstfit
2012-07-11 03:13:58,535 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) Trying to allocate a host and storage pools from dc:2,
pod:null,cluster:null, requested cpu: 500, requested ram: 536870912
2012-07-11 03:13:58,535 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) Is ROOT volume READY (pool already allocated)?: No
2012-07-11 03:13:58,535 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) Searching all possible resources under this Zone: 2
2012-07-11 03:13:58,539 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) Listing clusters in order of aggregate capacity, that
have (atleast one host with) enough CPU and RAM capacity under this Zone: 2
2012-07-11 03:13:58,541 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) CPUOverprovisioningFactor considered: 3.0
2012-07-11 03:13:58,558 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) Checking resources in Cluster: 3 under Pod: 2
2012-07-11 03:13:58,558 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) Calling HostAllocators to find suitable hosts
2012-07-11 03:13:58,558 DEBUG [allocator.impl.FirstFitAllocator]
(Job-Executor-2:job-52 FirstFitRoutingAllocator) Looking for hosts in dc: 2
pod:2 cluster:3
2012-07-11 03:13:58,564 DEBUG [allocator.impl.FirstFitAllocator]
(Job-Executor-2:job-52 FirstFitRoutingAllocator) FirstFitAllocator has 2 hosts
to check for allocation: [Host[-1-Routing], Host[-5-Routing]]
2012-07-11 03:13:58,567 DEBUG [allocator.impl.FirstFitAllocator]
(Job-Executor-2:job-52 FirstFitRoutingAllocator) Found 0 hosts for allocation
after prioritization: []
2012-07-11 03:13:58,568 DEBUG [allocator.impl.FirstFitAllocator]
(Job-Executor-2:job-52 FirstFitRoutingAllocator) Looking for speed=500Mhz,
Ram=512
2012-07-11 03:13:58,568 DEBUG [allocator.impl.FirstFitAllocator]
(Job-Executor-2:job-52 FirstFitRoutingAllocator) Host Allocator returning 0
suitable hosts
2012-07-11 03:13:58,568 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) No suitable hosts found
2012-07-11 03:13:58,568 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) No suitable hosts found under this Cluster: 3
2012-07-11 03:13:58,568 DEBUG [cloud.deploy.FirstFitPlanner]
(Job-Executor-2:job-52) Could not find suitable Deployment Destination for this
VM under any clusters, returning.
2012-07-11 03:13:58,654 DEBUG [cloud.capacity.CapacityManagerImpl]
(Job-Executor-2:job-52) VM state transitted from :Starting to Stopped with
event: OperationFailedvm's original host id: null new host id: null host id
before state tran
sition: null
2012-07-11 03:13:58,754 DEBUG [cloud.capacity.CapacityManagerImpl]
(Job-Executor-2:job-52) VM state transitted from :Stopped to Error with event:
OperationFailedToErrorvm's original host id: null new host id: null host id
before state
transition: null
2012-07-11 03:13:58,800 DEBUG [agent.manager.AgentManagerImpl]
(AgentManager-Handler-15:null) SeqA 3-187783: Processing Seq 3-187783: { Cmd ,
MgmtId: -1, via: 3, Ver: v1, Flags: 11,
[{"ConsoleProxyLoadReportCommand":{"_proxyVmId":2,"_
loadInfo":"{\n \"connections\": [\n {\n \"id\": 524,\n
\"clientInfo\": \"\",\n \"host\": \"10.1.11.3\",\n \"port\": 5906,\n
\"tag\": \"\",\n \"createTime\": 1341997999371,\n
\"lastUsedTime\": 1341
997999371\n },\n {\n \"id\": 8,\n \"clientInfo\": \"\",\n
\"host\": \"10.1.11.4\",\n \"port\": 5902,\n \"tag\":
\"c43d83ff-35e0-4eb6-87b4-d56f7a2929f9\",\n \"createTime\":
1341904048748,\n \"las
tUsedTime\": 1341998035188\n }\n ]\n}","wait":0}}] }
2012-07-11 03:13:58,857 DEBUG [agent.manager.AgentManagerImpl]
(AgentManager-Handler-15:null) SeqA 3-187783: Sending Seq 3-187783: { Ans: ,
MgmtId: 74142025330, via: 3, Ver: v1, Flags: 100010,
[{"AgentControlAnswer":{"result":true,"wa
it":0}}] }
2012-07-11 03:13:59,133 INFO [api.commands.DeployVMCmd]
(Job-Executor-2:job-52)
com.cloud.exception.InsufficientServerCapacityException: Unable to create a
deployment for VM[User|i-2-18-VM]Scope=interface com.cloud.dc.DataCenter; id=2
2012-07-11 03:13:59,134 WARN [cloud.api.ApiDispatcher] (Job-Executor-2:job-52)
class com.cloud.api.ServerApiException : Unable to create a deployment for
VM[User|i-2-18-VM]
-------------
So after looking for the exact same thing "Looking for speed=500Mhz, Ram=512"
in both cases, the template passes (or atleast proceeds to do further checks,
and eventually passing) and the ISO immediately fails. Is there something I'm
doing wrong? Is this a bug that needs to be patched or looked in to? Or, is
there another way to create a template other than deploying with an ISO and
creating a template off that deployment?
Environment info:
Cloudstack 3.0.2
ISO Tried - CentOS 6.2 minimal (both x86 and x64), Ubuntu Server 12.04, CentOS
5.8 Netinstall
Thanks,
Caleb