提交 f7e40ae8 编写于 作者: K Karel Zak

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

上级 831f910e
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> Mon Apr 3 14:46:39 EDT 2006 Daniel Veillard <veillard@redhat.com>
* include/libvirt.h[.in] src/driver.h src/libvirt.c * include/libvirt.h[.in] src/driver.h src/libvirt.c
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<li><em>Failure to use the API for non-root users</em> <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, <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 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 fails to run as an user, change the mode of the xenstore read-only socket
with:</p> with:</p>
<p><code>chmod 666 /var/run/xenstored/socket_ro</code></p> <p><code>chmod 666 /var/run/xenstored/socket_ro</code></p>
......
...@@ -567,7 +567,7 @@ containing the same field as a virError in C, but cast to Python.</p> ...@@ -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> <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, <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 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 fails to run as an user, change the mode of the xenstore read-only socket
with:</p> with:</p>
<p><code>chmod 666 /var/run/xenstored/socket_ro</code></p> <p><code>chmod 666 /var/run/xenstored/socket_ro</code></p>
......
...@@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo; ...@@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo;
struct _virNodeInfo { struct _virNodeInfo {
char model[32]; /* string indicating the CPU model */ 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 cpus; /* the number of active CPUs */
unsigned int mhz; /* expected CPU frequency */ unsigned int mhz; /* expected CPU frequency */
unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */ unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */
......
...@@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo; ...@@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo;
struct _virNodeInfo { struct _virNodeInfo {
char model[32]; /* string indicating the CPU model */ 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 cpus; /* the number of active CPUs */
unsigned int mhz; /* expected CPU frequency */ unsigned int mhz; /* expected CPU frequency */
unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */ unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */
......
...@@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo; ...@@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo;
struct _virNodeInfo { struct _virNodeInfo {
char model[32]; /* string indicating the CPU model */ 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 cpus; /* the number of active CPUs */
unsigned int mhz; /* expected CPU frequency */ unsigned int mhz; /* expected CPU frequency */
unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */ unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */
......
...@@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo; ...@@ -158,7 +158,7 @@ typedef struct _virNodeInfo virNodeInfo;
struct _virNodeInfo { struct _virNodeInfo {
char model[32]; /* string indicating the CPU model */ 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 cpus; /* the number of active CPUs */
unsigned int mhz; /* expected CPU frequency */ unsigned int mhz; /* expected CPU frequency */
unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */ unsigned int nodes; /* the number of NUMA cell, 1 for uniform mem access */
......
...@@ -714,22 +714,22 @@ cmdDestroy(vshControl * ctl, vshCmd * cmd) ...@@ -714,22 +714,22 @@ cmdDestroy(vshControl * ctl, vshCmd * cmd)
} }
/* /*
* "dinfo" command * "dominfo" command
*/ */
static vshCmdInfo info_dinfo[] = { static vshCmdInfo info_dominfo[] = {
{"syntax", "dinfo <domain>"}, {"syntax", "dominfo <domain>"},
{"help", "domain information"}, {"help", "domain information"},
{"desc", "Returns basic information about the domain."}, {"desc", "Returns basic information about the domain."},
{NULL, NULL} {NULL, NULL}
}; };
static vshCmdOptDef opts_dinfo[] = { static vshCmdOptDef opts_dominfo[] = {
{"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id"}, {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id"},
{NULL, 0, 0, NULL} {NULL, 0, 0, NULL}
}; };
static int static int
cmdDinfo(vshControl * ctl, vshCmd * cmd) cmdDominfo(vshControl * ctl, vshCmd * cmd)
{ {
virDomainInfo info; virDomainInfo info;
virDomainPtr dom; virDomainPtr dom;
...@@ -777,6 +777,40 @@ cmdDinfo(vshControl * ctl, vshCmd * cmd) ...@@ -777,6 +777,40 @@ cmdDinfo(vshControl * ctl, vshCmd * cmd)
return ret; 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 * "dumpxml" command
*/ */
...@@ -992,7 +1026,8 @@ cmdQuit(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED) ...@@ -992,7 +1026,8 @@ cmdQuit(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
static vshCmdDef commands[] = { static vshCmdDef commands[] = {
{"connect", cmdConnect, opts_connect, info_connect}, {"connect", cmdConnect, opts_connect, info_connect},
{"create", cmdCreate, opts_create, info_create}, {"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}, {"dumpxml", cmdDumpXML, opts_dumpxml, info_dumpxml},
{"dstate", cmdDstate, opts_dstate, info_dstate}, {"dstate", cmdDstate, opts_dstate, info_dstate},
{"suspend", cmdSuspend, opts_suspend, info_suspend}, {"suspend", cmdSuspend, opts_suspend, info_suspend},
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册