OpenLMI, the Linux Manageability Infrastructure, is building the infrastructure to standardize the management of Linux systems. It is an open project, hosted at www.openlmi.org.
OpenLMI consists of a set of system management agents installed on a managed system, an OpenLMI controller which manages these agents and provides an interface to them, and client applications or scripts which call the system management agents through the OpenLMI controller.
OpenLMI is, at its core, an implementation of open industry standards for remote system management. It builds on top of a standards based infrastructure, and provides a set of system agents that perform operations on managed systems. The infrastructure used by OpenLMI already exists in Linux. However, the existing Linux system agents mainly implement monitoring and reporting functions – they do little work, and do not include the ability to configure or modify a system.
OpenLMI is focused on building system agents that perform these management tasks, with the primary target being bare metal production servers. The initial agents implemented in OpenLMI include storage configuration and network configuration. Later work will address additional elements of system manageability, with the long term goal of providing a complete systems manageability infrastructure.
OpenLMI does not, by itself, deliver a complete systems management solution. OpenLMI provides the low-level functions, capabilities and APIs that can be called from scripts or system management consoles. Thus, OpenLMI complements existing management initiatives by providing a low-level interface to server hardware configuration that can be used by these management systems.
Interfaces provided by OpenLMI include C/C++, Python, Java, and a CLI. A REST API is under development, but has not been released. These interfaces are implemented as language bindings to the underlying system agents – this means that all interfaces provide the same full access to all capabilities implemented in each agent. You have exactly the same capabilities in OpenLMI no matter which programming interface you use.