[ 
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

        

Reply via email to