Updated Branches:
  refs/heads/master 3a9150017 -> a286dec09

CLOUDSTACK-4908: CPU socket count of host Adding cpu socket count of the host 
in hostresponse

Signed-off-by: Koushik Das <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a286dec0
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a286dec0
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a286dec0

Branch: refs/heads/master
Commit: a286dec098ec9fe663c2bbead128f88bf9f18418
Parents: 3a91500
Author: Harikrishna Patnala <[email protected]>
Authored: Tue Nov 5 16:00:43 2013 +0530
Committer: Koushik Das <[email protected]>
Committed: Tue Nov 5 16:12:36 2013 +0530

----------------------------------------------------------------------
 api/src/com/cloud/host/Host.java                |  5 ++
 .../api/command/admin/host/ListHostsCmd.java    |  8 +++
 .../cloudstack/api/response/HostResponse.java   |  7 ++
 .../cloud/agent/api/StartupRoutingCommand.java  |  9 +++
 .../api/agent/test/CheckOnHostCommandTest.java  | 10 +++
 .../datacenter/entity/api/db/EngineHostVO.java  |  8 +++
 engine/schema/src/com/cloud/host/HostVO.java    | 12 ++++
 .../kvm/resource/LibvirtComputingResource.java  |  6 +-
 .../vmware/resource/VmwareResource.java         |  1 +
 .../xen/resource/CitrixResourceBase.java        |  7 +-
 .../com/cloud/api/query/QueryManagerImpl.java   |  6 ++
 .../cloud/api/query/dao/HostJoinDaoImpl.java    |  1 +
 .../src/com/cloud/api/query/vo/HostJoinVO.java  |  7 ++
 .../com/cloud/resource/ResourceManagerImpl.java |  1 +
 setup/db/db/schema-421to430.sql                 | 74 ++++++++++++++++++++
 .../com/cloud/hypervisor/vmware/mo/HostMO.java  |  1 +
 .../vmware/mo/VmwareHypervisorHost.java         |  1 -
 .../mo/VmwareHypervisorHostResourceSummary.java |  9 +++
 18 files changed, 170 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/api/src/com/cloud/host/Host.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/host/Host.java b/api/src/com/cloud/host/Host.java
index 17b0ba8..581bd47 100755
--- a/api/src/com/cloud/host/Host.java
+++ b/api/src/com/cloud/host/Host.java
@@ -107,6 +107,11 @@ public interface Host extends StateObject<Status>, 
Identity, InternalIdentity {
     Long getTotalMemory();
 
     /**
+     * @return # of cpu sockets in a machine.
+     */
+    Integer getCpuSockets();
+
+    /**
      * @return # of cores in a machine.  Note two cpus with two cores each 
returns 4.
      */
     Integer getCpus();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/api/src/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java
----------------------------------------------------------------------
diff --git 
a/api/src/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java 
b/api/src/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java
index 95b9ac3..c6f1e70 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java
@@ -21,6 +21,7 @@ import java.util.EnumSet;
 import java.util.List;
 import java.util.Map;
 
+import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import org.apache.cloudstack.api.APICommand;
 import org.apache.cloudstack.api.ApiCommandJobType;
 import org.apache.cloudstack.api.ApiConstants;
@@ -88,6 +89,9 @@ public class ListHostsCmd extends BaseListCmd {
     @Parameter(name=ApiConstants.HA_HOST, type=CommandType.BOOLEAN, 
description="if true, list only hosts dedicated to HA")
     private Boolean haHost;
 
+    @Parameter(name=ApiConstants.HYPERVISOR, type=CommandType.STRING, 
description="hypervisor type of host: 
XenServer,KVM,VMware,Hyperv,BareMetal,Simulator")
+    private String hypervisor;
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -128,6 +132,10 @@ public class ListHostsCmd extends BaseListCmd {
         return virtualMachineId;
     }
 
+    public HypervisorType getHypervisor() {
+        return HypervisorType.getType(hypervisor);
+    }
+
     public EnumSet<HostDetails> getDetails() throws 
InvalidParameterValueException {
         EnumSet<HostDetails> dv;
         if (viewDetails==null || viewDetails.size() <=0){

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/api/src/org/apache/cloudstack/api/response/HostResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/HostResponse.java 
b/api/src/org/apache/cloudstack/api/response/HostResponse.java
index 687687d..7b6b534 100644
--- a/api/src/org/apache/cloudstack/api/response/HostResponse.java
+++ b/api/src/org/apache/cloudstack/api/response/HostResponse.java
@@ -72,6 +72,9 @@ public class HostResponse extends BaseResponse {
     @SerializedName(ApiConstants.HYPERVISOR) @Param(description="the host 
hypervisor")
     private HypervisorType hypervisor;
 
+    @SerializedName("cpusockets") @Param(description="the number of CPU 
sockets on the host")
+    private Integer cpuSockets;
+
     @SerializedName("cpunumber") @Param(description="the CPU number of the 
host")
     private Integer cpuNumber;
 
@@ -225,6 +228,10 @@ public class HostResponse extends BaseResponse {
         this.hypervisor = hypervisor;
     }
 
+    public void setCpuSockets(Integer cpuSockets) {
+        this.cpuSockets = cpuSockets;
+    }
+
     public void setCpuNumber(Integer cpuNumber) {
         this.cpuNumber = cpuNumber;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/core/src/com/cloud/agent/api/StartupRoutingCommand.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/agent/api/StartupRoutingCommand.java 
b/core/src/com/cloud/agent/api/StartupRoutingCommand.java
index d52666b..f312e0f 100755
--- a/core/src/com/cloud/agent/api/StartupRoutingCommand.java
+++ b/core/src/com/cloud/agent/api/StartupRoutingCommand.java
@@ -42,6 +42,7 @@ public class StartupRoutingCommand extends StartupCommand {
             return host;
         }
     }
+    Integer cpuSockets;
     int cpus;
     long speed;
     long memory;
@@ -133,6 +134,10 @@ 
getHostDetails().put(RouterPrivateIpStrategy.class.getCanonicalName(), privIpStr
        _clusterVMStates = allStates;
     }
 
+    public Integer getCpuSockets() {
+        return cpuSockets;
+    }
+
     public int getCpus() {
         return cpus;
     }
@@ -165,6 +170,10 @@ 
getHostDetails().put(RouterPrivateIpStrategy.class.getCanonicalName(), privIpStr
         this.speed = speed;
     }
 
+    public void setCpuSockets(Integer cpuSockets) {
+        this.cpuSockets = cpuSockets;
+    }
+
     public void setCpus(int cpus) {
         this.cpus = cpus;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/core/test/org/apache/cloudstack/api/agent/test/CheckOnHostCommandTest.java
----------------------------------------------------------------------
diff --git 
a/core/test/org/apache/cloudstack/api/agent/test/CheckOnHostCommandTest.java 
b/core/test/org/apache/cloudstack/api/agent/test/CheckOnHostCommandTest.java
index 1b68276..031ef5c 100644
--- a/core/test/org/apache/cloudstack/api/agent/test/CheckOnHostCommandTest.java
+++ b/core/test/org/apache/cloudstack/api/agent/test/CheckOnHostCommandTest.java
@@ -86,6 +86,10 @@ public class CheckOnHostCommandTest {
 
         public Long getTotalMemory() {
             return 100000000000L;
+        }
+
+        public Integer getCpuSockets() {
+            return 1;
         };
 
         public Integer getCpus() {
@@ -290,6 +294,12 @@ public class CheckOnHostCommandTest {
     }
 
     @Test
+    public void testGetCpuSockets() {
+        Integer cpuSockets = host.getCpuSockets();
+        assertTrue(cpuSockets == 1);
+    }
+
+    @Test
     public void testGetCpus() {
         int cpus = host.getCpus();
         assertTrue(cpus == 16);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/EngineHostVO.java
----------------------------------------------------------------------
diff --git 
a/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/EngineHostVO.java
 
b/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/EngineHostVO.java
index 249c2db..e8f42b4 100644
--- 
a/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/EngineHostVO.java
+++ 
b/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/EngineHostVO.java
@@ -325,6 +325,9 @@ public class EngineHostVO implements EngineHost, Identity {
     @Column(name="pod_id")
     private Long podId;
 
+    @Column(name="cpu_sockets")
+    private Integer cpuSockets;
+
     @Column(name="cpus")
     private Integer cpus;
 
@@ -649,6 +652,11 @@ public class EngineHostVO implements EngineHost, Identity {
     }
 
     @Override
+    public Integer getCpuSockets() {
+        return cpuSockets;
+    }
+
+    @Override
     public Integer getCpus() {
         return cpus;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/engine/schema/src/com/cloud/host/HostVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/host/HostVO.java 
b/engine/schema/src/com/cloud/host/HostVO.java
index c814b94..2ac3d07 100755
--- a/engine/schema/src/com/cloud/host/HostVO.java
+++ b/engine/schema/src/com/cloud/host/HostVO.java
@@ -321,6 +321,9 @@ public class HostVO implements Host {
     @Column(name="pod_id")
     private Long podId;
 
+    @Column(name="cpu_sockets")
+    private Integer cpuSockets;
+
     @Column(name="cpus")
     private Integer cpus;
 
@@ -501,6 +504,10 @@ public class HostVO implements Host {
         this.privateIpAddress = ipAddress;
     }
 
+    public void setCpuSockets(Integer cpuSockets) {
+        this.cpuSockets = cpuSockets;
+    }
+
     public void setCpus(Integer cpus) {
         this.cpus = cpus;
     }
@@ -622,6 +629,11 @@ public class HostVO implements Host {
     }
 
     @Override
+    public Integer getCpuSockets() {
+        return cpuSockets;
+    }
+
+    @Override
     public Integer getCpus() {
         return cpus;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
 
b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index e3f60f2..9f75fa8 100755
--- 
a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ 
b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -3986,6 +3986,7 @@ ServerResource {
                 (Long) info.get(4), (String) info.get(3), _hypervisorType,
                 RouterPrivateIpStrategy.HostLocal);
         cmd.setStateChanges(changes);
+        cmd.setCpuSockets((Integer)info.get(5));
         fillNetworkInformation(cmd);
         _privateIp = cmd.getPrivateIpAddress();
         cmd.getHostDetails().putAll(getVersionStrings());
@@ -4311,6 +4312,7 @@ ServerResource {
         long speed = 0;
         long cpus = 0;
         long ram = 0;
+        int cpuSockets = 0;
         String cap = null;
         try {
             Connect conn = LibvirtConnection.getConnection();
@@ -4334,6 +4336,7 @@ ServerResource {
                 speed = hosts.mhz;
             }
 
+            cpuSockets = hosts.sockets;
             cpus = hosts.cpus;
             ram = hosts.memory * 1024L;
             LibvirtCapXMLParser parser = new LibvirtCapXMLParser();
@@ -4366,8 +4369,9 @@ ServerResource {
         // 768M
         dom0ram = Math.max(dom0ram, _dom0MinMem);
         info.add(dom0ram);
+        info.add(cpuSockets);
         s_logger.debug("cpus=" + cpus + ", speed=" + speed + ", ram=" + ram
-                + ", dom0ram=" + dom0ram);
+                + ", dom0ram=" + dom0ram + ", cpu sockets=" + cpuSockets);
 
         return info;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
 
b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
index f6f84f6..317af16 100755
--- 
a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
+++ 
b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
@@ -6040,6 +6040,7 @@ public class VmwareResource implements 
StoragePoolResource, ServerResource, Vmwa
         cmd.setCaps("hvm");
         cmd.setDom0MinMemory(0);
         cmd.setSpeed(summary.getCpuSpeed());
+        cmd.setCpuSockets(summary.getCpuSockets());
         cmd.setCpus((int) summary.getCpuCount());
         cmd.setMemory(summary.getMemoryBytes());
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
 
b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
index ccb27ea..5c9f4e5 100644
--- 
a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
+++ 
b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
@@ -4829,7 +4829,10 @@ public abstract class CitrixResourceBase implements 
ServerResource, HypervisorRe
             if (_host.cpus <= 0) {
                 throw new CloudRuntimeException("Cannot get the numbers of cpu 
from XenServer host " + _host.ip);
             }
-
+            Map<String, String> cpuInfo = myself.getCpuInfo(conn);
+            if (cpuInfo.get("socket_count") != null) {
+                _host.cpuSockets = 
Integer.parseInt(cpuInfo.get("socket_count"));
+            }
             for (final HostCpu hc : hcs) {
                 _host.speed = hc.getSpeed(conn).intValue();
                 break;
@@ -5974,6 +5977,7 @@ public abstract class CitrixResourceBase implements 
ServerResource, HypervisorRe
             cmd.setCaps(caps.toString());
 
             cmd.setSpeed(_host.speed);
+            cmd.setCpuSockets(_host.cpuSockets);
             cmd.setCpus(_host.cpus);
 
             HostMetrics hm = host.getMetrics(conn);
@@ -8074,6 +8078,7 @@ public abstract class CitrixResourceBase implements 
ServerResource, HypervisorRe
         public String storagePif2;
         public String pool;
         public int speed;
+        public Integer cpuSockets;
         public int cpus;
         public String product_version;
         public String localSRuuid;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/server/src/com/cloud/api/query/QueryManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java 
b/server/src/com/cloud/api/query/QueryManagerImpl.java
index 735bbc9..f34e60e 100644
--- a/server/src/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/com/cloud/api/query/QueryManagerImpl.java
@@ -26,6 +26,7 @@ import java.util.Set;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import com.cloud.hypervisor.Hypervisor;
 import org.apache.cloudstack.acl.ControlledEntity.ACLType;
 import org.apache.cloudstack.affinity.AffinityGroupDomainMapVO;
 import org.apache.cloudstack.affinity.AffinityGroupResponse;
@@ -1530,6 +1531,7 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService {
         Object haHosts = cmd.getHaHost();
         Long startIndex = cmd.getStartIndex();
         Long pageSize = cmd.getPageSizeVal();
+        Hypervisor.HypervisorType hypervisorType = cmd.getHypervisor();
 
         Filter searchFilter = new Filter(HostJoinVO.class, "id", Boolean.TRUE, 
startIndex, pageSize);
 
@@ -1544,6 +1546,7 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService {
         sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ);
         sb.and("clusterId", sb.entity().getClusterId(), SearchCriteria.Op.EQ);
         sb.and("resourceState", sb.entity().getResourceState(), 
SearchCriteria.Op.EQ);
+        sb.and("hypervisor_type", sb.entity().getHypervisorType(), 
SearchCriteria.Op.EQ);
 
         String haTag = _haMgr.getHaTag();
         if (haHosts != null && haTag != null && !haTag.isEmpty()) {
@@ -1599,6 +1602,9 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService {
             sc.setParameters("tag", haTag);
         }
 
+        if (hypervisorType != HypervisorType.None && hypervisorType != 
HypervisorType.Any) {
+            sc.setParameters("hypervisor_type", hypervisorType);
+        }
         // search host details by ids
         Pair<List<HostJoinVO>, Integer> uniqueHostPair = 
_hostJoinDao.searchAndCount(sc, searchFilter);
         Integer count = uniqueHostPair.second();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java
index 97f8bf9..6847543 100644
--- a/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java
@@ -78,6 +78,7 @@ public class HostJoinDaoImpl extends 
GenericDaoBase<HostJoinVO, Long> implements
         hostResponse.setId(host.getUuid());
         hostResponse.setCapabilities(host.getCapabilities());
         hostResponse.setClusterId(host.getClusterUuid());
+        hostResponse.setCpuSockets(host.getCpuSockets());
         hostResponse.setCpuNumber(host.getCpus());
         hostResponse.setZoneId(host.getZoneUuid());
         hostResponse.setDisconnectedOn(host.getDisconnectedOn());

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/server/src/com/cloud/api/query/vo/HostJoinVO.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/vo/HostJoinVO.java 
b/server/src/com/cloud/api/query/vo/HostJoinVO.java
index fbc59cd..2f10a67 100644
--- a/server/src/com/cloud/api/query/vo/HostJoinVO.java
+++ b/server/src/com/cloud/api/query/vo/HostJoinVO.java
@@ -98,6 +98,9 @@ public class HostJoinVO extends BaseViewVO implements 
InternalIdentity, Identity
     @Column(name="mgmt_server_id")
     private Long managementServerId;
 
+    @Column(name="cpu_sockets")
+    private Integer cpuSockets;
+
     @Column(name="cpus")
     private Integer cpus;
 
@@ -249,6 +252,10 @@ public class HostJoinVO extends BaseViewVO implements 
InternalIdentity, Identity
         return managementServerId;
     }
 
+    public Integer getCpuSockets() {
+        return cpuSockets;
+    }
+
     public Integer getCpus() {
         return cpus;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/server/src/com/cloud/resource/ResourceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/resource/ResourceManagerImpl.java 
b/server/src/com/cloud/resource/ResourceManagerImpl.java
index e9d5193..428a57b 100755
--- a/server/src/com/cloud/resource/ResourceManagerImpl.java
+++ b/server/src/com/cloud/resource/ResourceManagerImpl.java
@@ -1926,6 +1926,7 @@ public class ResourceManagerImpl extends ManagerBase 
implements ResourceManager,
         host.setType(com.cloud.host.Host.Type.Routing);
         host.setDetails(details);
         host.setCaps(ssCmd.getCapabilities());
+        host.setCpuSockets(ssCmd.getCpuSockets());
         host.setCpus(ssCmd.getCpus());
         host.setTotalMemory(ssCmd.getMemory());
         host.setSpeed(ssCmd.getSpeed());

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/setup/db/db/schema-421to430.sql
----------------------------------------------------------------------
diff --git a/setup/db/db/schema-421to430.sql b/setup/db/db/schema-421to430.sql
index 1c99e3f..9fe56c0 100644
--- a/setup/db/db/schema-421to430.sql
+++ b/setup/db/db/schema-421to430.sql
@@ -461,6 +461,80 @@ CREATE VIEW `cloud`.`storage_pool_view` AS
             and async_job.instance_type = 'StoragePool'
             and async_job.job_status = 0;
 
+ALTER TABLE `cloud`.`host` ADD COLUMN `cpu_sockets` int(10) unsigned DEFAULT 
NULL COMMENT "the number of CPU sockets on the host" AFTER pod_id;
+
+DROP VIEW IF EXISTS `cloud`.`host_view`;
+CREATE VIEW `cloud`.`host_view` AS
+    select
+        host.id,
+        host.uuid,
+        host.name,
+        host.status,
+        host.disconnected,
+        host.type,
+        host.private_ip_address,
+        host.version,
+        host.hypervisor_type,
+        host.hypervisor_version,
+        host.capabilities,
+        host.last_ping,
+        host.created,
+        host.removed,
+        host.resource_state,
+        host.mgmt_server_id,
+        host.cpu_sockets,
+        host.cpus,
+        host.speed,
+        host.ram,
+        cluster.id cluster_id,
+        cluster.uuid cluster_uuid,
+        cluster.name cluster_name,
+        cluster.cluster_type,
+        data_center.id data_center_id,
+        data_center.uuid data_center_uuid,
+        data_center.name data_center_name,
+        data_center.networktype data_center_type,
+        host_pod_ref.id pod_id,
+        host_pod_ref.uuid pod_uuid,
+        host_pod_ref.name pod_name,
+        host_tags.tag,
+        guest_os_category.id guest_os_category_id,
+        guest_os_category.uuid guest_os_category_uuid,
+        guest_os_category.name guest_os_category_name,
+        mem_caps.used_capacity memory_used_capacity,
+        mem_caps.reserved_capacity memory_reserved_capacity,
+        cpu_caps.used_capacity cpu_used_capacity,
+        cpu_caps.reserved_capacity cpu_reserved_capacity,
+        async_job.id job_id,
+        async_job.uuid job_uuid,
+        async_job.job_status job_status,
+        async_job.account_id job_account_id
+    from
+        `cloud`.`host`
+            left join
+        `cloud`.`cluster` ON host.cluster_id = cluster.id
+            left join
+        `cloud`.`data_center` ON host.data_center_id = data_center.id
+            left join
+        `cloud`.`host_pod_ref` ON host.pod_id = host_pod_ref.id
+            left join
+        `cloud`.`host_details` ON host.id = host_details.host_id
+            and host_details.name = 'guest.os.category.id'
+            left join
+        `cloud`.`guest_os_category` ON guest_os_category.id = CONVERT( 
host_details.value , UNSIGNED)
+            left join
+        `cloud`.`host_tags` ON host_tags.host_id = host.id
+            left join
+        `cloud`.`op_host_capacity` mem_caps ON host.id = mem_caps.host_id
+            and mem_caps.capacity_type = 0
+            left join
+        `cloud`.`op_host_capacity` cpu_caps ON host.id = cpu_caps.host_id
+            and cpu_caps.capacity_type = 1
+            left join
+        `cloud`.`async_job` ON async_job.instance_id = host.id
+            and async_job.instance_type = 'Host'
+            and async_job.job_status = 0;
+
 CREATE TABLE `cloud`.`firewall_rule_details` (
   `id` bigint unsigned NOT NULL auto_increment,
   `firewall_rule_id` bigint unsigned NOT NULL COMMENT 'Firewall rule id',

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java
----------------------------------------------------------------------
diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java 
b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java
index 108a3ec..c4836a8 100755
--- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java
@@ -913,6 +913,7 @@ public class HostMO extends BaseMO implements 
VmwareHypervisorHost {
         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");

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/vmware-base/src/com/cloud/hypervisor/vmware/mo/VmwareHypervisorHost.java
----------------------------------------------------------------------
diff --git 
a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VmwareHypervisorHost.java 
b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VmwareHypervisorHost.java
index f7288f1..c2c326a 100755
--- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VmwareHypervisorHost.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VmwareHypervisorHost.java
@@ -21,7 +21,6 @@ import com.vmware.vim25.ComputeResourceSummary;
 import com.vmware.vim25.ManagedObjectReference;
 import com.vmware.vim25.ObjectContent;
 import com.vmware.vim25.VirtualMachineConfigSpec;
-
 import com.cloud.hypervisor.vmware.util.VmwareContext;
 
 /**

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a286dec0/vmware-base/src/com/cloud/hypervisor/vmware/mo/VmwareHypervisorHostResourceSummary.java
----------------------------------------------------------------------
diff --git 
a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VmwareHypervisorHostResourceSummary.java
 
b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VmwareHypervisorHostResourceSummary.java
index fa11dc3..323cb35 100755
--- 
a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VmwareHypervisorHostResourceSummary.java
+++ 
b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VmwareHypervisorHostResourceSummary.java
@@ -20,6 +20,7 @@ public class VmwareHypervisorHostResourceSummary {
        private long memoryBytes;
        private long cpuCount;
        private long cpuSpeed;
+    private Integer cpuSockets;
 
        public VmwareHypervisorHostResourceSummary() {
        }
@@ -47,4 +48,12 @@ public class VmwareHypervisorHostResourceSummary {
        public void setCpuSpeed(long cpuSpeed) {
                this.cpuSpeed = cpuSpeed;
        }
+
+    public Integer getCpuSockets() {
+        return cpuSockets;
+    }
+
+    public void setCpuSockets(Integer cpuSockets) {
+        this.cpuSockets = cpuSockets;
+    }
 }

Reply via email to