to query the guest's hostname. --- tools/virsh.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ tools/virsh.pod | 4 ++++ 2 files changed, 48 insertions(+) diff --git a/tools/virsh.c b/tools/virsh.c index f9fe4b1..7c20202 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -14133,6 +14133,49 @@ cmdTTYConsole(vshControl *ctl, const vshCmd *cmd) } /* + * "domhostname" command + */ +static const vshCmdInfo info_domhostname[] = { + {"help", N_("print the domain's hostname")}, + {"desc", ""}, + {NULL, NULL} +}; + +static const vshCmdOptDef opts_domhostname[] = { + {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or uuid")}, + {NULL, 0, 0, NULL} +}; + +static bool +cmdDomHostname(vshControl *ctl, const vshCmd *cmd) +{ + char *hostname; + virDomainPtr dom; + bool ret = false; + + if (!vshConnectionUsability(ctl, ctl->conn)) + return false; + + if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) + return false; + + hostname = virDomainGetHostname(dom, 0); + if (hostname == NULL) { + vshError(ctl, "%s", _("failed to get hostname")); + goto error; + } + + vshPrint(ctl, "%s\n", hostname); + ret = true; + +error: + VIR_FREE(hostname); + virDomainFree(dom); + return ret; +} + + +/* * "attach-device" command */ static const vshCmdInfo info_attach_device[] = { @@ -18171,6 +18214,7 @@ static const vshCmdDef domManagementCmds[] = { {"detach-interface", cmdDetachInterface, opts_detach_interface, info_detach_interface, 0}, {"domdisplay", cmdDomDisplay, opts_domdisplay, info_domdisplay, 0}, + {"domhostname", cmdDomHostname, opts_domhostname, info_domhostname, 0}, {"domid", cmdDomid, opts_domid, info_domid, 0}, {"domif-setlink", cmdDomIfSetLink, opts_domif_setlink, info_domif_setlink, 0}, {"domiftune", cmdDomIftune, opts_domiftune, info_domiftune, 0}, diff --git a/tools/virsh.pod b/tools/virsh.pod index 4bddf15..dc318ef 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -826,6 +826,10 @@ Output a URI which can be used to connect to the graphical display of the domain via VNC, SPICE or RDP. If I<--include-password> is specified, the SPICE channel password will be included in the URI. +=item B<domhostname> I<domain-id> + +Returns the hostname of a domain. + =item B<dominfo> I<domain-id> Returns basic information about the domain. -- 1.7.10.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list