At least, need to revert the following change:
-               GraphicDef grap = new GraphicDef("vnc", (short) 0, true, null, 
null,
+               GraphicDef grap = new GraphicDef("vnc", (short) 0, true, 
vmTO.getVncAddr(), null,
                                null);

in LibvirtComputingResource in 4.1, otherwise, live migration will not work as 
Wido pointed out.

> -----Original Message-----
> From: Marcus Sorensen [mailto:shadow...@gmail.com]
> Sent: Thursday, March 21, 2013 2:02 PM
> To: cloudstack-...@incubator.apache.org
> Subject: Re: VNC listen address for KVM
> 
> To be clear, it doesn't break consoleproxy for me, but it breaks migration as
> wido mentions in his long first post. I think he intended to fix it with the 
> new
> libvirt 0.5.0 bindings rather than roll back, but it didn't happen before the 
> cut.
> It should probably be rolled back on both 4.1 and master at this point, lest 
> it
> be forgotten, and he can add it back in once we for certain have the new
> libvirt bindings and fix.
> 
> On Thu, Mar 21, 2013 at 2:46 PM, Marcus Sorensen <shadow...@gmail.com>
> wrote:
> > The change was in server side code, so maybe.
> >
> > On Jan 4, 2013 1:09 PM, "Wido den Hollander" <w...@widodh.nl> wrote:
> >>
> >> Hi,
> >>
> >> I just noticed that CLOUDSTACK-411 got resolved which is related to
> >> CLOUDSTACK-410
> >>
> >> * https://issues.apache.org/jira/browse/CLOUDSTACK-410
> >> * https://issues.apache.org/jira/browse/CLOUDSTACK-411
> >>
> >> Today I made this commit: 7240204a507cce8143c248e6aa635da6dad60ed0
> >>
> >> About 7 months ago I already fixed that the listen address for VNC
> >> would be set to the private IP of the hypervisor so that you don't
> >> have to specify vnc_listen in qemu.conf
> >>
> >> With vnc listening on 0.0.0.0 you have a potential security issue
> >> since you need a firewall to prevent the whole world connecting to your
> VNC.
> >>
> >>     <graphics type='vnc' port='5907' autoport='yes' listen='10.4.0.67'>
> >>       <listen type='address' address='10.4.0.67'/>
> >>     </graphics>
> >>
> >> That's how the XML definition looks like.
> >>
> >> With commit 7240204a507cce8143c248e6aa635da6dad60ed0 this works
> >> again, but
> >> 30 minutes later I figured out that migrations brake due to this, dôh!
> >>
> >> On the other hypervisor that private IP isn't available for binding,
> >> so Qemu won't start...
> >>
> >> Instead of reverting the commit I'm now working on changing the XML
> >> during migration. libvirt supports this, but libvirt-java doesn't.
> >>
> >> I have a bunch of patches still ready for libvirt-java. Together with
> >> those patches I'll submit this to the libvirt guys next week.
> >>
> >> The method in libvirt-java will be:
> >>
> >> migrate(Connect dconn, long flags, String dxml, String dname, String
> >> uri, long bandwidth)
> >>
> >> dxml: (optional) XML config for launching guest on target
> >>
> >> In LibvirtComputingResource I'll generate a new XML with the private
> >> IP of the new hypervisor and pass that on to the migrate method.
> >>
> >> For the 4.1 release libvirt-java 0.5.0 should be out and this should
> >> then work.
> >>
> >> No more need for setting vnc_listen in qemu.conf and no potential
> >> security leak of having VNC listening world-wide (assuming your
> >> hypervisor has a public IP).
> >>
> >> Just wanted to let you know what I'm working on.
> >>
> >> Wido

Reply via email to