[libvirt] [PATCH 1/3] Fix error message when TUNNELLED flag is used in non-p2p migration

Jiri Denemark jdenemar at redhat.com
Thu May 22 14:12:31 UTC 2014


On Thu, May 22, 2014 at 15:56:57 +0200, Peter Krempa wrote:
> On 05/22/14 13:55, Jiri Denemark wrote:
> > The current error message is
> > 
> >     error: use virDomainMigrateToURI3 for peer-to-peer migration
> > 
> > which is correct but a bit misleading because the client did not specify
> > VIR_MIGRATE_PEER2PEER flag. This patch changes the error message to
> > 
> >     error: cannot perform tunnelled migration without using peer2peer
> >     flag
> > 
> > which is consistent with the error reported by older migration APIs.
> > 
> > Reported by Rich Jones in
> > https://bugzilla.redhat.com/show_bug.cgi?id=1095924
> > 
> > Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> > ---
> >  src/libvirt.c | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> > 
> > diff --git a/src/libvirt.c b/src/libvirt.c
> > index 19fa18b..72a9f6d 100644
> > --- a/src/libvirt.c
> > +++ b/src/libvirt.c
> > @@ -5723,12 +5723,18 @@ virDomainMigrate3(virDomainPtr domain,
> >                              __FUNCTION__);
> >          goto error;
> >      }
> > -    if (flags & (VIR_MIGRATE_PEER2PEER | VIR_MIGRATE_TUNNELLED)) {
> > +    if (flags & VIR_MIGRATE_PEER2PEER) {
> >          virReportInvalidArg(flags, "%s",
> >                              _("use virDomainMigrateToURI3 for peer-to-peer "
> >                                "migration"));
> >          goto error;
> >      }
> > +    if (flags & VIR_MIGRATE_TUNNELLED) {
> > +        virReportInvalidArg(flags, "%s",
> > +                            _("cannot perform tunnelled migration "
> > +                              "without using peer2peer flag"));
> 
> <bikeshed> This error message will incline the user to specifying the
> VIR_MIGRATE_PEER2PEER flag for this api, so that he receives the error
> above.
> 
> how about "use virDomainMigrateToURI3 and specify the
> VIR_MIGRATE_PEER2PEER flag for tunelled migration"
> 
> Not sure whether that will be more clear though.
> 
> </bikeshed>

Well, the API documentation says

  VIR_MIGRATE_TUNNELLED and VIR_MIGRATE_PEER2PEER are not supported by
  this API, use virDomainMigrateToURI3 instead.

so any direct user of this API should already call the right API. And
virsh users would just see the new error and once they add the peer2peer
flag, virsh will automatically use the correct API.

So I guess it's good enough :-)

Jirka




More information about the libvir-list mailing list