[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |