Chapter 21. OpenLMI

The Open Linux Management Infrastructure, commonly abbreviated as OpenLMI, is a common infrastructure for the management of Linux systems. It builds on top of existing tools and serves as an abstraction layer in order to hide much of the complexity of the underlying system from system administrators. OpenLMI is distributed with a set of services that can be accessed locally or remotely and provides multiple language bindings, standard APIs, and standard scripting interfaces that can be used to manage and monitor hardware, operating systems, and system services.

21.1. About OpenLMI

OpenLMI is designed to provide a common management interface to production servers running the Red Hat Enterprise Linux system on both physical and virtual machines. It consists of the following three components:
  1. System management agents — these agents are installed on a managed system and implement an object model that is presented to a standard object broker. The initial agents implemented in OpenLMI include storage configuration and network configuration, but later work will address additional elements of system management. The system management agents are commonly referred to as Common Information Model providers or CIM providers.
  2. A standard object broker — the object broker manages system management agents and provides an interface to them. The standard object broker is also known as a CIM Object Monitor or CIMOM.
  3. Client applications and scripts — the client applications and scripts call the system management agents through the standard object broker.
The OpenLMI project complements existing management initiatives by providing a low-level interface that can be used by scripts or system management consoles. Interfaces distributed with OpenLMI include C, C++, Python, Java, and an interactive command line client, and all of them offer the same full access to the capabilities implemented in each agent. This ensures that you always have access to exactly the same capabilities no matter which programming interface you decide to use.

21.1.1. Main Features

The following are key benefits of installing and using OpenLMI on your system:
  • OpenLMI provides a standard interface for configuration, management, and monitoring of your local and remote systems.
  • It allows you to configure, manage, and monitor production servers running on both physical and virtual machines.
  • It is distributed with a collection of CIM providers that allow you to configure, manage, and monitor storage devices and complex networks.
  • It allows you to call system management functions from C, C++, Python, and Java programs, and includes LMIShell, which provides a command line interface.
  • It is free software based on open industry standards.

21.1.2. Management Capabilities

Key capabilities of OpenLMI include the management of storage devices, networks, system services, user accounts, hardware and software configuration, power management, and interaction with Active Directory. For a complete list of CIM providers that are distributed with Red Hat Enterprise Linux 7, see Table 21.1, “Available CIM Providers”.

Table 21.1. Available CIM Providers

Package NameDescription
openlmi-accountA CIM provider for managing user accounts.
openlmi-logicalfileA CIM provider for reading files and directories.
openlmi-networkingA CIM provider for network management.
openlmi-powermanagementA CIM provider for power management.
openlmi-serviceA CIM provider for managing system services.
openlmi-storageA CIM provider for storage management.
openlmi-fanA CIM provider for controlling computer fans.
openlmi-hardwareA CIM provider for retrieving hardware information.
openlmi-realmdA CIM provider for configuring realmd.
openlmi-software[a]A CIM provider for software management.
[a] In Red Hat Enterprise Linux 7, the OpenLMI Software provider is included as a Technology Preview. This provider is fully functional, but has a known performance scaling issue where listing large numbers of software packages may consume excessive amount of memory and time. To work around this issue, adjust package searches to return as few packages as possible.