[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events |
Date: |
Mon, 14 Jun 2010 11:36:04 -0300 |
On Sat, 12 Jun 2010 13:20:54 +0200
Juan Quintela <address@hidden> wrote:
> Luiz Capitulino <address@hidden> wrote:
> > On Fri, 11 Jun 2010 09:38:42 -0500
> > Anthony Liguori <address@hidden> wrote:
> >
> >> > 1. QMP only returns the response when the command is finished, eg:
> >> >
> >> > C: { "execute": "migrate", "id": "foo" ... }
> >> > /* nothing is returned, other commands are issued, after several
> >> > hours... */
> >> > S: { "return": ... "id": "foo" }
> >> >
> >>
> >> This is how just about every RPC mechanism works...
> >
> > Let's go for it then.
> >
> >> >> - MIGRATION_STARTED: somebody started a migration, it is emited on
> >> >> source and target, all monitors receive this event.
> >> >>
> >> > The client has started the migration, it knows it. Why is the event
> >> > needed?
> >> >
> >>
> >> I think we've more or less agreed that MIGRATION_CONNECTED is really the
> >> event we want.
> >
> > Is it useful in the source or in the target?
>
> Both.
What does it report in the source?
> >> >> - MIGRATION_ENDED: migration ended with sucess, all needed data is in
> >> >> target machine. Also emitted in all monitors on source and target.
> >> >>
> >> >> - MIGRATION_CANCELED: in one of the source monitors somebody typed:
> >> >> migrate_cancel. It is only emmited on the source monitors, target
> >> >> monitors will receive a MIGRATION_FAILED event.
> >> >>
> >> >> - MIGRATION_FAILED (with this error). At this point we don't have
> >> >> neither the QMP infraestructure for sending (with this error) nor
> >> >> migration infrastructure to put there anything different than -1.
> >> >>
> >> > Aren't all the three events above duplicating the async response?
> >> >
> >>
> >> Yes. Today, we should just generate a MIGRATION_DONE event and let a
> >> client poll for failure status.
> >
> > [...]
> >
> >> MIGRATION_DONE gets deprecated for 0.14.
> >
> > Yeah, this removes the need for polling in 0.13, but I was wondering if
> > it's worth it. If I'm not mistaken, libvirt does the polling when working
> > with the text Monitor and I believe it's not a big deal to keep it until
> > 0.14.
>
> It makes things slower for no good reason.
>
> This reasoning is sneaky at least:
> - qemu didn't give interfaces to libvirt for do what libvirt wanted
> - libvirt uses workarounds
> - qemu tells libvirt that they are using workarounds that they shouldn't
> - libvirt tells qemu why they need the new interface
> - qemu tells libvirt that they could continue to use its workarounds.
>
> I am losing something? The whole point of live migration is that they
> need to be as fast as possible. For some scenaries (shared storage with
> funny locking) libvirt needs to move from shared locks to normal locks
> as far as migration ends on target. We are telling them to do
> workarounds becauese qemu don't want to tell libvirt on destination when
> migration has ended.
>
> Why can't we just tell them that migration has ended with success as
> fast as possible?
>
> I can't understand what I am missing here. I can't believe that
> libvirt(management app in general) could came with a simple request that
> would make its live better. And to make things worse, it is _trivial_
> to implement, semantics are clear, has other uses, .....
I'd be ok in having the done event if the polling is shown to be that
problematic, but from some private talks I had with libvirt guys it seemed
to me that it's more like a wish have.
For us, having this event means that we'll have to carry it for (at least)
several releases. I really would like to avoid adding one-time workarounds
in a stable interface like QMP.
- Re: [Qemu-devel] [PATCH v3 0/5] Add QMP migration events, (continued)
- Re: [Qemu-devel] [PATCH v3 0/5] Add QMP migration events, Yoshiaki Tamura, 2010/06/09
- Re: [Qemu-devel] [PATCH v3 0/5] Add QMP migration events, Luiz Capitulino, 2010/06/09
- Re: [Qemu-devel] [PATCH v3 0/5] Add QMP migration events, Yoshiaki Tamura, 2010/06/09
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Juan Quintela, 2010/06/10
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Luiz Capitulino, 2010/06/11
- Re: [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Anthony Liguori, 2010/06/11
- Re: [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Luiz Capitulino, 2010/06/11
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Juan Quintela, 2010/06/12
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events,
Luiz Capitulino <=
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Juan Quintela, 2010/06/14
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Juan Quintela, 2010/06/12
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Anthony Liguori, 2010/06/14
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Luiz Capitulino, 2010/06/14
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Anthony Liguori, 2010/06/14
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Luiz Capitulino, 2010/06/14
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Juan Quintela, 2010/06/12
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Anthony Liguori, 2010/06/14
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Juan Quintela, 2010/06/14
- [Qemu-devel] Re: [PATCH v3 0/5] Add QMP migration events, Anthony Liguori, 2010/06/14