The best place to start is with Fedora 20. OpenLMI is under active development, and there have been significant changes since the earlier releases in F18 and F19. These instructions were tested against the Fedora 20 final beta.
OpenLMI can be installed by installing the openlmi package. This is a metapackage that installs the OpenLMI infrastructure and a base set of OpenLMI Providers. Additional Providers and other packages can be installed later.
$ yum install openlmi
Start the CIMOM
The OpenLMI CIMOM runs as a service. For security reasons, services are not automatically started. You will need to start the CIMOM manually, using the command:
$ systemctl start tog-pegasus.service
To have the service automatically started when the system boots, use the command:
$ systemctl enable tog-pegasus.service
You will then need to open the appropriate firewall ports to allow remote access. This can be done from the firewall GUI by selecting the WBEM-https service, or can be done from the command line by entering:
$ firewall-cmd --add-port 5989/tcp
You will probably want to open this port permanently:
$ firewall-cmd --permanent --add-port 5989/tcp
You may need to set SELinux to permissive mode:
$ setenforce 0
You next need to configure the users for remote access. The Pegasus CIMOM can accept either root or pegasus as users (configuring Pegasus to use other users is beyond the scope of this article). This is done my making one or both of the following changes on the managed system:
- The user pegasus is created – without a password – when you install OpenLMI. To use the pegasus user you need to add a password by using the command passwd pegasus (as root) and then giving it a password.
- Alternatively, you can edit the Pegasus access configuration file to allow root access:
- Edit the file /etc/Pegasus/access.conf
- Change the line “ALL EXCEPT pegasus:wbemNetwork” to “ALL EXCEPT root pegasus:wbemNetwork” and save the file.
Install the OpenLMI Client
The OpenLMI client consists of the LMIShell environment and a set of system management scripts. The OpenLMI client is installed on the client system – that is, the system that will be used to manage other systems. You don’t need to install the OpenLMI client on managed systems, and you don’t need to install OpenLMI Providers on the client system.
The easiest way to install it is to install the openlmi-scripts, which brings in openlmi-tools:
$ yum install openlmi-scripts*
If you are using a pre-release version of Fedora 20, the openlmi-scripts files may still be in the updates-testing repository; if so, use:
$ yum –enablerepo=updates-testing install openlmi-scripts*
In order to access a remote LMI managed system, you will need to copy the Pegasus server certificate to the client system. This can be done with:
# scp root@managed-machine:/etc/Pegasus/server.pem
Where “managed-machine” is the name of the managed system. You then need to:
Try It Out
At this point you should be ready to go! Test the installation by running an LMI command; this sample will be explained in future articles (replace <managed-machine> with the actual machine name):
# lmi -h managed-machine
lmi> hwinfo cpu
CPU: AMD Phenom(tm) 9550 Quad-Core Processor
Topology: 1 cpu(s), 1 core(s), 1 thread(s)
Max Freq: 3000 MHz
Should the openlmi-scripts package be available for the RHEL7 beta? I can’t seem to find it. I also can’t seem to find it for F20 either by just browsing around the repos (ftp://mirror.cogentco.com/pub/linux/fedora/linux/releases/20/Everything/x86_64/os/Packages/o/). I don’t have an F20 machine right now to use yum on so it may be in there and i just missed it.
You have run into one of the differences between Fedora and RHEL. Software needs to be stable and long term supportable before inclusion in RHEL. The OpenLMI infrastructure and Providers meet that goal.
The LMIShell scripts, on the other hand, are brand new and rapidly evolving. This isn’t a concern in Fedora, but would be an issue for RHEL. We are working on ways to make the LMIShell scripts available in RHEL, but don’t have that in place for the RHEL 7 Beta.
All of the scripts are available from python.org – see pypi.python.org/pypi?%3Aaction=search&term=openlmi-scripts&submit=search for the available scripts. These can be installed using ‘yum install openlmi-tools; easy_install openlmi-scripts-$scriptname’ where $scriptname is the script you want to install.. Unfortunately, that involves installing one script at a time…
I’ll see about putting together an article on installing LMIShell scripts in the RHEL 7 Beta. In the meantime, the easiest approach is to use the LMI client software in Fedora 20.
LMIShell scripts for RHEL 7 Beta are now available in an external repository – see the updates.
Awesome! I’ll add the new repo you provided and use the tools to learn about the benefits openLMI can provide.
It’ll be awhile before we’ve got all our systems on RHEL 7, what about 6.5? Is everyone compiling their own, or is there a project page for this? Will OpenLMI show up in 6.5’s EPEL?
Much of OpenLMI is portable, and the infrastructure of OpenLMI (notably the OpenPegasus CIMOM) has been shipping in RHEL since RHEL 5. However, the big features in OpenLMI, notably network management, storage management, and domain enrollment, require a significant amount of work to backport to RHEL 6.
No official announcement, but RHEL 6 is a target. Please contact me if you would be interested in testing.
There is a prototype of this RHEL 6 effort available here: http://copr.fedoraproject.org/coprs/rnovacek/openlmi-epel-6/
Please note, this is in *no way* an official repository. It is a mechanism to preview OpenLMI capabilities in RHEL 6. Do not install this on production systems.
I understood that at present we can use openLMI only on RHEL7 servers.
My question is, Can’t we use RHEL7 OpenLMI as a managed server and openlmi clients on RHEL6 & RHEL5? I don’t find packages for RHEL6 & RHEL5 in their repositories.
OpenLMI supports RHEL 7 and Fedora. The client applications could probably be ported to RHEL 6, but this hasn’t been done.
Can you give some more details on your use case and needs?