Managing Linux with OpenLMI

Managing Linux servers requires a degree of expertise. We need to do a better job of enabling mid-level system administrators with a background on other systems to manage Linux.

Existing management tools address a variety of needs. Red Hat Satellite Server is excellent for provisioning hardware, managing subscriptions, and handling patches and updates. Configuration management tools such as Puppet are great for putting systems into a known state, especially when you have many identical or near identical systems. The challenge is dealing with systems that need substantial customization and with fine grain control of individual systems.

We understand that systems administrators are looking for an easier way to configure the servers they manage.  For example, consider how you would configure a system with sixteen local drives, four network interface cards (NICs), domain authentication, and a variety of software installed. You might:

  • Configure the drives using RAID and logical volume management
  • Configure the networks to support multiple VLANs and various bonding configurations
  • Add the system to a domain for authentication
  • Manage system services
  • Get details on the exact hardware configuration of the system

Moreover, you might have to do this for multiple machines with different hardware configurations. It would be nice to have fine grain control of each server without having to ssh in to each individual machine and run local tools.

An approach that we have found works well is to provide a standardized remote API for system management functions, an enhanced scripting and command line environment, and a set of tools and functions designed for system administrators.  Now, with the beta of Red Hat Enterprise Linux 7, you have these.  Red Hat Enterprise Linux 7 beta includes OpenLMI, the Open Linux Management Infrastructure.

OpenLMI consists of several pieces:

  • An API and communications infrastructure for system management built on open industry standards.
  • A set of agents that implement this API and that use the existing Linux tools and utilities to modify the server. In other words, build on existing capabilities – don’t start from scratch!
  • LMIShell – a client application that provides a powerful and flexible scripting and command line environment. Built on Python, LMIShell provides the power of the Python ecosystem plus simple commands that can be called from the CLI or BASH scripts.
  • Building on LMIShell is a set of scripts and commands that perform system administration tasks the way system administrators normally work. This allows immediate use of OpenLMI without having to master the entire system.
  • Software development tools for building new agents, new scripts, and new commands. The same tools that we use to build OpenLMI are available to everyone.

LMIShell

OpenLMI builds on existing Linux strengths, is designed for the way system administrators actually work, and is intended to be extended and customized. You can try OpenLMI in the Red Hat Enterprise Linux 7 beta or in Fedora 20, and can learn more about OpenLMI from its web site, www.openlmi.org, or at techponder.wordpress.com.

  1. What Guarantees that is a stable roadmap, and how can that be different from Configuration Management tools that do provide API, usually RESTful and writing policies for them in declarative way as code/data is much easier and more portable than scripting for a specific protocol

  2. Good questions. For full details, I would suggest visiting http://www.openlmi.org.
    OpenLMI is based on an object model derived from the DMTF CIM specification. There are multiple language bindings for connecting to this object model, including Python, Java, and C/C++. There is a REST interface under development in the OpenPegasus project. The language bindings treat the LMI objects as native objects – you are working with native Python objects or native Java objects.
    OpenLMI is complementary to configuration management tools like Puppet or Chef – you might want to look at http://techponder.wordpress.com/2013/11/14/openlmi-vs-puppet/ for a deeper discussion.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s