Search in sources :

Example 1 with HostListSummaryQuickStats

use of com.vmware.vim25.HostListSummaryQuickStats in project CloudStack-archive by CloudStack-extras.

the class HostMO method getHyperHostHardwareSummary.

@Override
public ComputeResourceSummary getHyperHostHardwareSummary() throws Exception {
    if (s_logger.isTraceEnabled())
        s_logger.trace("vCenter API trace - getHyperHostHardwareSummary(). target MOR: " + _mor.get_value());
    //
    // This is to adopt the model when using Cluster as a big host while ComputeResourceSummary is used
    // directly from VMware resource pool
    //
    // When we break cluster hosts into individual hosts used in our resource allocator, 
    // we will have to populate ComputeResourceSummary by ourselves here
    //
    HostHardwareSummary hardwareSummary = getHostHardwareSummary();
    ComputeResourceSummary resourceSummary = new ComputeResourceSummary();
    // TODO: not sure how hyper-threading is counted in VMware
    short totalCores = (short) (hardwareSummary.getNumCpuCores() * hardwareSummary.getNumCpuPkgs());
    resourceSummary.setNumCpuCores(totalCores);
    // Note: memory here is in Byte unit
    resourceSummary.setTotalMemory(hardwareSummary.getMemorySize());
    // Total CPU is based on socket x core x Mhz
    int totalCpu = hardwareSummary.getCpuMhz() * totalCores;
    resourceSummary.setTotalCpu(totalCpu);
    HostListSummaryQuickStats stats = getHostQuickStats();
    if (stats.getOverallCpuUsage() == null || stats.getOverallMemoryUsage() == null)
        throw new Exception("Unable to get valid overal CPU/Memory usage data, host may be disconnected");
    resourceSummary.setEffectiveCpu(totalCpu - stats.getOverallCpuUsage());
    // Note effective memory is in MB unit
    resourceSummary.setEffectiveMemory(hardwareSummary.getMemorySize() / (1024 * 1024) - stats.getOverallMemoryUsage());
    if (s_logger.isTraceEnabled())
        s_logger.trace("vCenter API trace - getHyperHostHardwareSummary() done");
    return resourceSummary;
}
Also used : HostHardwareSummary(com.vmware.vim25.HostHardwareSummary) ComputeResourceSummary(com.vmware.vim25.ComputeResourceSummary) HostListSummaryQuickStats(com.vmware.vim25.HostListSummaryQuickStats)

Example 2 with HostListSummaryQuickStats

use of com.vmware.vim25.HostListSummaryQuickStats in project cloudstack by apache.

the class HostMO method getHyperHostHardwareSummary.

@Override
public ComputeResourceSummary getHyperHostHardwareSummary() throws Exception {
    if (s_logger.isTraceEnabled())
        s_logger.trace("vCenter API trace - getHyperHostHardwareSummary(). target MOR: " + _mor.getValue());
    //
    // This is to adopt the model when using Cluster as a big host while ComputeResourceSummary is used
    // directly from VMware resource pool
    //
    // When we break cluster hosts into individual hosts used in our resource allocator,
    // we will have to populate ComputeResourceSummary by ourselves here
    //
    HostHardwareSummary hardwareSummary = getHostHardwareSummary();
    ComputeResourceSummary resourceSummary = new ComputeResourceSummary();
    // TODO: not sure how hyper-threading is counted in VMware
    resourceSummary.setNumCpuCores(hardwareSummary.getNumCpuCores());
    // Note: memory here is in Byte unit
    resourceSummary.setTotalMemory(hardwareSummary.getMemorySize());
    // Total CPU is based on (# of cores) x Mhz
    int totalCpu = hardwareSummary.getCpuMhz() * hardwareSummary.getNumCpuCores();
    resourceSummary.setTotalCpu(totalCpu);
    HostListSummaryQuickStats stats = getHostQuickStats();
    if (stats.getOverallCpuUsage() == null || stats.getOverallMemoryUsage() == null)
        throw new Exception("Unable to get valid overal CPU/Memory usage data, host may be disconnected");
    resourceSummary.setEffectiveCpu(totalCpu - stats.getOverallCpuUsage());
    // Note effective memory is in MB unit
    resourceSummary.setEffectiveMemory(hardwareSummary.getMemorySize() / (1024 * 1024) - stats.getOverallMemoryUsage());
    if (s_logger.isTraceEnabled())
        s_logger.trace("vCenter API trace - getHyperHostHardwareSummary() done");
    return resourceSummary;
}
Also used : HostHardwareSummary(com.vmware.vim25.HostHardwareSummary) ComputeResourceSummary(com.vmware.vim25.ComputeResourceSummary) HostListSummaryQuickStats(com.vmware.vim25.HostListSummaryQuickStats)

Aggregations

ComputeResourceSummary (com.vmware.vim25.ComputeResourceSummary)2 HostHardwareSummary (com.vmware.vim25.HostHardwareSummary)2 HostListSummaryQuickStats (com.vmware.vim25.HostListSummaryQuickStats)2