add nodeinfo, rename dinfo to dominfo, fix libvirt.h typo

This commit is contained in:
Karel Zak 2006-04-04 14:37:32 +00:00
parent 831f910e50
commit f7e40ae879
8 changed files with 54 additions and 12 deletions

View File

@ -1,3 +1,10 @@
Tue Apr 4 12:41:53 CEST 2006 Karel Zak <kzak@redhat.com>
* src/virsh.c: add new command "nodeinfo"
* include/libvirt.h.in: fix typo (virNodeInfo.memory is in kB)
* docs/FAQ.html docs/libvir.html src/virsh.c: rename command
"dinfo" to "dominfo"
Mon Apr 3 14:46:39 EDT 2006 Daniel Veillard <veillard@redhat.com>
* include/libvirt.h[.in] src/driver.h src/libvirt.c

View File

@ -36,7 +36,7 @@
<li><em>Failure to use the API for non-root users</em>
<p>Large parts of the API may only be accessible with root priviledges,
however the read only access to the xenstore data doesnot have to be
forbidden to user, at least for monitoring purposes. If "virsh dinfo"
forbidden to user, at least for monitoring purposes. If "virsh dominfo"
fails to run as an user, change the mode of the xenstore read-only socket
with:</p>
<p><code>chmod 666 /var/run/xenstored/socket_ro</code></p>

View File

@ -567,7 +567,7 @@ containing the same field as a virError in C, but cast to Python.</p>
<li><em>Failure to use the API for non-root users</em>
<p>Large parts of the API may only be accessible with root priviledges,
however the read only access to the xenstore data doesnot have to be
forbidden to user, at least for monitoring purposes. If "virsh dinfo"
forbidden to user, at least for monitoring purposes. If "virsh dominfo"
fails to run as an user, change the mode of the xenstore read-only socket
with:</p>
<p><code>chmod 666 /var/run/xenstored/socket_ro</code></p>

View File

@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo;
struct _virNodeInfo {
char model[32]; /* string indicating the CPU model */
unsigned long memory;/* memory size in megabytes */
unsigned long memory;/* memory size in kilobytes */
unsigned int cpus; /* the number of active CPUs */
unsigned int mhz; /* expected CPU frequency */
unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */

View File

@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo;
struct _virNodeInfo {
char model[32]; /* string indicating the CPU model */
unsigned long memory;/* memory size in megabytes */
unsigned long memory;/* memory size in kilobytes */
unsigned int cpus; /* the number of active CPUs */
unsigned int mhz; /* expected CPU frequency */
unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */

View File

@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo;
struct _virNodeInfo {
char model[32]; /* string indicating the CPU model */
unsigned long memory;/* memory size in megabytes */
unsigned long memory;/* memory size in kilobytes */
unsigned int cpus; /* the number of active CPUs */
unsigned int mhz; /* expected CPU frequency */
unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */

View File

@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo;
struct _virNodeInfo {
char model[32]; /* string indicating the CPU model */
unsigned long memory;/* memory size in megabytes */
unsigned long memory;/* memory size in kilobytes */
unsigned int cpus; /* the number of active CPUs */
unsigned int mhz; /* expected CPU frequency */
unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */

View File

@ -714,22 +714,22 @@ cmdDestroy(vshControl * ctl, vshCmd * cmd)
}
/*
* "dinfo" command
* "dominfo" command
*/
static vshCmdInfo info_dinfo[] = {
{"syntax", "dinfo <domain>"},
static vshCmdInfo info_dominfo[] = {
{"syntax", "dominfo <domain>"},
{"help", "domain information"},
{"desc", "Returns basic information about the domain."},
{NULL, NULL}
};
static vshCmdOptDef opts_dinfo[] = {
static vshCmdOptDef opts_dominfo[] = {
{"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id"},
{NULL, 0, 0, NULL}
};
static int
cmdDinfo(vshControl * ctl, vshCmd * cmd)
cmdDominfo(vshControl * ctl, vshCmd * cmd)
{
virDomainInfo info;
virDomainPtr dom;
@ -777,6 +777,40 @@ cmdDinfo(vshControl * ctl, vshCmd * cmd)
return ret;
}
/*
* "nodeinfo" command
*/
static vshCmdInfo info_nodeinfo[] = {
{"syntax", "nodeinfo"},
{"help", "node information"},
{"desc", "Returns basic information about the node."},
{NULL, NULL}
};
static int
cmdNodeinfo(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
{
virNodeInfo info;
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
return FALSE;
if (virNodeGetInfo(ctl->conn, &info) < 0) {
vshError(ctl, FALSE, "failed to get node information");
return FALSE;
}
vshPrint(ctl, VSH_MESG, "%-20s %s\n", "CPU model:", info.model);
vshPrint(ctl, VSH_MESG, "%-20s %d\n", "CPU(s):", info.cpus);
vshPrint(ctl, VSH_MESG, "%-20s %d MHz\n", "CPU frequency:", info.mhz);
vshPrint(ctl, VSH_MESG, "%-20s %d\n", "CPU socket(s):", info.sockets);
vshPrint(ctl, VSH_MESG, "%-20s %d\n", "Core(s) per socket:", info.cores);
vshPrint(ctl, VSH_MESG, "%-20s %d\n", "Thread(s) per core:", info.threads);
vshPrint(ctl, VSH_MESG, "%-20s %d\n", "NUMA cell(s):", info.nodes);
vshPrint(ctl, VSH_MESG, "%-20s %lu kB\n", "Memory size:", info.memory);
return TRUE;
}
/*
* "dumpxml" command
*/
@ -992,7 +1026,8 @@ cmdQuit(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
static vshCmdDef commands[] = {
{"connect", cmdConnect, opts_connect, info_connect},
{"create", cmdCreate, opts_create, info_create},
{"dinfo", cmdDinfo, opts_dinfo, info_dinfo},
{"dominfo", cmdDominfo, opts_dominfo, info_dominfo},
{"nodeinfo", cmdNodeinfo, NULL, info_nodeinfo},
{"dumpxml", cmdDumpXML, opts_dumpxml, info_dumpxml},
{"dstate", cmdDstate, opts_dstate, info_dstate},
{"suspend", cmdSuspend, opts_suspend, info_suspend},