[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-cim] Detection of host instrumentation



Jim Fehlig wrote:
After thinking about several approaches for ensuring that host instrumentation is available at build time, I've concluded they all suck and we should just document this dependency :-).

Detecting existence of dependent providers during configure requires asking the cimom (assuming it is running) for a known registered profile or class. This is the only way I see of reliably determining if the build host has the required instrumentation - and I'm not comfortable doing such hackery in the configure script.

I like the runtime discovery we have previously discussed, but it is useless without our own instrumentation to fall back on in the event nothing is found - and I don't want to be in the host instrumentation business given the existence of OMC, SBLIM, etc.

I have two suggestions for handling the host instrumentation dependency.

1. Just document that the existence of virtualization model depends on existence of related modeling. We could provide instructions in the README for obtaining and installing the OMC project and be done with it.

2. Same as above but with added 'feature' of specifying host instrumentation via a configure argument. E.g. one could run './configure --with-omc' or './configure --with-sblim'. The configure script would not detect existence of the instrumentation - just use some knowledge about these projects to determine namespace and classnames of host instrumentation for use throughout the providers. If not specified, default to OMC.

Option 2 seems reasonable and allows for using SBLIM providers on Pegasus until such time OMC providers can run in that environment. User is still responsible for ensuring the host instrumentation is installed and functional.

Attached is a patch for the planned approach to handle host instrumentation. OMC is the default but users can run './configure --with-host-instrumentation=sblim' to use sblim providers. A namespace and class prefix is written to config.h which can be used in the association providers when making upcalls. Using this technique we can, for example, ask for finer-grained CIM_ComputerSystem - Linux_ComputerSystem.

Any problems with this? If not I will proceed forward. Silence == agreement :-).

Jim

diff -r 16d625984bc4 configure.ac
--- a/configure.ac      Thu Sep 28 17:07:14 2006 -0600
+++ b/configure.ac      Wed Oct 04 16:21:27 2006 -0600
@@ -118,6 +118,30 @@ LIBXM_LIBS="$libvirt_LIBS $libxml2_LIBS 
 LIBXM_LIBS="$libvirt_LIBS $libxml2_LIBS "
 AC_SUBST([LIBXM_CFLAGS])
 AC_SUBST([LIBXM_LIBS])
+
+# Add argument to allow specifying which host instrumentation
+# to use.  omc or sblim are the options, omc is default.
+HOST_INSTRUMENTATION="omc"
+AC_ARG_WITH([host-instrumentation],
+       [  --with-host-instrumentation=TYPE  supported types are omc and sblim],
+       [
+               if test "x$withval" != "xno" ; then
+                       
+                       HOST_INSTRUMENTATION="$withval" 
+               fi
+       ]
+)
+
+if test "x$HOST_INSTRUMENTATION" = "xomc" ; then
+       AC_DEFINE([HOST_INSTRUMENTATION_NS],  ["smash"], [Namespace where host 
instrumentation resides.])
+       AC_DEFINE([HOST_INSTRUMENTATION_PREFIX],  ["OMC_"], [Prefix of host 
instrumentation class names.])
+elif test "x$HOST_INSTRUMENTATION" = "xsblim" ; then
+       AC_DEFINE([HOST_INSTRUMENTATION_NS],  ["root/cimv2"], [Namespace where 
host instrumentation resides.])
+       AC_DEFINE([HOST_INSTRUMENTATION_PREFIX],  ["Linux_"], [Prefix of host 
instrumentation class names.])
+else
+       AC_MSG_ERROR([unrecognized host instrumentation $HOST_INSTRUMENTATION])
+fi
+
 
 # Set compiler flag for CMPI API version compatibility
 # SET THE PACKAGE CMPI_VERSION HERE
@@ -189,6 +213,7 @@ if test x"$TESTSUITEDIR" != x; then
 if test x"$TESTSUITEDIR" != x; then
    echo "   TESTSUITEDIR: " $TESTSUITEDIR
 fi
+echo "   HOST_INSTRUMENTATION: " $HOST_INSTRUMENTATION
 echo "   CPPFLAGS:" $CPPFLAGS
 echo
 echo "You can override these values by setting the corresponding"
_______________________________________________
Xen-cim mailing list
Xen-cim@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-cim

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.