From Fedora Project Wiki

CIM Management

Summary

WBEM and CIM are two of the DMTF standards for enterprise system management. Fedora already contains implementation of the standard but the existing capabilities are focused more on system monitoring. The standards allow to add methods for system management as well. The goal is to implement new CIM providers and extend the existing ones to enable the basic system management capabilities. The implementation should adhere to the standards to allow for easier interoperability with other CIM/WBEM based applications. The feature is targeting system administrators and experienced users and should lay base ground for future development of enterprise-level management infrastructure for Fedora.

Owner

Current status

  • Targeted release: Fedora 18
  • Last updated: 2012-06-07
  • Percentage of completion: 20 %

Detailed Description

Ensure the current CIMOM servers (sblim-sfcb, tog-pegasus) work well withing the current Fedora infrastructure: proper systemd integration, sane default configuration, virtual provides to satisfy provider dependencies.

Add or extend the existing CIM providers to be able to manage the following areas and perform the listed tasks:

  • Networking management
    • Based on the SMASH network object model utlizing NetworkManager interface
    • Bring up / take down a network interface
    • Set IPv4 address and netmask
    • Set IPv6 address
    • Configure basic routing: set default gateway
    • Configure resolver
    • Set FQDN
  • Storage management
    • Based on the SMI-S storage object model
    • Enumerate block devices
    • Create/delete LVM volumes, resize volumes, add/remove devices
    • Create LVM snapshots
    • Build/destroy RAID (0,1,5)
    • Create/remove a partition of ext3/ext4 type
    • Create/remove a partition of XFS type
    • Mount and unmout a partition
    • Event based monitoring of storage devices (emit indication event upon RAID degradation, SCSI error, etc.)
    • Report status – drives and configurations, utilization, health, RAID & LVM volumes
  • Service management
    • Enumerate system services and their status (using the systemd D-Bus interface)
    • Start/stop/restart a service
    • Enable/disable a service
    • Event based monitoring of service status (emit indication event upon service status change)
  • Power management
    • Halt, reboot, suspend or hibernate a system
    • Report and set power states – Pstate and Cstate
  • User management
    • Create/update/remove user account
  • Software management
    • List the installed packages
    • Install/update/remove a particular package
    • Perform a package integrity check
  • General system monitoring/management
    • Show used/available memory (physical, swap,...)
    • Show used/available storage space
    • Show power status
    • Show the system load
    • Show list of running processes
      • Send a signal to a particular process
    • Show I/O load (network, disk)
    • Show list of logged in users
  • CIM Browser
    • Port YAWN from mod_python to mod_wsgi to enable a basic WEB interface for the object model. Allows navigation of the CIM object model, introspection of CIM providers, getting and setting all attributes, and invoking methods.
  • User interface
    • Implement simple WEB based WBEM client to hide the complexity of the whole CIM model; the application should allow to perform all the tasks listed above
    • Review the pywbem package to provide also a scripting interface

Benefit to Fedora

The Fedora users would be able to manage their systems (even networks of systems) using a single consistent central interface. The usage of DMTF standards allow for an integration with other vendors system management tools and the existing WBEM/CIM scripting languages bindings.

Scope

The new feature does not require any changes in the Fedora system outside the WBEM/CIM management tools.

How To Test

  • Install one of the CIMOMs: sblim-sfcb or tog-pegasus
  • Install the sblim-cmpi-* providers and any other providers developed and packaged as part of the project
    • Ensure the providers are correctly registered with the chosen CIMOM
  • Launch the CIMOM
  • Perform the listed tasks using YAWN or any other WBEM client from a remote machine
    • Ensure all the actions work as expected
  • Each sub-feature should be accompanied with a testing python script: it should work flawlesly

User Experience

Easier management of larger networks using industry standard technologies.

Dependencies

None.

Contingency Plan

Not needed.

Documentation

  • Provided as part of the project: sblim-cmpi-* packages and any of the eventual new packages contain the documentation.
  • DMTF Standards

Release Notes

  • Improved WBEM and CIM tools allow for easier remote management of the Fedora system

Comments and Discussion