Re: [PATCH v2] virt-clone:update the VNC handling information when cloning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/27/2012 08:43 PM, Wanlong Gao wrote:
> Assume you set port='5900' and no autoport.
> Then, copied guest's vnc will have the same port with the orignal.
> If one of them started, another can't get vnc.
> 
> So, if you find 'port=xxxx' in the orignal xml, you should modify it as autoport
> with some warning. Then, you can run both of guests at once.
> 
> Suggested-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
> Signed-off-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
> ---
>  virtinst/CloneManager.py |    5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/virtinst/CloneManager.py b/virtinst/CloneManager.py
> index ff3c074..5953b41 100644
> --- a/virtinst/CloneManager.py
> +++ b/virtinst/CloneManager.py
> @@ -441,6 +441,11 @@ class CloneDesign(object):
>          self._guest.name = self._clone_name
>          self._guest.uuid = self._clone_uuid
>          self._clone_mac.reverse()
> +        if self._guest.graphics_dev and self._guest.graphics_dev.port and \
> +           self._guest.graphics_dev.port != -1:
> +            logging.warn(_("Setting the graphics device port to autoport, "
> +                           "in order to avoid conflicting."))
> +            self._guest.graphics_dev.port = -1
>          for iface in self._guest.get_devices("interface"):
>              iface.target_dev = None
>  

This still doesn't handle multiple <graphics> devices. You want to do

for dev in guest.get_devices("graphics"):
  ...

Also, use this diff in the testsuite to actually verify your change:

diff --git a/tests/clone-xml/general-cfg-in.xml b/tests/clone-xml/general-cfg-in
index 799f81e..b3ab912 100644
--- a/tests/clone-xml/general-cfg-in.xml
+++ b/tests/clone-xml/general-cfg-in.xml
@@ -37,5 +37,6 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'/>
+    <graphics type='vnc' port='5905'/>
   </devices>
 </domain>

You'll also need to edit tests/clone-xml/general-cfg-out.xml for the final output.

- Cole


[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux