diff --git a/agent/src/com/cloud/agent/Agent.java b/agent/src/com/cloud/agent/Agent.java index 855cd5bcafe..821cf6de5f8 100755 --- a/agent/src/com/cloud/agent/Agent.java +++ b/agent/src/com/cloud/agent/Agent.java @@ -407,6 +407,9 @@ public class Agent implements HandlerFactory, IAgentControl { s_logger.warn("Threw away a startup answer because we're reconnecting."); return; } + + s_logger.info("Proccess agent startup answer, agent id = " + startup.getHostId()); + setId(startup.getHostId()); _pingInterval = startup.getPingInterval() * 1000; // change to ms. diff --git a/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java b/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java index 94a99400667..b5483e44aca 100644 --- a/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java +++ b/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java @@ -91,6 +91,7 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe } else if(cmd instanceof WatchConsoleProxyLoadCommand) { return execute((WatchConsoleProxyLoadCommand)cmd); } else if (cmd instanceof ReadyCommand) { + s_logger.info("Receive ReadyCommand, response with ReadyAnswer"); return new ReadyAnswer((ReadyCommand)cmd); } else if(cmd instanceof CheckHealthCommand) { return new CheckHealthAnswer((CheckHealthCommand)cmd, true); diff --git a/build/build-cloud.xml b/build/build-cloud.xml index 8e534232109..e44b11a0fb4 100755 --- a/build/build-cloud.xml +++ b/build/build-cloud.xml @@ -264,6 +264,7 @@ + diff --git a/core/src/com/cloud/agent/transport/Request.java b/core/src/com/cloud/agent/transport/Request.java index e22f5ee006c..869fed7e1a9 100755 --- a/core/src/com/cloud/agent/transport/Request.java +++ b/core/src/com/cloud/agent/transport/Request.java @@ -214,7 +214,11 @@ public class Request { String content = _content; if (content == null) { final Gson gson = s_gBuilder.create(); - content = gson.toJson(_cmds); + try { + content = gson.toJson(_cmds); + } catch(Throwable e) { + s_logger.error("Gson serialization error on Request.toString() " + getClass().getCanonicalName(), e); + } } final StringBuilder buffer = new StringBuilder(); buffer.append("{ ").append(getType()); diff --git a/patches/systemvm/debian/config/etc/init.d/cloud-early-config b/patches/systemvm/debian/config/etc/init.d/cloud-early-config index bd86756fdaa..b3578f5cd16 100755 --- a/patches/systemvm/debian/config/etc/init.d/cloud-early-config +++ b/patches/systemvm/debian/config/etc/init.d/cloud-early-config @@ -42,6 +42,8 @@ patch() { cp -f $EXTRA_MOUNT/authorized_keys /var/cache/cloud/authorized_keys privkey=/var/cache/cloud/authorized_keys umount $EXTRA_MOUNT + elif [ -e /dev/cdrom1 ]; then + vmware-guestd --cmd 'machine.id.get' > /var/cache/cloud/cmdline else cat /proc/cmdline > /var/cache/cloud/cmdline fi @@ -51,6 +53,9 @@ patch() { elif [ -e /dev/cdrom ]; then # For KVM cdrom_dev=/dev/cdrom + elif [ -e /dev/cdrom1 ]; then + # for VmWare + cdrom_dev=/dev/cdrom1 fi if [ -n "$cdrom_dev" ]; then diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 3e92e8463b1..5a08119c778 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -2259,6 +2259,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory { s_logger.info("Host " + attache.getId() + " is now ready to processing commands."); _hostDao.updateStatus(host, Event.Ready, _nodeId); } + answer = new Answer(cmd); } else { answer = new Answer(cmd); } diff --git a/setup/db/templates.sql b/setup/db/templates.sql index 26290d7ed04..1dbdfaa63f4 100644 --- a/setup/db/templates.sql +++ b/setup/db/templates.sql @@ -16,10 +16,10 @@ INSERT INTO `cloud`.`vm_template` (id, unique_name, name, public, created, type, VALUES (6, 'winxpsp3', 'WindowsXP-SP3', 1, now(), 'builtin', 0, 32, 1, 'http://nfs1.lab.vmops.com/templates/vmware/WinXPSP3.ova.bz2', '', 0, 'WindowsXP-SP3', 'OVA', 58, 1, 1, 'VMware'); INSERT INTO `cloud`.`vm_template` (id, unique_name, name, public, created, type, hvm, bits, account_id, url, checksum, enable_password, display_text, format, guest_os_id, featured, cross_zones, hypervisor_type) - VALUES (7, 'centos53-x64', 'centos53-x64', 1, now(), 'builtin', 0, 64, 1, 'http://nfs1.lab.vmops.com/templates/vmware/CentOS5.3-x86_64.ova.bz2', '', 0, 'centos53-x64', 'OVA', 112, 1, 1, 'VMware'); + VALUES (7, 'centos53-x64', 'centos53-x64', 1, now(), 'builtin', 0, 64, 1, 'http://nfs1.lab.vmops.com/templates/vmware/CentOS5.3-x86_64.ova.bz2', '', 0, 'centos53-x64', 'OVA', 12, 1, 1, 'VMware'); INSERT INTO `cloud`.`vm_template` (id, unique_name, name, public, created, type, hvm, bits, account_id, url, checksum, enable_password, display_text, format, guest_os_id, featured, cross_zones, hypervisor_type) - VALUES (8, 'routing_vmware', 'SystemVM Template (VMWare)', 0, now(), 'system', 0, 64, 1, 'http://nfs1.lab.vmops.com/templates/vmware/Blank.ova.bz2', '', 0, 'SystemVM Template VMWare', 'OVA', 47, 0, 1, 'VMware'); + VALUES (8, 'routing_vmware', 'SystemVM Template (VMWare)', 0, now(), 'system', 0, 32, 1, 'http://nfs1.lab.vmops.com/templates/vmware/systemvm.ova.bz2', '9bc05e1cabb4597063957f1a3f1bfa95', 0, 'SystemVM Template VMWare', 'OVA', 15, 0, 1, 'VMware'); INSERT INTO `cloud`.`guest_os_category` (id, name) VALUES (1, 'CentOS'); INSERT INTO `cloud`.`guest_os_category` (id, name) VALUES (2, 'Debian');