Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > 0b775e863406fbabdf2849f40f9db953 > files > 12

sblim-cmpi-params-1.3.0-51.el5.x86_64.rpm

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.