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);
 

Reply via email to