Search in sources :

Example 6 with HostHardwareSummary

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

the class HostMO method getHostHardwareSummary.

public HostHardwareSummary getHostHardwareSummary() throws Exception {
    HostConnectInfo hostInfo = _context.getService().queryHostConnectionInfo(_mor);
    HostHardwareSummary hardwareSummary = hostInfo.getHost().getHardware();
    return hardwareSummary;
}
Also used : HostConnectInfo(com.vmware.vim25.HostConnectInfo) HostHardwareSummary(com.vmware.vim25.HostHardwareSummary)

Example 7 with HostHardwareSummary

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

the class HostMO method getHyperHostResourceSummary.

@Override
public VmwareHypervisorHostResourceSummary getHyperHostResourceSummary() throws Exception {
    if (s_logger.isTraceEnabled())
        s_logger.trace("vCenter API trace - getHyperHostResourceSummary(). target MOR: " + _mor.getValue());
    VmwareHypervisorHostResourceSummary summary = new VmwareHypervisorHostResourceSummary();
    HostHardwareSummary hardwareSummary = getHostHardwareSummary();
    // TODO: not sure how hyper-thread is counted in VMware resource pool
    summary.setCpuCount(hardwareSummary.getNumCpuThreads());
    summary.setMemoryBytes(hardwareSummary.getMemorySize());
    summary.setCpuSpeed(hardwareSummary.getCpuMhz());
    summary.setCpuSockets((int) hardwareSummary.getNumCpuPkgs());
    if (s_logger.isTraceEnabled())
        s_logger.trace("vCenter API trace - getHyperHostResourceSummary() done");
    return summary;
}
Also used : HostHardwareSummary(com.vmware.vim25.HostHardwareSummary)

Example 8 with HostHardwareSummary

use of com.vmware.vim25.HostHardwareSummary 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

HostHardwareSummary (com.vmware.vim25.HostHardwareSummary)8 ComputeResourceSummary (com.vmware.vim25.ComputeResourceSummary)4 HostConnectInfo (com.vmware.vim25.HostConnectInfo)3 ClusterComputeResourceSummary (com.vmware.vim25.ClusterComputeResourceSummary)2 HostListSummaryQuickStats (com.vmware.vim25.HostListSummaryQuickStats)2 ManagedObjectReference (com.vmware.vim25.ManagedObjectReference)2