Ping > On Apr 4, 2017, at 8:46 AM, Vinzenz 'evilissimo' Feenstra > <vfeen...@redhat.com> wrote: > > From: Vinzenz Feenstra <vfeen...@redhat.com> > > 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 <vfeen...@redhat.com> > --- > qga/commands.c | 11 +++++++++++ > qga/qapi-schema.json | 29 +++++++++++++++++++++++++++++ > 2 files changed, 40 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..b9f99ae 100644 > --- a/qga/qapi-schema.json > +++ b/qga/qapi-schema.json > @@ -1042,3 +1042,32 @@ > '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.9.3 >
-- Vinzenz Feenstra Senior Software Developer Red Hat Czech