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(a)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