[
https://issues.apache.org/jira/browse/DTACLOUD-123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13181390#comment-13181390
]
Marios Andreou commented on DTACLOUD-123:
-----------------------------------------
For reference:
1) This is the vsphere API definitions of 'effectiveMemory' and 'totalMemory'
http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.ComputeResource.Summary.html#effectiveMemory
2) This is the vsphere_driver code in question: (see lines 7 and 12 especially)
1 def hardware_profiles(credentials, opts={})$
2 vsphere = new_client(credentials)$
3 safely do$
4 service = vsphere.serviceInstance.content$
5 max_memory, max_cpu_cores = [], []$
6 service.rootFolder.childEntity.grep(RbVmomi::VIM::Datacenter).each do
|dc|$
7 max_memory <<
dc.hostFolder.childEntity.first.summary.effectiveMemory$
8 max_cpu_cores <<
dc.hostFolder.childEntity.first.summary.numCpuCores$
9 end$
10 [Deltacloud::HardwareProfile::new('default') do$
11 cpu (1..max_cpu_cores.min)$
12 memory (128..max_memory.min)$
13 architecture ['x86_64', 'i386']$
14 end]$
15 end$
16 end$
> vsphere - incorrect hwp memory range
> ------------------------------------
>
> Key: DTACLOUD-123
> URL: https://issues.apache.org/jira/browse/DTACLOUD-123
> Project: DeltaCloud
> Issue Type: Bug
> Environment: deltacloud-core-vsphere-0.4.1-8.el6.noarch
> deltacloud-core-0.4.1-8.el6.noarch
> Reporter: Jan Provaznik
> Assignee: David Lutterkort
>
> When counting hwp memory for vsphere driver, max value is computed from
> effectiveMemory (which is actual value - it can change in time). Minimum
> value is hardcoded 128. There are 2 problems:
> 1) effectiveMemory can be lower then 128, then dc api returns invalid range,
> I got this:
> #<DeltaCloud::HWP::Property:0x7fde69094af8 @value="128", @range={:to=>"0",
> :from=>"128"}, @kind=:range, @ name="memory", @unit="MB">
> 2) conductor fetches hw profiles only once when a provider account is added,
> so conductor uses this effectiveMemory (which was actual at the moment when
> the account was added) all the time.
> I think most easiest way is to use total memory for computing memory range on
> DC API side, though then max memory can be unavailable sometimes.
> On the other side, for other drivers min/max memory values are hardcoded too,
> so using total memory doesn't break things more (in compare to other drivers).
> Alternatively there could be some api call how to get total memory.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira