mirror of
https://gitlab.com/qemu-project/qemu.git
synced 2024-12-06 06:00:22 +03:00
spice: move client_migrate_info command to ui/
It has nothing to do with migration, except for the "migrate" in the name of the command. Move it with the rest of the ui commands. Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
c938157713
commit
f9e1ef7482
@ -636,23 +636,6 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
|
||||
hmp_handle_error(mon, err);
|
||||
}
|
||||
|
||||
void hmp_client_migrate_info(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
Error *err = NULL;
|
||||
const char *protocol = qdict_get_str(qdict, "protocol");
|
||||
const char *hostname = qdict_get_str(qdict, "hostname");
|
||||
bool has_port = qdict_haskey(qdict, "port");
|
||||
int port = qdict_get_try_int(qdict, "port", -1);
|
||||
bool has_tls_port = qdict_haskey(qdict, "tls-port");
|
||||
int tls_port = qdict_get_try_int(qdict, "tls-port", -1);
|
||||
const char *cert_subject = qdict_get_try_str(qdict, "cert-subject");
|
||||
|
||||
qmp_client_migrate_info(protocol, hostname,
|
||||
has_port, port, has_tls_port, tls_port,
|
||||
cert_subject, &err);
|
||||
hmp_handle_error(mon, err);
|
||||
}
|
||||
|
||||
void hmp_migrate_start_postcopy(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
Error *err = NULL;
|
||||
|
@ -63,7 +63,6 @@
|
||||
#include "sysemu/cpus.h"
|
||||
#include "yank_functions.h"
|
||||
#include "sysemu/qtest.h"
|
||||
#include "ui/qemu-spice.h"
|
||||
|
||||
#define MAX_THROTTLE (128 << 20) /* Migration transfer speed throttling */
|
||||
|
||||
@ -1018,35 +1017,6 @@ MigrationParameters *qmp_query_migrate_parameters(Error **errp)
|
||||
return params;
|
||||
}
|
||||
|
||||
void qmp_client_migrate_info(const char *protocol, const char *hostname,
|
||||
bool has_port, int64_t port,
|
||||
bool has_tls_port, int64_t tls_port,
|
||||
const char *cert_subject,
|
||||
Error **errp)
|
||||
{
|
||||
if (strcmp(protocol, "spice") == 0) {
|
||||
if (!qemu_using_spice(errp)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!has_port && !has_tls_port) {
|
||||
error_setg(errp, QERR_MISSING_PARAMETER, "port/tls-port");
|
||||
return;
|
||||
}
|
||||
|
||||
if (qemu_spice.migrate_info(hostname,
|
||||
has_port ? port : -1,
|
||||
has_tls_port ? tls_port : -1,
|
||||
cert_subject)) {
|
||||
error_setg(errp, "Could not set up display for migration");
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "protocol", "'spice'");
|
||||
}
|
||||
|
||||
AnnounceParameters *migrate_announce_params(void)
|
||||
{
|
||||
static AnnounceParameters ap;
|
||||
|
@ -1203,34 +1203,6 @@
|
||||
{ 'command': 'query-migrate-parameters',
|
||||
'returns': 'MigrationParameters' }
|
||||
|
||||
##
|
||||
# @client_migrate_info:
|
||||
#
|
||||
# Set migration information for remote display. This makes the server
|
||||
# ask the client to automatically reconnect using the new parameters
|
||||
# once migration finished successfully. Only implemented for SPICE.
|
||||
#
|
||||
# @protocol: must be "spice"
|
||||
# @hostname: migration target hostname
|
||||
# @port: spice tcp port for plaintext channels
|
||||
# @tls-port: spice tcp port for tls-secured channels
|
||||
# @cert-subject: server certificate subject
|
||||
#
|
||||
# Since: 0.14
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# -> { "execute": "client_migrate_info",
|
||||
# "arguments": { "protocol": "spice",
|
||||
# "hostname": "virt42.lab.kraxel.org",
|
||||
# "port": 1234 } }
|
||||
# <- { "return": {} }
|
||||
#
|
||||
##
|
||||
{ 'command': 'client_migrate_info',
|
||||
'data': { 'protocol': 'str', 'hostname': 'str', '*port': 'int',
|
||||
'*tls-port': 'int', '*cert-subject': 'str' } }
|
||||
|
||||
##
|
||||
# @migrate-start-postcopy:
|
||||
#
|
||||
|
28
qapi/ui.json
28
qapi/ui.json
@ -1554,3 +1554,31 @@
|
||||
{ 'command': 'display-update',
|
||||
'data': 'DisplayUpdateOptions',
|
||||
'boxed' : true }
|
||||
|
||||
##
|
||||
# @client_migrate_info:
|
||||
#
|
||||
# Set migration information for remote display. This makes the server
|
||||
# ask the client to automatically reconnect using the new parameters
|
||||
# once migration finished successfully. Only implemented for SPICE.
|
||||
#
|
||||
# @protocol: must be "spice"
|
||||
# @hostname: migration target hostname
|
||||
# @port: spice tcp port for plaintext channels
|
||||
# @tls-port: spice tcp port for tls-secured channels
|
||||
# @cert-subject: server certificate subject
|
||||
#
|
||||
# Since: 0.14
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# -> { "execute": "client_migrate_info",
|
||||
# "arguments": { "protocol": "spice",
|
||||
# "hostname": "virt42.lab.kraxel.org",
|
||||
# "port": 1234 } }
|
||||
# <- { "return": {} }
|
||||
#
|
||||
##
|
||||
{ 'command': 'client_migrate_info',
|
||||
'data': { 'protocol': 'str', 'hostname': 'str', '*port': 'int',
|
||||
'*tls-port': 'int', '*cert-subject': 'str' } }
|
||||
|
@ -458,3 +458,20 @@ hmp_screendump(Monitor *mon, const QDict *qdict)
|
||||
end:
|
||||
hmp_handle_error(mon, err);
|
||||
}
|
||||
|
||||
void hmp_client_migrate_info(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
Error *err = NULL;
|
||||
const char *protocol = qdict_get_str(qdict, "protocol");
|
||||
const char *hostname = qdict_get_str(qdict, "hostname");
|
||||
bool has_port = qdict_haskey(qdict, "port");
|
||||
int port = qdict_get_try_int(qdict, "port", -1);
|
||||
bool has_tls_port = qdict_haskey(qdict, "tls-port");
|
||||
int tls_port = qdict_get_try_int(qdict, "tls-port", -1);
|
||||
const char *cert_subject = qdict_get_try_str(qdict, "cert-subject");
|
||||
|
||||
qmp_client_migrate_info(protocol, hostname,
|
||||
has_port, port, has_tls_port, tls_port,
|
||||
cert_subject, &err);
|
||||
hmp_handle_error(mon, err);
|
||||
}
|
||||
|
@ -175,3 +175,32 @@ void qmp_display_update(DisplayUpdateOptions *arg, Error **errp)
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
void qmp_client_migrate_info(const char *protocol, const char *hostname,
|
||||
bool has_port, int64_t port,
|
||||
bool has_tls_port, int64_t tls_port,
|
||||
const char *cert_subject,
|
||||
Error **errp)
|
||||
{
|
||||
if (strcmp(protocol, "spice") == 0) {
|
||||
if (!qemu_using_spice(errp)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!has_port && !has_tls_port) {
|
||||
error_setg(errp, QERR_MISSING_PARAMETER, "port/tls-port");
|
||||
return;
|
||||
}
|
||||
|
||||
if (qemu_spice.migrate_info(hostname,
|
||||
has_port ? port : -1,
|
||||
has_tls_port ? tls_port : -1,
|
||||
cert_subject)) {
|
||||
error_setg(errp, "Could not set up display for migration");
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "protocol", "'spice'");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user