SBLIM Linux Kernel Parameter Instrumentation for CMPI README The various kernel parameter providers in this package expose the Linux kernel parameters that are accessible under subdirs of /proc/sys/. Each subdir contains kernel parameters for the respective kernel function, and is implemented as a separate CIM_Setting subclass. Each provider acts as instrumentation for that particular kernel parameter subclass. The respective kernel parameter providers allow an administrator to view and possibly modify the many different kernel parameters of a Linux system via the CIMOM. All kernel parameters settings can be viewed, however only those parameters whose associated file is writeable can be modified. Prerequisites: ------------- - CIM Schema Version 2.7+ - CMPI (Common Manageablity Programming Interface) adapter for SNIA/Pegasus cimom sblim-cmpi-adapater version 0.7 or higher - SBLIM base instrumentation package : sblim-cmpi-base version 1.1 or higher Schema Files: ------------ mof/Linux_ABIParameter.mof mof/Linux_FileSystemParameter.mof mof/Linux_KernelParameter.mof mof/Linux_NetworkCoreParameter.mof mof/Linux_NetworkIPv4Parameter.mof mof/Linux_NetworkUnixParameter.mof mof/Linux_VirtualMemoryParameter.mof NB - all the above mof files are auto-generated from mof/TEMPLATE.mof by running ./create_files Instrumentation Source: ---------------------- Linux_ABIParameter.c Linux_FileSystemParameter.c Linux_KernelParameter.c Linux_NetworkCoreParameter.c Linux_NetworkIPv4Parameter.c Linux_NetworkUnixParameter.c Linux_VirtualMemoryParameter.c NB - all the above source files are auto-generated from TEMPLATE.c by running ./create_files Instrumentation Libraries: ------------------------- libLinux_ABIParameter.so libLinux_FileSystemParameter.so libLinux_KernelParameter.so libLinux_NetworkCoreParameter.so libLinux_NetworkIPv4Parameter.so libLinux_NetworkUnixParameter.so libLinux_VirtualMemoryParameter.so Test Scripts: ------------ Test scripts for all the above classes are located in ./test These tests must be run with the SBLIM test suite package, available from http://sblim.sourceforge.net SBLIM Linux Kernel Parameter Instrumentation Generation All the kernel providers for the various subdirs of /proc/sys are largely identical except (1) their pathname, and (2) their chosen CIM classname. Provider source files for all the instrumentation are therefore generated by running ./create_files. This script reads in the list of desired kernel parameter directories under /proc/sys to scan, and the associated classname for each resulting provider. Creating the providers: ---------------------- The create_files script generates the required .c provider source file and .mof schema file from the TEMPLATE.c and mof/TEMPLATE.mof files respectively. i.e. 1. edit kernel_params as desired 2. run ./create_files All occurances of the string $CLASSNAME and $FILEROOT in the template files are replaced by the values for each of the desired kernel parameters as specified in the kernel_params file. Build Instructions ------------------ Prerequisites ............. - CIMOM installed - CMPI enabled CIMOM - CIM Schema Version 2.7 or higher loaded into the CIMOM's repository - to enable Testsuite support: SBLIM package sblim-testsuite installed - sblim-cmpi-devel package installed - sblim-cmpi-base package installed Building CIMOM and CMPI for this CIMOM ......................................... CMPI support is available for SBLIM's sfcb, OpenPegasus, OpenCimom (former SNIA CIMOM) and OpenWBEM - sfcb ... CMPI as only provider interface - Pegasus ... CMPI is part of Pegasus - OpenCimom ... install SBLIM cmpi-adapter for snia (please follow the instructions in the README.cmpi file of SBLIM's cmpi-adapter package) - OpenWBEM ... CMPI is part of OpenWBEM Building cmpi-base .................. Please follow the instructions in the README file of the cmpi-base package. Building cmpi-params ..................... This package is now GNU autotool enabled, refer to the file named INSTALL for generic instructions. The generated configure script tries to determine where the CMPI header files are located. For this purpose it searches a set of well-known locations. The "canonical" location is /usr/include/cmpi or /usr/local/include/cmpi, depending on how configure is invoked. Further, configure "determines" where providers are to be installed. Actually, there's no detection logic. The provider directory will always be /usr/lib/cmpi or /usr/local/lib/cmpi. If a CIM server requires a particular directory this can be selected by specifying the PROVIDERDIR variable. And finally, configure tries to find out which CIM server type is being used. This is necessary in order to select the appropriate schema and provider registration technique. If the CIM server is not or incorrectly identified, it is possible to specify it via the CIMSERVER variable. Supported values are pegasus, sfcb, openwbem and sniacimom. For instance, in order to configure for a locally installed Pegasus you can issue the following command: ./configure CIMSERVER=pegasus PROVIDERDIR=$PEGASUS_HOME/lib Load Schema into CIMOM's repository ................................... with Pegasus/sfcb : ................. The loading and registering of the classes/associations and their provider is done during the "make postinstall". with OpenCimom/SNIA CIMOM : ........................... Start the cimbrowser (/usr/sniacimom/bin). Load the schema file Linux_Base.mof with "File" -> "Reload Mof" into the namespace root/cimv2. Before at least CIM Core and System schemata have to be loaded into the repository. Automated Function Verifcation Test ----------------------------------- The sub directory test contains the configuration files, necessary to drive the SBLIM Test Suite. The SBLIM Test Suite is a tool to automate function verification tests of providers. How to set up and drive the test is described in the README.TEST file.