diff --git a/api/src/com/cloud/hypervisor/Hypervisor.java b/api/src/com/cloud/hypervisor/Hypervisor.java
index 17178bd2154..36ef21f035b 100644
--- a/api/src/com/cloud/hypervisor/Hypervisor.java
+++ b/api/src/com/cloud/hypervisor/Hypervisor.java
@@ -23,7 +23,8 @@ public class Hypervisor {
None, //for storage hosts
Xen,
XenServer,
- KVM;
+ KVM,
+ VMware;
}
}
diff --git a/build/build-cloud.xml b/build/build-cloud.xml
index b11abe57254..09899cf25c5 100755
--- a/build/build-cloud.xml
+++ b/build/build-cloud.xml
@@ -264,6 +264,7 @@
+
diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
index cf0a7932969..21660ef71cb 100644
--- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
+++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
@@ -4114,6 +4114,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
break;
}
}
+
// assume the memory Virtualization overhead is 1/64
ram = (ram - dom0Ram) * 63/64;
cmd.setMemory(ram);
diff --git a/core/test/com/cloud/vmware/TestVMWare.java b/core/test/com/cloud/vmware/TestVMWare.java
index 48c3bb57e79..a6754ded927 100644
--- a/core/test/com/cloud/vmware/TestVMWare.java
+++ b/core/test/com/cloud/vmware/TestVMWare.java
@@ -19,6 +19,7 @@ import com.vmware.vim25.VirtualMachineConfigSpec;
import com.vmware.vim25.VirtualDeviceConfigSpecOperation;
import com.vmware.vim25.VirtualEthernetCard;
import com.vmware.vim25.VirtualEthernetCardNetworkBackingInfo;
+import com.vmware.vim25.VirtualNicManagerNetConfig;
import com.vmware.vim25.VirtualPCNet32;
import com.vmware.vim25.VirtualDeviceConfigSpec;
import com.vmware.vim25.VirtualMachineCloneSpec;
@@ -784,6 +785,14 @@ public class TestVMWare {
"cloud.dc.test");
}
+ private void getPropertyWithPath() throws Exception {
+ ManagedObjectReference morHost = new ManagedObjectReference();
+ morHost.setType("HostSystem");
+ morHost.set_value("host-161");
+
+ VirtualNicManagerNetConfig[] netConfigs = (VirtualNicManagerNetConfig[])cb.getServiceUtil3().getDynamicProperty(morHost, "config.virtualNicManagerInfo.netConfig");
+ }
+
public static void main(String[] args) throws Exception {
setupLog4j();
TestVMWare client = new TestVMWare();
@@ -809,7 +818,9 @@ public class TestVMWare {
// client.addNic();
// client.addNicToNetwork();
- client.createDatacenter();
+ // client.createDatacenter();
+ client.getPropertyWithPath();
+
cb.disConnect();
} catch (Exception e) {
e.printStackTrace();
diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java
index 498b6c26a0e..01ca1820670 100755
--- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java
+++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java
@@ -478,7 +478,13 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory {
Enumeration en = _discoverers.enumeration();
while (en.hasMoreElements()) {
Discoverer discoverer = en.nextElement();
- Map extends ServerResource, Map> resources = discoverer.find(dcId, podId, clusterId, url, username, password);
+ Map extends ServerResource, Map> resources = null;
+
+ try {
+ resources = discoverer.find(dcId, podId, clusterId, url, username, password);
+ } catch(Exception e) {
+ s_logger.info("Exception in host discovery process with discoverer: " + discoverer.getName() + ", skip to another discoverer if there is any");
+ }
if (resources != null) {
for (Map.Entry extends ServerResource, Map> entry : resources.entrySet()) {
ServerResource resource = entry.getKey();
@@ -1677,7 +1683,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory {
// If this command is from a KVM agent, or from an agent that has a
// null hypervisor type, don't do the CIDR check
- if (hypervisorType == null || hypervisorType == Hypervisor.Type.KVM)
+ if (hypervisorType == null || hypervisorType == Hypervisor.Type.KVM || hypervisorType == Hypervisor.Type.VMware)
doCidrCheck = false;
if (doCidrCheck)
diff --git a/setup/db/templates.xenserver.sql b/setup/db/templates.xenserver.sql
index 4ff10d23a5b..5ecd912f575 100644
--- a/setup/db/templates.xenserver.sql
+++ b/setup/db/templates.xenserver.sql
@@ -72,3 +72,6 @@ INSERT INTO `cloud`.`guest_os` (id, category_id, name, display_name) VALUES (58,
INSERT INTO `cloud`.`guest_os` (id, category_id, name, display_name) VALUES (59, 7, 'Other install media', 'Ubuntu');
INSERT INTO `cloud`.`guest_os` (id, category_id, name, display_name) VALUES (60, 7, 'Other install media', 'Other');
+-- temporarily added for vmware, will be moved when vmware support is fully in-place
+INSERT INTO `cloud`.`host_master`(`type`, `service_address`, `admin`, `password`) VALUES('VSphere', 'vsphere-1.lab.vmops.com', 'Administrator', 'Suite219');
+