]> xenbits.xensource.com Git - libvirt.git/commitdiff
virsh: Add domhostname
authorGuido Günther <agx@sigxcpu.org>
Tue, 10 Jul 2012 10:45:30 +0000 (12:45 +0200)
committerGuido Günther <agx@sigxcpu.org>
Fri, 20 Jul 2012 19:54:35 +0000 (21:54 +0200)
to query the guest's hostname.

tools/virsh.c
tools/virsh.pod

index b9e159b34aa768f654ba01a00f32231140658b90..6bb0fc8a99df357c5fa88ed3f53b44c836b59f92 100644 (file)
@@ -14132,6 +14132,49 @@ cmdTTYConsole(vshControl *ctl, const vshCmd *cmd)
     return ret;
 }
 
+/*
+ * "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
  */
@@ -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},
index 4bddf15fff0c427c2702fa1832e4298f2a9029a2..b4a3d5c89571a9dbbda81c59a7ef3c1ad8790950 100644 (file)
@@ -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, if the hypervisor makes it available.
+
 =item B<dominfo> I<domain-id>
 
 Returns basic information about the domain.