Hello community,
here is the log from the commit of package vhostmd for openSUSE:Factory
checked in at Sat Jul 4 13:18:43 CEST 2009.
--------
--- vhostmd/vhostmd.changes 2009-06-09 17:36:24.000000000 +0200
+++ /mounts/work_src_done/STABLE/vhostmd/vhostmd.changes 2009-07-01 00:11:45.000000000 +0200
@@ -1,0 +2,29 @@
+Mon Jun 29 16:42:39 MDT 2009 - jfehlig@novell.com
+
+- Validate XML returned by 'action' for metric type 'xml'
+- Do not convert metrics values internally in vhostmd. Treat
+ all metric values as strings and leave it to consumers to do
+ any conversion.
+
+-------------------------------------------------------------------
+Fri Jun 26 17:24:38 MDT 2009 - jfehlig@novell.com
+
+- Allow larger buffer for 'xml' type
+
+-------------------------------------------------------------------
+Thu Jun 25 22:24:27 MDT 2009 - jfehlig@novell.com
+
+- Add metric type 'XML'
+
+-------------------------------------------------------------------
+Fri Jun 19 14:19:19 MDT 2009 - jfehlig@novell.com
+
+- vhostmd is currently only used with Xen so make it
+ ExclusiveArch x86 and x86_64
+
+-------------------------------------------------------------------
+Mon Jun 15 14:47:42 MDT 2009 - jfehlig@novell.com
+
+- Truncate metrics disk on open
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vhostmd.spec ++++++
--- /var/tmp/diff_new_pack.B18185/_old 2009-07-04 13:18:05.000000000 +0200
+++ /var/tmp/diff_new_pack.B18185/_new 2009-07-04 13:18:05.000000000 +0200
@@ -19,11 +19,12 @@
Name: vhostmd
-License: LGPL v2.1 or later
+ExclusiveArch: %ix86 x86_64
+License: GPL
BuildRequires: libvirt-devel libxml2 libxml2-devel pkg-config xen-devel
-Summary: Virtual Host Metrics Daemon (vhostmd)
+Summary: Virtualization Host Metrics Daemon
Version: 0.2
-Release: 4
+Release: 5
Group: System/Daemons
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: coreutils, %insserv_prereq
@@ -31,51 +32,48 @@
Source0: vhostmd-%{version}.tar.bz2
%description
-vhostmd provides a "metrics communication channel" between a host and
+Daemon vhostmd provides a "metrics communication channel" between a host and
its hosted virtual machines, allowing limited introspection of host
-resource usage from within virtual machines
-
+resource usage from within virtual machines.
Authors:
--------
Jim Fehlig
- Pat Campbell
+ Pat Campbell
+
+
%package -n vm-dump-metrics
-License: LGPL v2.1 or later
-Summary: Virtual Host Metrics Daemon (vhostmd)
+License: GPL
+Summary: Virtualization Host Metrics Dump
Group: System/Monitoring
%description -n vm-dump-metrics
-vhostmd provides a "metrics communication channel" between a host and
-its hosted virtual machines, allowing limited introspection of host
-resource usage from within virtual machines
-
+Executable to dump all available virtualization host metrics to stdout
+or alternativly an argumented file.
Authors:
--------
Jim Fehlig
- Pat Campbell
+ Pat Campbell
+
%package -n vm-dump-metrics-devel
-License: LGPL v2.1 or later
-Summary: Virtual Host Metrics Daemon (vhostmd)
+License: GPL
+Summary: Virtualization Host Metrics Dump development
Group: Development/Libraries/C and C++
Requires: vhostmd-vm-dump-metrics* = %{version}
%description -n vm-dump-metrics-devel
-vhostmd provides a "metrics communication channel" between a host and
-its hosted virtual machines, allowing limited introspection of host
-resource usage from within virtual machines
-
+Header and libraries necessary for metrics gathering development
Authors:
--------
Jim Fehlig
- Pat Campbell
+ Pat Campbell
%prep
%setup
@@ -121,10 +119,13 @@
/usr/share/vhostmd/scripts/pagerate.pl
%config(noreplace) /etc/vhostmd/vhostmd.conf
%config /etc/vhostmd/vhostmd.dtd
+%config /etc/vhostmd/metric.dtd
/etc/init.d/vhostmd
/usr/share/doc/vhostmd/vhostmd.dtd
+/usr/share/doc/vhostmd/metric.dtd
/usr/share/doc/vhostmd/vhostmd.xml
/usr/share/doc/vhostmd/mdisk.xml
+/usr/share/doc/vhostmd/README
/usr/share/man/man8/vhostmd.8.gz
%files -n vm-dump-metrics
@@ -143,14 +144,3 @@
/usr/include/vhostmd/libmetrics.h
%changelog
-* Tue Jun 09 2009 jfehlig@novell.com
-- Change COPYING from GPL3 to LGPL2.1
-* Fri Jun 05 2009 jfehlig@novell.com
-- Explicitly name subpackages with -n
-* Thu Jun 04 2009 jfehlig@novell.com
-- Version 0.2
- - Updated documentation
- - Added group metric type
- - Added perl script for generating {PageIn,PageFault}Rate
-* Wed Jan 07 2009 plc@novell.com
-- Initial creation
++++++ vhostmd-0.2.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vhostmd-0.2/docs/man/vhostmd.8 new/vhostmd-0.2/docs/man/vhostmd.8
--- old/vhostmd-0.2/docs/man/vhostmd.8 2009-06-09 17:29:12.000000000 +0200
+++ new/vhostmd-0.2/docs/man/vhostmd.8 2009-06-30 01:49:48.000000000 +0200
@@ -51,7 +51,7 @@
</metric>
<metric type="string" context="host">
<name>VirtualizationVendor</name>
- <action>/bin/rpm -q --info xen | grep Vendor: | \
+ <action>/bin/rpm -q --info xen | grep Vendor: |
awk '{print substr($0, index($0,$5)) }'</action>
</metric>
<metric type="uint32" context="host">
@@ -90,37 +90,50 @@
</metric>
<metric type="real64" context="host">
<name>TotalCPUTime</name>
- <action>virsh dominfo 0 | sed 's/: */:/' | \
+ <action>virsh dominfo 0 | sed 's/: */:/' |
gawk -F: '/CPU time/ {print $2;}'</action>
</metric>
<metric type="real64" context="vm">
<name>TotalCPUTime</name>
- <action>virsh dominfo NAME | sed 's/: */:/' | \
+ <action>virsh dominfo NAME | sed 's/: */:/' |
gawk -F: '/CPU time/ {print $2;}'</action>
</metric>
+ <metric type="xml" context="vm">
+ <name>my-metric</name>
+ <action>xml-metrics-test.sh</action>
+ </metric>
</metrics>
</vhostmd>
-A valid configuration file must contain the root element 'vhostmd'.
-The 'globals' node contains configuration global to vhostmd, such as the
-metrics disk definition and the metrics refresh interval.
-
-The supplied vhostmd configuration file provides set of metrics to be
-collected, this can be extended or modified by user changes to the
-'metrics' node.
-
-Defined metrics begin with the 'metric' element, which contains two
-attributes: type and context. 'type' is used to describe the metric's
-value type. Supported types are 'int32', 'uint32', 'int64', 'uint64',
-'real32', 'real64', 'string' and 'group'. 'group' is used when an action
-returns more than one metric value. 'context' is used to indicate
-whether this is a host or vm metric. Supported contexts are 'host' and 'vm'.
-The 'name' element defines the metric's name and 'action' describes a
-command or pipeline of commands used to gather the metric. For metrics
-of vm context, the tokens NAME, ID, and UUID may be used where these
-attributes of a VM are normally provided. When the metric is sampled,
-these tokens will be substituted with the actual name, ID, or UUID of
-the vm currently under inspection.
+A valid configuration file must contain the root element <vhostmd>.
+The <globals> element contains configuration global to vhostmd, such as
+the metrics disk path and the metrics refresh interval. The <metrics>
+element is a container for all of the <metric> elements. A metric element
+is used to define a metric, giving it a name and an action that produces
+the metric value.
+
+The supplied vhostmd configuration file provides a useful set of default
+metrics to be collected. This can be extended or modified by editing
+/etc/vhostmd/vhostmd.conf and changing existing metric definitions or
+adding new metric definitions under the metrics container.
+
+Defined metrics begin with the <metric> element, which contains two
+attributes: type and context. The type attribute is used to describe the
+metric's value type. Supported types are int32, uint32, int64, uint64,
+real32, real64, string, group, and xml. group is used when an action returns
+more than one metric value. xml is the most flexible type and specifies that
+the metric's action returns valid metric XML. The context attribute is used
+to indicate whether this is a host or vm metric. Supported contexts are
+host and vm.
+
+Currently, the metric element contains 3 elements: name, action, and variable.
+The name element defines the metric's name. The action element describes a
+command or pipeline of commands used to gather the metric. For metrics of
+vm context, the tokens NAME, ID, and UUID may be used where these attributes
+of a VM are normally provided in a command. When the metric is sampled, these
+tokens will be substituted with the actual name, ID, or UUID of the vm currently
+being sampled by vhostmd. If the metric type is xml, action is expected to
+retrun valid metric XML as defined below in "XML Format of Content".
.SH Metrics Disk Format
@@ -188,12 +201,12 @@
<name>HostName</name>
<value>laptop</value>
</metric>
-
<metrics>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vhostmd-0.2/metric.dtd new/vhostmd-0.2/metric.dtd
--- old/vhostmd-0.2/metric.dtd 1970-01-01 01:00:00.000000000 +0100
+++ new/vhostmd-0.2/metric.dtd 2009-06-30 01:49:48.000000000 +0200
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+Copyright (C) 2009 Novell, Inc.
+
+Metric DTD
+
+-->
+
+<!ELEMENT metric (name,value)>
+
+<!ATTLIST metric
+ type (int32|uint32|int64|uint64|real32|real64|string) #REQUIRED
+ context (host|vm) #REQUIRED
+ id CDATA #IMPLIED
+ uuid CDATA #IMPLIED
+>
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT value (#PCDATA)>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vhostmd-0.2/README new/vhostmd-0.2/README
--- old/vhostmd-0.2/README 2009-06-09 17:29:12.000000000 +0200
+++ new/vhostmd-0.2/README 2009-06-30 01:49:48.000000000 +0200
@@ -29,8 +29,8 @@
Configuration File
------------------
-The default configuration file (listed below) defines a 256Kbyte metrics
-disk in /dev/shm/vhostmd/disk0, updated every 5 seconds. It also
+The default configuration file (example listed below) defines a 256Kbyte
+metrics disk in /dev/shm/vhostmd/disk0, updated every 5 seconds. It also
includes a few examples of user-defined metrics, which provide a
(currently simplistic) mechanism for extending metrics gathered by vhostmd.
@@ -98,29 +98,42 @@
<action>virsh dominfo NAME | sed 's/: */:/' | \
gawk -F: '/CPU time/ {print $2;}'</action>
</metric>
+ <metric type="xml" context="vm">
+ <name>my-metric</name>
+ <action>xml-metrics-test.sh</action>
+ </metric>
</metrics>
</vhostmd>
-A valid configuration file must contain the root element 'vhostmd'.
-The 'globals' node contains configuration global to vhostmd, such as the
-metrics disk definition and the metrics refresh interval.
-
-The supplied vhostmd configuration file provides set of metrics to be
-collected, this can be extended or modified by user changes to the
-'metrics' node.
-
-Defined metrics begin with the 'metric' element, which contains two
-attributes: type and context. 'type' is used to describe the metric's
-value type. Supported types are 'int32', 'uint32', 'int64', 'uint64',
-'real32', 'real64', 'string' and 'group'. 'group' is used when an action
-returns more than one metric value. 'context' is used to indicate
-whether this is a host or vm metric. Supported contexts are 'host' and 'vm'.
-The 'name' element defines the metric's name and 'action' describes a
-command or pipeline of commands used to gather the metric. For metrics
-of vm context, the tokens NAME, ID, and UUID may be used where these
-attributes of a VM are normally provided. When the metric is sampled,
-these tokens will be substituted with the actual name, ID, or UUID of
-the vm currently under inspection.
+A valid configuration file must contain the root element <vhostmd>.
+The <globals> element contains configuration global to vhostmd, such as
+the metrics disk path and the metrics refresh interval. The <metrics>
+element is a container for all of the <metric> elements. A metric element
+is used to define a metric, giving it a name and an action that produces
+the metric value.
+
+The supplied vhostmd configuration file provides a useful set of default
+metrics to be collected. This can be extended or modified by editing
+/etc/vhostmd/vhostmd.conf and changing existing metric definitions or
+adding new metric definitions under the metrics container.
+
+Defined metrics begin with the <metric> element, which contains two
+attributes: type and context. The type attribute is used to describe the
+metric's value type. Supported types are int32, uint32, int64, uint64,
+real32, real64, string, group, and xml. group is used when an action returns
+more than one metric value. xml is the most flexible type and specifies that
+the metric's action returns valid metric XML. The context attribute is used
+to indicate whether this is a host or vm metric. Supported contexts are
+host and vm.
+
+Currently, the metric element contains 3 elements: name, action, and variable.
+The name element defines the metric's name. The action element describes a
+command or pipeline of commands used to gather the metric. For metrics of
+vm context, the tokens NAME, ID, and UUID may be used where these attributes
+of a VM are normally provided in a command. When the metric is sampled, these
+tokens will be substituted with the actual name, ID, or UUID of the vm currently
+being sampled by vhostmd. If the metric type is xml, action is expected to
+retrun valid metric XML as defined below in "XML Format of Content".
Metrics Disk Format
@@ -147,7 +160,7 @@
The content is an XML document containing default and user-defined
metrics. The format is quite similar to the metrics definitions
found in the vhostmd configuration file. A notable addition, as
-illustrated below, is the value element containing the metric's
+illustrated below, is the <value> element containing the metric's
current value.
<metrics>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vhostmd-0.2/vhostmd/metric.c new/vhostmd-0.2/vhostmd/metric.c
--- old/vhostmd-0.2/vhostmd/metric.c 2009-06-09 17:29:12.000000000 +0200
+++ new/vhostmd-0.2/vhostmd/metric.c 2009-06-30 01:49:48.000000000 +0200
@@ -55,6 +55,96 @@
return 0;
}
+/*
+ * Verify XML contained in parameter xml is valid.
+ * Returns 1 is XML is valid, 0 otherwise.
+ */
+static int is_valid_metric_xml(char *xml)
+{
+ int ret = 0;
+ xmlDoc *xmldoc;
+ xmlDtdPtr dtd = NULL;
+ xmlValidCtxtPtr vcp = NULL;
+ int len = strlen(xml) + 1;
+
+ if ((xmldoc = xmlParseMemory(xml, len)) == NULL) {
+ vu_log(VHOSTMD_WARN, "%s(): Failed to parse metric XML", __FUNCTION__);
+ goto out;
+ }
+
+ if ((dtd = xmlParseDTD(NULL, BAD_CAST "/etc/vhostmd/metric.dtd" )) == NULL) {
+ vu_log(VHOSTMD_ERR, "%s(): Failed to parse metric DTD", __FUNCTION__);
+ goto out;
+ }
+
+ if ((vcp = xmlNewValidCtxt()) == NULL) {
+ vu_log(VHOSTMD_ERR, "%s(): Failed to allocate new validation context",
+ __FUNCTION__);
+ goto out;
+ }
+
+ if (!xmlValidateDtd(vcp, xmldoc, dtd)) {
+ vu_log(VHOSTMD_WARN, "%s(): Metric XML failed validation", __FUNCTION__);
+ goto out;
+ }
+
+ ret = 1;
+
+out:
+ if (vcp)
+ xmlFreeValidCtxt(vcp);
+ xmlFreeDoc(xmldoc);
+ return ret;
+}
+
+/*
+ * Metric type 'xml' can contain 1 or more <metric> nodes.
+ * Parse the value into discrete <metric> nodes, passing each
+ * node to is_valid_metric_xml() for validation.
+ * Returns 1 if all <metric> nodes are valid, 0 otherwise.
+ */
+static int validate_metric_xml_value(char *xml)
+{
+ char *start_element;
+ char *end_element;
+ char *temp;
+
+ start_element = strstr(xml, "type) {
- case M_INT32:
- if (asprintf(str, "%d", def->value.i32) == -1)
- return -1;
- break;
- case M_UINT32:
- if (asprintf(str, "%u", def->value.ui32) == -1)
- return -1;
- break;
- case M_INT64:
- if (asprintf(str, "%"PRId64, def->value.i64) == -1)
- return -1;
- break;
- case M_UINT64:
- if (asprintf(str, "%"PRIu64, def->value.ui64) == -1)
- return -1;
- break;
- case M_REAL32:
- if (asprintf(str, "%f", def->value.r32) == -1)
- return -1;
- break;
- case M_REAL64:
- if (asprintf(str, "%lf", def->value.r64) == -1)
- return -1;
- break;
- case M_STRING:
- if ((*str = strdup(def->value.str)) == NULL)
- return -1;
- break;
- case M_GROUP:
- if ((*str = strdup(def->value.str)) == NULL)
- return -1;
- break;
- default:
- return -1;
- }
-
- return 0;
-}
-
-
int metric_value_get(metric *m)
{
FILE *fp = NULL;
int ret = -1;
+ size_t len;
if (m->pf) {
ret = m->pf(m);
@@ -180,48 +229,29 @@
if (fp == NULL)
return ret;
- switch (m->type) {
- case M_INT32:
- fscanf(fp, "%d", &(m->value.i32));
- break;
- case M_UINT32:
- fscanf(fp, "%u", &(m->value.ui32));
- break;
- case M_INT64:
- fscanf(fp, "%"PRId64, &(m->value.i64));
- break;
- case M_UINT64:
- fscanf(fp, "%"PRIu64, &(m->value.ui64));
- break;
- case M_REAL32:
- fscanf(fp, "%f", &(m->value.r32));
- break;
- case M_REAL64:
- fscanf(fp, "%lf", &(m->value.r64));
- break;
- case M_STRING:
- case M_GROUP:
- if (m->value.str)
- memset(m->value.str, '\0', 128);
- else
- m->value.str = calloc(1, 128);
- if (m->value.str == NULL)
- goto out;
- fread(m->value.str, sizeof(char), 127, fp);
- break;
- }
+ if (m->type == M_XML)
+ len = 2048;
+ else
+ len = 256;
- ret = 0;
+ if (m->value)
+ memset(m->value, 0, len);
+ else
+ m->value = calloc(1, len);
+ if (m->value == NULL)
+ goto out;
+
+ fread(m->value, 1, len-1, fp);
+
out:
- pclose(fp);
+ ret = pclose(fp);
return ret;
}
int metric_xml(metric *m, vu_buffer *buf)
{
- char *value = NULL;
char *n;
char *v;
char *t;
@@ -230,14 +260,22 @@
if (metric_value_get(m))
return -1;
- if (metric_value_to_str(m, &value))
- return -1;
+ if (m->type == M_XML) {
+ if (validate_metric_xml_value(m->value)) {
+ vu_buffer_add(buf, m->value, strlen(m->value));
+ return 0;
+ } else {
+ vu_log(VHOSTMD_WARN, "Validation of XML returned by metric %s failed",
+ m->name);
+ return -1;
+ }
+ }
for (i=0; i < m->cnt; i++) {
n = vu_get_nth_token(m->name, ",", i, m->cnt);
- t = vu_get_nth_token(m->type_str, ",", i, m->cnt);
- v = vu_get_nth_token(value, ",", i, m->cnt);
-
+ t = vu_get_nth_token(m->type_str, ",", i, m->cnt);
+ v = vu_get_nth_token(m->value, ",", i, m->cnt);
+
if (m->ctx == METRIC_CONTEXT_HOST) {
vu_buffer_vsprintf(buf,
" <metric type='%s' context='host'>\n"
@@ -264,7 +302,6 @@
if (t) free(t);
if (v) free(v);
}
- if (value)
- free(value);
+
return 0;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vhostmd-0.2/vhostmd/util.c new/vhostmd-0.2/vhostmd/util.c
--- old/vhostmd-0.2/vhostmd/util.c 2009-06-09 17:29:12.000000000 +0200
+++ new/vhostmd-0.2/vhostmd/util.c 2009-06-30 01:49:48.000000000 +0200
@@ -363,6 +363,23 @@
}
/*
+ * Calculate simple checksum of char buffer
+ */
+unsigned int vu_str_checksum(char *buf)
+{
+ if (buf) {
+ size_t len = strlen(buf);
+ int i;
+ unsigned int chksum = 0;
+
+ for(i = 0; i < len; i++)
+ chksum += buf[i];
+ return chksum;
+ }
+ return 0;
+}
+
+/*
* Replace all occurance of string origstr with newstr in haystack,
* returns new string
*/
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vhostmd-0.2/vhostmd/vhostmd.c new/vhostmd-0.2/vhostmd/vhostmd.c
--- old/vhostmd-0.2/vhostmd/vhostmd.c 2009-06-09 17:29:12.000000000 +0200
+++ new/vhostmd-0.2/vhostmd/vhostmd.c 2009-06-30 01:49:48.000000000 +0200
@@ -719,10 +719,8 @@
free(m->name);
if (m->action)
free(m->action);
- if (m->type == M_STRING || m->type == M_GROUP) {
- if (m->value.str)
- free(m->value.str);
- }
+ if (m->value)
+ free(m->value);
if (m->type_str)
free(m->type_str);
m_old = m;
@@ -776,7 +774,7 @@
}
/* create disk */
- fd = open(mdisk_path, O_RDWR | O_CREAT,
+ fd = open(mdisk_path, O_RDWR | O_CREAT | O_TRUNC,
(S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH));
if (fd < 0) {
vu_log(VHOSTMD_ERR, "Failed to open metrics disk: %s",
@@ -913,7 +911,7 @@
if (transports & VBD)
metrics_disk_update(diskfd, buf);
if (transports & XENSTORE)
- metrics_xenstore_update(buf, ids, num_vms);
+ metrics_xenstore_update(buf->content, ids, num_vms);
if (ids)
free(ids);
sleep(update_period);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vhostmd-0.2/vhostmd/xenstore-update.c new/vhostmd-0.2/vhostmd/xenstore-update.c
--- old/vhostmd-0.2/vhostmd/xenstore-update.c 2009-06-09 17:29:12.000000000 +0200
+++ new/vhostmd-0.2/vhostmd/xenstore-update.c 2009-06-30 01:49:48.000000000 +0200
@@ -77,7 +77,7 @@
* Gets metrics that are host specific AND metrics that are associated with
* the argumented uuid from buffer and places them into mbuf
*/
-static int get_assoicated_metrics(vu_buffer *buffer, vu_buffer *mbuf, char *uuid)
+static int get_assoicated_metrics(char *buffer, vu_buffer *mbuf, char *uuid)
{
xmlParserCtxtPtr pctxt = NULL;
xmlXPathContextPtr ctxt = NULL;
@@ -97,10 +97,10 @@
goto out;
}
- doc = xmlCtxtReadMemory(pctxt, buffer->content,
- buffer->use, "mdisk.xml", NULL,
- XML_PARSE_NOENT | XML_PARSE_NONET |
- XML_PARSE_NOWARNING);
+ doc = xmlCtxtReadMemory(pctxt, buffer,
+ strlen(buffer), "mdisk.xml", NULL,
+ XML_PARSE_NOENT | XML_PARSE_NONET |
+ XML_PARSE_NOWARNING);
if (!doc) {
vu_log(VHOSTMD_ERR, "%s(): libxml failed to parse mdisk.xml buffer\n", __func__);
goto out;
@@ -182,7 +182,7 @@
return ret;
}
-int metrics_xenstore_update(vu_buffer *mbuffer, int *ids, int num_vms)
+int metrics_xenstore_update(char *mbuffer, int *ids, int num_vms)
{
char *buf = NULL, *path, *uuid = NULL;
unsigned int i, len;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vhostmd-0.2/vhostmd.dtd new/vhostmd-0.2/vhostmd.dtd
--- old/vhostmd-0.2/vhostmd.dtd 2009-06-09 17:29:12.000000000 +0200
+++ new/vhostmd-0.2/vhostmd.dtd 2009-06-30 01:49:48.000000000 +0200
@@ -24,7 +24,7 @@
<!ELEMENT metric (name,action,variable*)>
<!ELEMENT action (#PCDATA)>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vhostmd-0.2/vhostmd.spec new/vhostmd-0.2/vhostmd.spec
--- old/vhostmd-0.2/vhostmd.spec 2009-06-09 17:29:12.000000000 +0200
+++ new/vhostmd-0.2/vhostmd.spec 2009-06-30 01:49:48.000000000 +0200
@@ -10,6 +10,7 @@
Name: vhostmd
+ExclusiveArch: %ix86 x86_64
License: GPL
BuildRequires: pkg-config libxml2 libxml2-devel libvirt-devel xen-devel
Summary: Virtualization Host Metrics Daemon
@@ -107,10 +108,13 @@
/usr/share/vhostmd/scripts/pagerate.pl
%config(noreplace) /etc/vhostmd/vhostmd.conf
%config /etc/vhostmd/vhostmd.dtd
+%config /etc/vhostmd/metric.dtd
/etc/init.d/vhostmd
/usr/share/doc/vhostmd/vhostmd.dtd
+/usr/share/doc/vhostmd/metric.dtd
/usr/share/doc/vhostmd/vhostmd.xml
/usr/share/doc/vhostmd/mdisk.xml
+/usr/share/doc/vhostmd/README
/usr/share/man/man8/vhostmd.8.gz
%files -n vm-dump-metrics
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org