* '''Launchpad Entry''': UbuntuSpec:wbem-support * '''Created''': Aug 1st, 2008 * '''Contributors''': ThierryCarrez * '''Packages affected''': == Summary == To be compatible with enterprise management environments and tools, Ubuntu needs to provide a WBEM framework : open source CIMOM, command-line client and basic CMPI providers. == Release Note == Ubuntu Server can now seamlessly integrate into WBEM-compatible enterprise management environments, thanks to a lightweight WBEM CIMOM stack and instrumentation. == Rationale == To appear as a viable alternative in the Enterprise Server OS market, we need to provide solutions to integrate with enterprise management frameworks. WBEM is one of the many aspects of this issue: a DMTF open standard covering a set of systems management technologies. == Use Cases == Herbert uses IBM Director to manage his distributed computing environment. He uses the WBEM framework to connect IBM Director to his Ubuntu servers. Susan wants to integrate some tools with management tasks on her Ubuntu server. She uses the complete WBEM stack (including the WBEM CLI and a Python API) to integrate her tools with the existing CIMOM and providers. == Assumptions == Most downstream applications (the management frameworks that would call the WBEM stack) currently tend to use their own customized WBEM "agents" on controlled computers. However the current market trend seem to be to more closely adhere to the standard and support integration of a more standards-based stack. A basic stack needs to be available on Ubuntu Server to gather initial momentum on these issues. Discussion with those downstream application providers should continue to make sure it is valuable to push further resources in WBEM instrumentation. == Design == === Requirements === * Lightweight * Modular * In active development === Product choice === Three open source products have been identified as potential solutions for a WBEM stack: * OpenWBEM (used in Novell/SuSE) * OpenPegasus (used in RedHat) * SBLIM A complete analysis is available in the "Discussion" part at the end of this spec. The OpenWBEM is no longer active, it is rumored that Novell will switch to OpenPegasus soon. OpenPegasus is active, but its monolithic approach makes it a little heavyweight and harder than it should be to use. SBLIM proposes a modular solution with lightweight components. It appears as the easiest to package and its CMPI providers are used by RedHat, integrated with OpenPegasus. == Implementation == The idea would be to build a WBEM stack around the SBLIM components. === Intrepid target === A minimal WBEM stack based on SBLIM would be packaged for Intrepid. It would include the following source packages: || Source package || Description || Licensing || Binary packages || Depends (optional) || || sblim-sfcb || Lightweight CIMOM || EPL || sfcb, sfcb-test || curl, cim-schema (PAM, openSSL, openslp-dfsg, sblim-sfcc) || || cim-schema || DMTF CIM schema || ? || cim-schema || || || sblim-wbemcli || WBEM CLI client || CPL || wbemcli || curl || || sblim-cmpi-devel || CMPI headers || EPL || libcmpicppimpl0 libcmpicppimpl0-dev || || || sblim-cmpi-base || Base CMPI provider and lib || CPL || libcmpiosbase-common0 libcmpiosbase-common0-dev sblim-cmpi-base || sblim-cmpi-devel || We already have in universe: || Source package || Description || Licensing || Binary packages || Depends || || sblim-sfcc || WBEM C client library || EPL || libcimcclient0 libcimcclient0-dev || curl || === Intrepid+n targets === More CMPI providers should be added (sblim-cmpi-fsvol, sblim-cmpi-services, sblim-cmpi-params...). A specific cmpi-deb provider could also be written to match the functionality of sblim-cmpi-rpm (reporting on installed packages). We should also package a client Python library for WBEM ([[http://pywbem.wiki.sourceforge.net/|PyWBEM]] looks like a good candidate). == Test/Demo Plan == {{{ $ sudo apt-get install sfcb sblim-cmpi-base wbemcli $ wbemcli ecn 'http://localhost:5988/root/cimv2' $ wbemcli -nl ei 'http://localhost:5988/root/cimv2:Linux_Processor' }}} == Outstanding Issues == The DMTF CIM schema comes with a file header which implies usage restrictions, especially it does not grant any rights to modification. cim-schema was therefore demoted to multiverse (as was sfcb, which depends on cim-schema), until we can figure out a way around this problem. == BoF agenda and discussion == === Comparative analysis === ==== OpenWBEM ==== * Endorsed by Novell * Version 3.2.2 (Oct 2006), almost dead since * Bug tracker: SourceForge * VCS: SourceForge CVS * Novell develops providers at http://developer.novell.com/wiki/index.php/OMC Features of the CIM server: * CIM 2.2, CIM operations over HTTP 1.1, HTTPS, SLP * Extensible auth: PAM, HTTP Digest, Local, Simple, SSL client cert trust store * Provider interfaces: C++, CMPI, NPI, Perl/NPI, Perl/SWIG * Remote provider interfaces: remote WBEMServer * Indications, CIM Listener support * WQL Level 2 Packageability: * License: BSD-style (+ CPL for CMPI/NPI/Perl provider interfaces) * Build mechanism: classic configure / make * Deps: - * Optional deps: * libpam0g-dev (for PAM authentication module) * libssl-dev (for CIM Operations over HTTPS) * libslp-dev (SLP support) * zlib1g-dev (for compression in HTTP connections) ==== SBLIM ==== * IBM-backed project * Active project with various components * Best known for their CMPI Providers (compatible with OpenWBEM, SFCB and OpenPegasus) * Bug tracker: SourceForge * VCS: SourceForge CVS Features of the CIM server (SFCB): * Lightweight, HTTPS, SLP * Extensible auth: PAM, Simple, SSL client cert trust store * Provider interfaces: CMPI * Remote provider interfaces: remote CMPI * CIM process and lifecycle indications Packageability: * License: Eclipse Public License * Build mechanism: classic configure / make * Deps: libcurl * Optional deps: * libpam0g-dev (for PAM authentication module) * libssl-dev (for HTTPS) * libslp-dev (SLP support) ==== OpenPegasus ==== * An Open Group project (HP, IBM, Sun...) * Endorsed by RedHat * Version 2.7.1 in April 2008 * Active project, with visibility on the development process * Bug tracker: Bugzilla * VCS: CVS Features of the CIM server: * CIM 2.3, CIM operations over HTTP 1.2, HTTPS, SLP (alpha) * Extensible auth: PAM, Local, Simple (alpha), SSL client cert trust store (beta), cimauth (alpha) * Provider interfaces: C++, CMPI, JMPI (alpha) * Remote provider interfaces: Remote CMPI (alpha) * Process indications, Lifecycle indications (alpha), CIM Listener support * WQL Level 2, CQL Stage 1 (beta), ExecQuery (alpha) Packageability: * License: MIT * Build mechanism: manual env setting + make, more work to make it somewhat LSB-compliant * Deps: - * Optional deps: * libpam0g-dev (for PAM authentication module) * libssl-dev (for CIM Operations over HTTPS) * libslp-dev (SLP support) * zlib1g-dev (for compressed repository) * libicu (for message i18n) ---- CategorySpec