[libvirt] [PATCH 2/5] virsh: Add domhostname

Guido Günther agx at sigxcpu.org
Tue Jul 10 20:46:01 UTC 2012


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 85b1185..591a1ce 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -14131,6 +14131,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[] = {
@@ -18169,6 +18212,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 93fdac7..93ced24 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




More information about the libvir-list mailing list