[ https://issues.apache.org/jira/browse/CLOUDSTACK-1809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13719181#comment-13719181 ]
Sateesh Chodapuneedi commented on CLOUDSTACK-1809: -------------------------------------------------- Capacity that CloudStack as an IaaS software looks for is the resource capacity that is available for VM deployment rather than raw physical capacity on hardware. In VMware, virtual machine resource allocation would be done over resource pool defined over host/cluster etc. units. When a host is add to cluster, the host's resources would be taken over by resource pool group of the cluster. Hence total effective (something actually available for VMs' usage on hypervisor) cpu/memory have to read from resource pool group of the cluster which is aggregate capacity of resources from all hosts added to that cluster. Currently CloudStack fetches total capacity for each host and reports to management server and gets stored in op_host_capacity table, and while displaying capacity in dash board capacities of all hosts are added by reading from this table. This just gives raw hardware capacity of resources in zone rather than capacity of resource pool. Resource capacity calculation should take place against resource pool of cluster rather than individual host to get correct capacity. Also there may be more than 1 resource pool existing which need to be taken care of. One more case to consider is enabling DRS where resource management is handled by DRS system. The changes needed to move from raw capacity to resource pool capacity are involved and would need good time. > Actual capacity availble for vm deployement in vmware cluster is less than > what Dashboard shows (total_capacity in op_host_capacity table) > ------------------------------------------------------------------------------------------------------------------------------------------- > > Key: CLOUDSTACK-1809 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1809 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: VMware > Affects Versions: 4.2.0 > Environment: vmware > Reporter: prashant kumar mishra > Assignee: Sateesh Chodapuneedi > Priority: Critical > Fix For: 4.2.0 > > Attachments: DB_Logs.rar, screenshot-1.jpg, screenshot-2.jpg > > > ->For vmware cluster(with only one host) vcenter shows total capacity of > cluster is (Memory 13431 MB, CPU 7752MHz) which is available for vm > deployment and cloud stack shows (Memory 15.99 GB, CPU 9572) . > ->Due to this calculation difference CS allocator shows capacity is available > on host but vm deployment fails with run time error > "2013-06-13 12:23:01,945 WARN [vmware.resource.VmwareResource] > (DirectAgent-141:10.147.40.7) StartCommand failed due to Exception: > java.lang.RuntimeException > Message: The available CPU resources in the parent resource pool are > insufficient for the operation. > java.lang.RuntimeException: The available CPU resources in the parent > resource pool are insufficient for the operation. > " > DB > ----- > mysql> select *from op_host_capacity where capacity_type in (0,1)\G; > *************************** 1. row *************************** > id: 1 > host_id: 1 > data_center_id: 1 > pod_id: 1 > cluster_id: 1 > used_capacity: 6039797760 > reserved_capacity: 0 > total_capacity: 17169539072 > capacity_type: 0 > capacity_state: Enabled > update_time: 2013-06-13 15:29:33 > created: 2013-06-05 16:05:51 > *************************** 2. row *************************** > id: 2 > host_id: 1 > data_center_id: 1 > pod_id: 1 > cluster_id: 1 > used_capacity: 7700 > reserved_capacity: 0 > total_capacity: 9572 > capacity_type: 1 > capacity_state: Enabled > update_time: 2013-06-13 15:29:33 > created: 2013-06-05 16:05:51 > 2 rows in set (0.00 sec) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira