Updated Branches: refs/heads/master 27e504cb1 -> bc94948e0
agent: Set the listen addr of a VM specificly to the private IP of a host Now users have to modify their /etc/libvirt/qemu.conf vnc_listen, this is not needed anymore Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/bc94948e Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/bc94948e Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/bc94948e Branch: refs/heads/master Commit: bc94948e0604e0e5931759be3c3d3155e84686f6 Parents: 27e504c Author: Wido den Hollander <[email protected]> Authored: Wed Jun 20 12:28:03 2012 +0200 Committer: Wido den Hollander <[email protected]> Committed: Wed Jun 20 15:29:26 2012 +0200 ---------------------------------------------------------------------- .../computing/LibvirtComputingResource.java | 3 ++- api/src/com/cloud/agent/api/StartCommand.java | 15 +++++++++++++-- .../com/cloud/agent/api/to/VirtualMachineTO.java | 9 +++++++++ .../com/cloud/vm/VirtualMachineManagerImpl.java | 2 +- 4 files changed, 25 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bc94948e/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java ---------------------------------------------------------------------- diff --git a/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java b/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java index c32d1a1..c032e2c 100755 --- a/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java +++ b/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java @@ -2481,7 +2481,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements ConsoleDef console = new ConsoleDef("pty", null, null, (short) 0); devices.addDevice(console); - GraphicDef grap = new GraphicDef("vnc", (short) 0, true, null, null, + GraphicDef grap = new GraphicDef("vnc", (short) 0, true, vmTO.getVncAddr(), null, null); devices.addDevice(grap); @@ -2507,6 +2507,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements protected synchronized StartAnswer execute(StartCommand cmd) { VirtualMachineTO vmSpec = cmd.getVirtualMachine(); + vmSpec.setVncAddr(cmd.getHostIp()); String vmName = vmSpec.getName(); LibvirtVMDef vm = null; http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bc94948e/api/src/com/cloud/agent/api/StartCommand.java ---------------------------------------------------------------------- diff --git a/api/src/com/cloud/agent/api/StartCommand.java b/api/src/com/cloud/agent/api/StartCommand.java index fcd8b36..4d87138 100644 --- a/api/src/com/cloud/agent/api/StartCommand.java +++ b/api/src/com/cloud/agent/api/StartCommand.java @@ -17,12 +17,14 @@ package com.cloud.agent.api; import com.cloud.agent.api.to.VirtualMachineTO; +import com.cloud.host.Host; /** */ public class StartCommand extends Command { VirtualMachineTO vm; - + String hostIp; + public VirtualMachineTO getVirtualMachine() { return vm; } @@ -34,8 +36,17 @@ public class StartCommand extends Command { protected StartCommand() { } - + public StartCommand(VirtualMachineTO vm) { this.vm = vm; } + + public StartCommand(VirtualMachineTO vm, Host host) { + this.vm = vm; + this.hostIp = host.getPrivateIpAddress(); + } + + public String getHostIp() { + return this.hostIp; + } } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bc94948e/api/src/com/cloud/agent/api/to/VirtualMachineTO.java ---------------------------------------------------------------------- diff --git a/api/src/com/cloud/agent/api/to/VirtualMachineTO.java b/api/src/com/cloud/agent/api/to/VirtualMachineTO.java index ec93fc6..42d9162 100644 --- a/api/src/com/cloud/agent/api/to/VirtualMachineTO.java +++ b/api/src/com/cloud/agent/api/to/VirtualMachineTO.java @@ -40,6 +40,7 @@ public class VirtualMachineTO { boolean enableHA; boolean limitCpuUse; String vncPassword; + String vncAddr; Map<String, String> params; VolumeTO[] disks; @@ -191,6 +192,14 @@ public class VirtualMachineTO { public void setVncPassword(String vncPassword) { this.vncPassword = vncPassword; } + + public String getVncAddr() { + return this.vncAddr; + } + + public void setVncAddr(String vncAddr) { + this.vncAddr = vncAddr; + } public Map<String, String> getDetails() { return params; http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bc94948e/server/src/com/cloud/vm/VirtualMachineManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index b73d0fd..b33f270 100755 --- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -755,7 +755,7 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager, Listene vmTO = hvGuru.implement(vmProfile); cmds = new Commands(OnError.Stop); - cmds.addCommand(new StartCommand(vmTO)); + cmds.addCommand(new StartCommand(vmTO, dest.getHost())); vmGuru.finalizeDeployment(cmds, vmProfile, dest, ctx);
