monitor: Improve and document client_migrate_info protocol error

Protocol must be spice, vnc isn't implemented.  Fix up documentation.

Attempts to use vnc or any other unknown protocol yield the misleading
error message "Invalid parameter 'protocol'".  Improve it to
"Parameter 'protocol' expects spice".

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by. Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
Markus Armbruster 2015-03-05 19:16:58 +01:00
parent 84add864eb
commit 13cadefbda
3 changed files with 12 additions and 12 deletions

View File

@ -1011,7 +1011,7 @@ ETEXI
.name = "client_migrate_info", .name = "client_migrate_info",
.args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?", .args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?",
.params = "protocol hostname port tls-port cert-subject", .params = "protocol hostname port tls-port cert-subject",
.help = "send migration info to spice/vnc client", .help = "set migration information for remote display",
.user_print = monitor_user_noop, .user_print = monitor_user_noop,
.mhandler.cmd_new = client_migrate_info, .mhandler.cmd_new = client_migrate_info,
}, },
@ -1019,9 +1019,9 @@ ETEXI
STEXI STEXI
@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject} @item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject}
@findex client_migrate_info @findex client_migrate_info
Set the spice/vnc connection info for the migration target. The spice/vnc Set migration information for remote display. This makes the server
server will ask the spice/vnc client to automatically reconnect using the ask the client to automatically reconnect using the new parameters
new parameters (if specified) once the vm migration finished successfully. once migration finished successfully. Only implemented for SPICE.
ETEXI ETEXI
{ {

View File

@ -1063,7 +1063,7 @@ static int client_migrate_info(Monitor *mon, const QDict *qdict,
return 0; return 0;
} }
qerror_report(QERR_INVALID_PARAMETER, "protocol"); qerror_report(QERR_INVALID_PARAMETER_VALUE, "protocol", "spice");
return -1; return -1;
} }

View File

@ -784,23 +784,23 @@ EQMP
.name = "client_migrate_info", .name = "client_migrate_info",
.args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?", .args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?",
.params = "protocol hostname port tls-port cert-subject", .params = "protocol hostname port tls-port cert-subject",
.help = "send migration info to spice/vnc client", .help = "set migration information for remote display",
.mhandler.cmd_new = client_migrate_info, .mhandler.cmd_new = client_migrate_info,
}, },
SQMP SQMP
client_migrate_info client_migrate_info
------------------ -------------------
Set the spice/vnc connection info for the migration target. The spice/vnc Set migration information for remote display. This makes the server
server will ask the spice/vnc client to automatically reconnect using the ask the client to automatically reconnect using the new parameters
new parameters (if specified) once the vm migration finished successfully. once migration finished successfully. Only implemented for SPICE.
Arguments: Arguments:
- "protocol": protocol: "spice" or "vnc" (json-string) - "protocol": must be "spice" (json-string)
- "hostname": migration target hostname (json-string) - "hostname": migration target hostname (json-string)
- "port": spice/vnc tcp port for plaintext channels (json-int, optional) - "port": spice tcp port for plaintext channels (json-int, optional)
- "tls-port": spice tcp port for tls-secured channels (json-int, optional) - "tls-port": spice tcp port for tls-secured channels (json-int, optional)
- "cert-subject": server certificate subject (json-string, optional) - "cert-subject": server certificate subject (json-string, optional)