> On 16 Sep 2016, at 14:36, Michal Skrivanek <michal.skriva...@redhat.com> 
> wrote:
> 
> 
>> On 15 Sep 2016, at 21:46, Edward Haas <eh...@redhat.com 
>> <mailto:eh...@redhat.com>> wrote:
>> 
>> 
>> 
>> On Thu, Sep 15, 2016 at 1:30 PM, Michal Skrivanek 
>> <michal.skriva...@redhat.com <mailto:michal.skriva...@redhat.com>> wrote:
>> 
>> > On 15 Sep 2016, at 10:11, Dan Kenigsberg <dan...@redhat.com 
>> > <mailto:dan...@redhat.com>> wrote:
>> >
>> > On Wed, Sep 14, 2016 at 03:04:14PM +0200, Michal Skrivanek wrote:
>> >>
>> >>> On 09 Sep 2016, at 13:09, Edward Haas <eh...@redhat.com 
>> >>> <mailto:eh...@redhat.com>> wrote:
>> >>>
>> >>>
>> >>>
>> >>> On Thu, Sep 8, 2016 at 11:27 AM, Pavel Levshin <l...@581.spb.su 
>> >>> <mailto:l...@581.spb.su> <mailto:l...@581.spb.su 
>> >>> <mailto:l...@581.spb.su>>> wrote:
>> >>> Hi.
>> >>>
>> >>> I'm trying to learn Ovirt 4 and have a problem with it.
>> >>>
>> >>> My cluster consists of 3 nodes. I use Openvswitch for network 
>> >>> connectivity. I have a HostedEngine and one additional VM in the cluster.
>> >>>
>> >>> When I try to migrate the VM to another node, it fails. From vdsm and 
>> >>> libvirtd logs I see that proper network interface on destination node 
>> >>> cannot be found. Libvirt tries to find Openvswitch bridge with name like 
>> >>> "vdsmbr_AOYiPtcT". It exists on source node, but it is unique on every 
>> >>> node, because it contains random part. Additionally, it changes on every 
>> >>> reboot.
>> >>>
>> >>> How this is supposed to work?
>> >>>
>> >>> --
>> >>> Pavel Levshin
>> >>>
>> >>>
>> >>>
>> >>> Hi Pavel,
>> >>>
>> >>> VM migration is supported on the master branch, however it has not been 
>> >>> ported to 4.0 yet.
>> >>
>> >>> You can either build VDSM from source (from master branch) or try to 
>> >>> apply this patch on what you have:
>> >>> https://gerrit.ovirt.org/#/c/59645 <https://gerrit.ovirt.org/#/c/59645> 
>> >>> <https://gerrit.ovirt.org/#/c/59645 <https://gerrit.ovirt.org/#/c/59645>>
>> >>
>> >> That’s quite a horrible solution right now. I certainly would not like to 
>> >> see it in 4.0 (given the hacks around display).
>> 
>> What is horrible exactly?
>> It's not too late to propose other solutions.
> 
> if OVS is the next great feature it should fit into the code accordingly. 
> I.e. using hooks only when it’s absolutely necessary and as a temporary 
> measure only until the respective proper RFEs are implemented and available. 
> E.g. when there is a libvirt support missing we can add a qemu command line 
> parameter ourselves bypassing libvirt but we always should have a clear plan 
> (i.e. a bug) to move away from there as soon as the support is 
> there(requested back then when we went with the hack)
> 
> Such things should be reviewed as soon as we get to a similar area, so while 
> modifying libvirt-hook.sh we can see the original reason for the hook is not 
> valid anymore as everything is addressed and the hacky code should have been 
> removed
> It was easy to see that because there is a clear comment about dependent bugs 
> and issues (though missed by all the reviewers, unfortunately!)
> Your new code doesn’t have anything like that and I have no idea what kind of 
> API or behavior we actually need, whether appropriate requests has been filed 
> on e.g. libvirt. That makes it very hard to revisit in the future by the next 
> random person.
> 
>> 
>> Display uses libvirt to resolve a network name to an IP address for it to 
>> bound to. But that works only for linux bridges.
>> That is limiting, especially now that we do not have a Linux bridge, but 
>> something else.
> 
> that’s ok, whatever needs to be done. But then please make sure you’re not 
> breaking existing features, at least again not without a plan(==bug) to fix 
> it.
> 
>> 
>> >> Do we have a bug/plan to improve it?
>> >
>> > We have Bug 1362495 - [OVS] - Add support for live migration
>> > to track that.

