http://git-wip-us.apache.org/repos/asf/cloudstack/blob/895c51d0/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java ---------------------------------------------------------------------- diff --cc plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index e253cb5,94ee9ae..4916b7b --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@@ -2634,23 -2881,7 +2882,22 @@@ ServerResource try { conn = LibvirtConnection.getConnectionByVmName(cmd.getVmName()); ifaces = getInterfaces(conn, vmName); - dm = conn.domainLookupByUUID(UUID.nameUUIDFromBytes(vmName - .getBytes())); + dm = conn.domainLookupByName(vmName); + /* + We replace the private IP address with the address of the destination host. + This is because the VNC listens on the private IP address of the hypervisor, + but that address is ofcourse different on the target host. + + MigrateCommand.getDestinationIp() returns the private IP address of the target + hypervisor. So it's safe to use. + + The Domain.migrate method from libvirt supports passing a different XML + description for the instance to be used on the target host. + - This is supported by libvirt-java from version 0.50.0 ++ This is supported by libvirt-java from version 0.5.0 + */ + xmlDesc = dm.getXMLDesc(0).replace(_privateIp, cmd.getDestinationIp()); + dconn = new Connect("qemu+tcp://" + cmd.getDestinationIp() + "/system"); /* @@@ -3184,7 -3439,9 +3455,9 @@@ ConsoleDef console = new ConsoleDef("pty", null, null, (short) 0); devices.addDevice(console); - GraphicDef grap = new GraphicDef("vnc", (short) 0, true, vmTO.getVncAddr(), null, + //add the VNC port passwd here, get the passwd from the vmInstance. + String passwd = vmTO.getVncPassword(); - GraphicDef grap = new GraphicDef("vnc", (short) 0, true, null, passwd, ++ GraphicDef grap = new GraphicDef("vnc", (short) 0, true, vmTO.getVncAddr(), passwd, null); devices.addDevice(grap);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/895c51d0/pom.xml ---------------------------------------------------------------------- diff --cc pom.xml index 6208124,4013fa6..6d9a30f --- a/pom.xml +++ b/pom.xml @@@ -91,7 -81,11 +81,11 @@@ <cs.reflections.version>0.9.8</cs.reflections.version> <cs.java-ipv6.version>0.10</cs.java-ipv6.version> <cs.replace.properties>build/replace.properties</cs.replace.properties> -- <cs.libvirt-java.version>0.4.9</cs.libvirt-java.version> ++ <cs.libvirt-java.version>0.5.0</cs.libvirt-java.version> + <cs.rados-java.version>0.1.3</cs.rados-java.version> + <cs.target.dir>target</cs.target.dir> + <cs.daemon.version>1.0.10</cs.daemon.version> - <cs.jna.version>3.0.9</cs.jna.version> ++ <cs.jna.version>4.0.0</cs.jna.version> </properties> <distributionManagement>
