[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 5/8] qga: Add 'guest-get-host-name' command
From: |
Michael Roth |
Subject: |
[Qemu-devel] [PULL v2 5/8] qga: Add 'guest-get-host-name' command |
Date: |
Thu, 27 Apr 2017 00:46:33 -0500 |
From: Vinzenz Feenstra <address@hidden>
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 <address@hidden>
* minor whitespace fix-ups
Signed-off-by: Michael Roth <address@hidden>
---
qga/commands.c | 11 +++++++++++
qga/qapi-schema.json | 26 ++++++++++++++++++++++++++
2 files changed, 37 insertions(+)
diff --git a/qga/commands.c b/qga/commands.c
index 4d92946..57a31bb 100644
--- a/qga/commands.c
+++ b/qga/commands.c
@@ -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;
+}
diff --git a/qga/qapi-schema.json b/qga/qapi-schema.json
index a02dbf2..6307ae2 100644
--- a/qga/qapi-schema.json
+++ b/qga/qapi-schema.json
@@ -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' }
--
2.7.4
- [Qemu-devel] [PULL v2 0/8] qemu-ga patch queue, Michael Roth, 2017/04/27
- [Qemu-devel] [PULL v2 2/8] qga-win: Enable 'can-offline' field in 'guest-get-vcpus' reply, Michael Roth, 2017/04/27
- [Qemu-devel] [PULL v2 3/8] qga-win: Fix a bug where qemu-ga service is stuck during stop operation, Michael Roth, 2017/04/27
- [Qemu-devel] [PULL v2 7/8] qga: Add 'guest-get-users' command, Michael Roth, 2017/04/27
- [Qemu-devel] [PULL v2 6/8] qga: improve fsfreeze documentations, Michael Roth, 2017/04/27
- [Qemu-devel] [PULL v2 4/8] qga-win: Fix Event Viewer errors caused by qemu-ga, Michael Roth, 2017/04/27
- [Qemu-devel] [PULL v2 5/8] qga: Add 'guest-get-host-name' command,
Michael Roth <=
- [Qemu-devel] [PULL v2 1/8] qemu-ga: Make QGA VSS provider service run only when needed, Michael Roth, 2017/04/27
- [Qemu-devel] [PULL v2 8/8] qga: Add `guest-get-timezone` command, Michael Roth, 2017/04/27
- Re: [Qemu-devel] [PULL v2 0/8] qemu-ga patch queue, Stefan Hajnoczi, 2017/04/28