oh, and yes, that’s exactly the tracking I wanted to make sure exists. There’s 
just no link in the gerrit commit itself so I didn’t find it (but I wasn’t 
really looking hard either;-)

Thanks,
michal

>> >
>> > I'm afraid that we are not yet ready to backport it to 4.0 - we found
>> > out that as it is, it break migration for vmfex and external network
>> > providers; it also breaks when a buggy Engine db does not send a
>> > displayNetwork. But we plan to fix these issues quite soon.
> 
> which “buggy” engine? There were changes in parameters, most of these issues 
> are not relevant anymore since we ditched <3.6 though.
> Again it’s ok as long as it is clearly mentioned like "3.6 engine sends it in 
> such and such parameter, we can drop it once we support 4.0+"
> 
>> >
>> > The hacks arround display are an actual imporovement. For "legacy"
>> > switchType, we maintain an on-host libvirt-side database of all networks
>> > only to keep libvirt happy. Having a database copy has all the known
>> > troubles of mismatches and being out of sync. For "ovs" switchType, we
>> > do not (we don't use a bridge, but a port group so there's no natural
>> > way to define our network in libvirt). Modifying the listening address
>> > on destination is the flexible and quick way to do it - I wish we had
>> > the libvirt migrate hook years ago.
>> 
>> doesn’t it prevent seamless virti-viewer console connection?
>> 
>> The end result is the same, we listen on the address of a specific network.
>> Previously it contained a network name and libvirt converted it to the 
>> correct IP it should bind to, now vdsm resolves it.
> 
> so did we request libvirt to be able to do that itself or requested an API to 
> do that cleanly without mangling xml on the fly?
> 
>> 
>> also the “TODO” in the code about multiple graphics is worrying (we fully 
>> support it and are considering to make it a default)
>> 
>> Supported where? virt networking code in VDSM which creates an interface for 
>> domxml does not support it at the moment.
>> Or am I missing something?
> 
> supported in oVirt. Multiple graphics VM is a regular oVirt feature. The hook 
> doesn’t handle it correctly hence I suppose the migration would not really 
> work correctly for these VMs.
> Again, that might be ok temporarily with a clear documentation and a plan to 
> fix it.
> 
>> 
>> If we have an idea of what API would work well? we should raise or 
>> contribute that to libvirt. Surely it takes time but it is the only way how 
>> to improve the code eventually.
>> 
>> If using libvirt can allow us to drop some persisted data and logic from 
>> vdsm, then it makes sense, but I do not think this is the case.
>> As it stands today, depending on libvirt persisted data is limiting us, at 
>> least in the networking area. I also do not see the advantage of using it as 
>> a DB.
> 
> I’m not saying you should depend on libvirt data. But you should let libvirt 
> community know if it is a useless feature, use a clean way how not to use 
> that feature(if it gets in your way), ideally discuss and propose how such a 
> feature can be improved so oVirt and all other virtualization projects can 
> benefit from that. If it’s a truly useless feature I’m sure libvirt would be 
> happy to drop maintaining it
> 
> Thanks,
> michal
> 
>> 
>> Thaks,
>> Edy.
>>  
>> 
>> Thanks,
>> michal
>> 
>> 
>> _______________________________________________
>> Users mailing list
>> Users@ovirt.org <mailto:Users@ovirt.org>
>> http://lists.ovirt.org/mailman/listinfo/users
> 
> _______________________________________________
> Users mailing list
> Users@ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users

_______________________________________________
Users mailing list
Users@ovirt.org
http://lists.ovirt.org/mailman/listinfo/users

Reply via email to