Misplaced Pages

OpenLMI: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 00:50, 10 April 2014 editDsimic (talk | contribs)Extended confirmed users, Pending changes reviewers, Rollbackers39,664 edits Comparison: Wording made more neutral← Previous edit Revision as of 00:55, 10 April 2014 edit undoDsimic (talk | contribs)Extended confirmed users, Pending changes reviewers, Rollbackers39,664 edits Comparison: CleanupNext edit →
Line 110: Line 110:


== Comparison == == Comparison ==
OpenLMI is different from other configuration management systems like ] or ], in a way that OpenLMI does not require details of the system configuration to be already known, in order for appropriate configuration recipes to be created. This nature of the OpenLMI may provide advantages in case initial configuration is performed on a broader variety of systems, having different hardware configurations.<ref>{{cite web OpenLMI is different from other configuration management systems like ] or ], in a way that OpenLMI does not require details of the system configuration to be already known in order for appropriate configuration recipes to be created. This nature of the OpenLMI may provide advantages in case initial configuration is performed on a broader variety of systems, having different hardware configurations.<ref>{{cite web
| url = http://techponder.wordpress.com/2013/11/14/openlmi-vs-puppet/ | url = http://techponder.wordpress.com/2013/11/14/openlmi-vs-puppet/
| title = OpenLMI vs. Puppet | title = OpenLMI vs. Puppet

Revision as of 00:55, 10 April 2014

This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "OpenLMI" – news · newspapers · books · scholar · JSTOR (December 2013) (Learn how and when to remove this message)

OpenLMI (abbreviated from Open Linux Management Infrastructure) provides a common management infrastructure for Linux systems. Available operations include configuration of various operating system parameters and services, hardware components configuration, and monitoring of system resources. Services provided by OpenLMI can be accessed both locally and remotely, using multiple programming languages and standardized APIs.

Overview

OpenLMI distinguishes agents, controllers and client applications:

  • OpenLMI agents are installed and running on managed Linux systems, performing the actual operations.
  • OpenLMI controllers manage the OpenLMI agents.
  • Client applications talk to the OpenLMI controllers through well-defined interfaces and language bindings based on open industry standards for remote systems management.

Thus, instead of delivering a complete management solution, OpenLMI provides low-level functions and APIs that can be used by, or integrated into, various management platforms, applications or configuration scripts.

OpenLMI extends the already existing Linux infrastructure by providing management agents which also perform system configuration tasks, in addition to monitoring and reporting functions. By exporting those operations through standard-based interfaces, and by providing agents performing the actual operations, OpenLMI creates a management framework that various applications can use – both for system configuration, and for monitoring resources and performance. Usage targets for OpenLMI include bare-metal production servers, on which it can perform initial configurations through a set of predefined "recipes".

As of December 2013, implemented agents primarily perform operations related to the storage, networking and local user accounts. Plans exist to expand the variety of implemented agents, aiming at providing complete coverage of Linux management and configuration tasks.

Architecture

Based on their placement and usage role, OpenLMI architecture contains two major components: management modules (also known as agents), and management tools. A set of management modules is installed and running on each of the managed systems, performing the configuration and monitoring tasks. Management tools are running on a management system, performing aggregation of the collected monitoring data, and dispatching the requests to management modules. The agents are talking to the outside world through an OpenLMI Object Broker, which is also known as a controller. This object request broker provides a standard-based communications protocol, handles the security and access control, and provides deployment methods for the agents.

Each agent implements an object model that specifies the attributes (information), methods (functions), and associations (links to other objects). This object model is made available to the client applications in an interoperable way, through the controller. While it is possible to build all of the required logic into an agent, the general approach is to use and invoke existing Linux tools. For example, OpenLMI's network agent uses the NetworkManager, and the storage agent uses the Blivet storage library.

The actual communication protocol is using XML data transferred over HTTPS. While directly using XML is possible, a set of client libraries provides native interfaces for a number of programming languages. Client libraries supplied by OpenLMI provide support for C/C++, Python and Java. These interfaces are implemented as language bindings to the operations in underlying system agents, with all supplied libraries providing the same feature sets. Support for command-line interface (CLI) utilities is also provided.

Internally, OpenLMI is based on the Distributed Management Task Force (DTMF) Common Information Model (CIM), with internal functions exposed in form of CIM namespaces. A few open-source CIM clients are available, as an additional way for using data and operations exported through OpenLMI.

Agents

OpenLMI agents, also called providers, do the actual work. OpenLMI distribution includes a set of standard management agents, and also includes a set of development resources required for developing new agents. These are the standard OpenLMI agents, as of December 2013:

Storage
Storage Agent configures and manages local and remote storage. The ability to enumerate (discover) and configure local storage devices is built-in. As of December 2013, remote storage devices can be configured, with no support for their discovery or provisioning. Thus, remote storage must be already provisioned using other approaches, and the resulting logical unit number (LUN) made available to this agent. Support for provisioning of remote storage is planned for future releases.
Networking
Networking Agent configures and manages network interface controllers (NICs) and Linux networking configuration in general. It has the ability to enumerate (discover) and configure devices, including configuration of IPv4 and IPv6 addresses, default gateways, DNS servers, management of static routes, and configuration of interfaces bridging and bonding.
System Services
System Services Agent performs management of the system services and underlying background processes, by exposing the ability for services to be started, stopped, restarted etc. through the standard OpenLMI interface. It also has the ability to enumerate (discover) available system services, using the systemd's D-Bus interface.
User Accounts
User Accounts Agent configures and manages local user accounts, local user groups, groups membership, and accounts parameters (such as default shell, home directory, password and password expiration). It also has the ability to enumerate (discover) available local user accounts and local user groups.
Software
Software Agent configures and manages software on a managed system. It has the ability to list the software installed on a system, install new software, update existing software, and remove installed software. It also has the ability to verify integrity of installed packages and their files, while using all configured repositories.
Hardware
Hardware Agent manages hardware components, providing detailed information on their presence and associated configurations. Provided information includes the CPU (cores, clock and FSB speeds, caches etc.), system memory (size, speed, available memory slots, installed modules etc.), physical asset data (chassis, ports, slots etc.), battery (capacity, voltage etc.), and PCI devices and bridges (buses, IDs of devices, vendors etc.)
Logging
Journald Agent gives access to logging records through the standard OpenLMI interface. It is a client of systemd's journald service, accessing the journald records in several ways, and providing a way to store new log records. Journald is a structured logging system, storing supplemental information along each record, thus making it easier to find and extract information from the resulting log files.

Comparison

OpenLMI is different from other configuration management systems like Puppet or Bcfg2, in a way that OpenLMI does not require details of the system configuration to be already known in order for appropriate configuration recipes to be created. This nature of the OpenLMI may provide advantages in case initial configuration is performed on a broader variety of systems, having different hardware configurations.

Reception

First beta release of the Red Hat Enterprise Linux 7.0 includes support for the OpenLMI.

See also

References

  1. ^ "OpenLMI: Configure, Manage and Monitor Linux Systems". openlmi.org. Retrieved 2013-12-11.
  2. ^ "OpenLMI: Architecture". openlmi.org. Retrieved 2013-12-11.
  3. "OpenLMI - Open Linux Management Interface". blog.fpmurphy.com. 2013-06-30. Retrieved 2013-12-11.
  4. "OpenLMI Project - Part I". kernel-labs.org. 2012-10-02. Retrieved 2013-12-13.
  5. "OpenLMI: Agents". openlmi.org. Retrieved 2013-12-11.
  6. "OpenLMI: Storage Agent". openlmi.org. Retrieved 2013-12-11.
  7. "OpenLMI: Networking Agent". openlmi.org. Retrieved 2013-12-11.
  8. "OpenLMI: System Services Agents". openlmi.org. Retrieved 2013-12-11.
  9. "OpenLMI: User Accounts Agent". openlmi.org. Retrieved 2013-12-11.
  10. "OpenLMI: Software Agent". openlmi.org. Retrieved 2013-12-11.
  11. "OpenLMI: Hardware Agent". openlmi.org. Retrieved 2013-12-11.
  12. "OpenLMI: Logging with Journald". openlmi.org. Retrieved 2013-12-11.
  13. "OpenLMI vs. Puppet". techponder.wordpress.com. 2013-11-14. Retrieved 2013-12-11.
  14. "Red Hat Announces Availability of Red Hat Enterprise Linux 7 Beta". Red Hat. 2013-12-11. Retrieved 2013-12-11.

External links

Categories: