qga: Add 'guest-get-host-name' command

Retrieving the guest host name is a very useful feature for virtual management
systems. This information can help to have more user friendly VM access
details, instead of an IP there would be the host name. Also the host name
reported can be used to have automated checks for valid SSL certificates.

virsh # qemu-agent-command F25 '{ "execute": "guest-get-host-name" }'
{"return":{"host-name":"F25.lab.evilissimo.net"}}

Signed-off-by: Vinzenz Feenstra <vfeenstr@redhat.com>
* minor whitespace fix-ups
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
Vinzenz Feenstra 2017-04-04 08:46:31 +02:00 committed by Michael Roth
parent 1529605337
commit 0a3d197a71
2 changed files with 37 additions and 0 deletions

View File

@ -499,3 +499,14 @@ int ga_parse_whence(GuestFileWhence *whence, Error **errp)
error_setg(errp, "invalid whence code %"PRId64, whence->u.value);
return -1;
}
GuestHostName *qmp_guest_get_host_name(Error **err)
{
GuestHostName *result = NULL;
gchar const *hostname = g_get_host_name();
if (hostname != NULL) {
result = g_new0(GuestHostName, 1);
result->host_name = g_strdup(hostname);
}
return result;
}

View File

@ -1042,3 +1042,29 @@
'data': { 'path': 'str', '*arg': ['str'], '*env': ['str'],
'*input-data': 'str', '*capture-output': 'bool' },
'returns': 'GuestExec' }
##
# @GuestHostName:
# @host-name: Fully qualified domain name of the guest OS
#
# Since: 2.10
##
{ 'struct': 'GuestHostName',
'data': { 'host-name': 'str' } }
##
# @guest-get-host-name:
#
# Return a name for the machine.
#
# The returned name is not necessarily a fully-qualified domain name, or even
# present in DNS or some other name service at all. It need not even be unique
# on your local network or site, but usually it is.
#
# Returns: the host name of the machine on success
#
# Since: 2.10
##
{ 'command': 'guest-get-host-name',
'returns': 'GuestHostName' }