I have had the chance of administering and maintaining several implementations of Red Hat Cluster, but I never really had the chance to build one from scratch. So a chance presented itself recently and I bumped into several unforgettable experiences along the way. It roused my inquisitive nature and fruitful learnings were gleaned off the obstacles. One of them was with the initial install of luci (and ricci).
The easiest way to configure a Red Hat Cluster is via luci (and ricci), especially for a RHEL Cluster noob like me. I couldn't argue with that statement. It is easier, although I would love to go a little deeper and understand the command line equivalents of the web based configurations done. So I got to install luci after configuring ricci.
To initialize the luci configuration, I ran this command:
However, the result was not as expected. And a configuration file was not created. The errors are below:
The "python-webob-0.9.6.1-3.el6.noarch" RPM was properly installed but it looks like the package it is looking for is versions higher. As checked, the python-webob package available is already installed.
I also tried several versions of python-webob packages from several known repositories. Only to fail with the same errors above.
It turns out the "python-repoze-who-friendlyform.noarch" package is in conflict with other repositories. When installing luci, install from the base repository only. Disable EPEL and other enabled repositories.
So after reinstalling the luci package from the base repo (from the ISO itself), I was able to successfully initialize luci and continue with the cluster configuration.
The easiest way to configure a Red Hat Cluster is via luci (and ricci), especially for a RHEL Cluster noob like me. I couldn't argue with that statement. It is easier, although I would love to go a little deeper and understand the command line equivalents of the web based configurations done. So I got to install luci after configuring ricci.
To initialize the luci configuration, I ran this command:
[root@vhost ~]# /usr/bin/paster make-config luci /var/lib/luci/etc/luci.ini --no-default-sysconfig --no-install
However, the result was not as expected. And a configuration file was not created. The errors are below:
[root@vhost ~]# /usr/bin/paster make-config luci /var/lib/luci/etc/luci.ini --no-default-sysconfig --no-install Distribution already installed: luci 0.26.0 from /usr/lib/python2.6/site-packages Traceback (most recent call last): File "/usr/bin/paster", line 9, inload_entry_point('PasteScript==1.7.3', 'console_scripts', 'paster')() File "/usr/lib/python2.6/site-packages/paste/script/command.py", line 84, in run invoke(command, command_name, options, args[1:]) File "/usr/lib/python2.6/site-packages/paste/script/command.py", line 123, in invoke exit_code = runner.run(args) File "/usr/lib/python2.6/site-packages/paste/script/appinstall.py", line 68, in run return super(AbstractInstallCommand, self).run(new_args) File "/usr/lib/python2.6/site-packages/paste/script/command.py", line 218, in run result = self.command() File "/usr/lib/python2.6/site-packages/paste/script/appinstall.py", line 295, in command self.distro, self.options.ep_group, self.options.ep_name) File "/usr/lib/python2.6/site-packages/paste/script/appinstall.py", line 234, in get_installer 'paste.app_install', ep_name) File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2229, in load_entry_point return ep.load() File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1947, in load if require: self.require(env, installer) File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1960, in require working_set.resolve(self.dist.requires(self.extras),env,installer)) File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 550, in resolve raise VersionConflict(dist,req) # XXX put more info here pkg_resources.VersionConflict: (WebOb 0.9.6.1 (/usr/lib/python2.6/site-packages), Requirement.parse('WebOb>=0.9.7'))
The "python-webob-0.9.6.1-3.el6.noarch" RPM was properly installed but it looks like the package it is looking for is versions higher. As checked, the python-webob package available is already installed.
I also tried several versions of python-webob packages from several known repositories. Only to fail with the same errors above.
It turns out the "python-repoze-who-friendlyform.noarch" package is in conflict with other repositories. When installing luci, install from the base repository only. Disable EPEL and other enabled repositories.
[root@vhost ~]# yum -y install luci Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package luci.i686 0:0.26.0-37.el6.centos will be installed --> Processing Dependency: python-repoze-who-friendlyform for package: luci-0.26.0-37.el6.centos.i686 --> Running transaction check ---> Package python-repoze-who-friendlyform.noarch 0:1.0-0.3.b3.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================ Package Arch Version Repository Size ============================================================================================================ Installing: luci i686 0.26.0-37.el6.centos base 553 k Installing for dependencies: python-repoze-who-friendlyform noarch 1.0-0.3.b3.el6 base 13 k Transaction Summary ============================================================================================================ Install 2 Package(s) Total download size: 566 k Installed size: 2.2 M Downloading Packages: (1/2): luci-0.26.0-37.el6.centos.i686.rpm | 553 kB 00:00 ... (2/2): python-repoze-who-friendlyform-1.0-0.3.b3.el6.noarch.rpm | 13 kB 00:00 ... ------------------------------------------------------------------------------------------------------------ Total 4.9 MB/s | 566 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : python-repoze-who-friendlyform-1.0-0.3.b3. [ ] 1/2 Installing : python-repoze-who-friendlyform-1.0-0.3.b3. [## ] 1/2 ... Installing : python-repoze-who-friendlyform-1.0-0.3.b3. [########################################## ] 1/2 Installing : python-repoze-who-friendlyform-1.0-0.3.b3.el6.noarch 1/2 Installing : luci-0.26.0-37.el6.centos.i686 [ ] 2/2 Installing : luci-0.26.0-37.el6.centos.i686 [# ] 2/2 ... Installing : luci-0.26.0-37.el6.centos.i686 [###################################################### ] 2/2 Installing : luci-0.26.0-37.el6.centos.i686 2/2 Verifying : luci-0.26.0-37.el6.centos.i686 1/2 Verifying : python-repoze-who-friendlyform-1.0-0.3.b3.el6.noarch 2/2 Installed: luci.i686 0:0.26.0-37.el6.centos Dependency Installed: python-repoze-who-friendlyform.noarch 0:1.0-0.3.b3.el6 Complete! [root@vhost ~]# /usr/bin/paster make-config luci /var/lib/luci/etc/luci.ini --no-default-sysconfig --no-install Distribution already installed: luci 0.26.0 from /usr/lib/python2.6/site-packages /usr/lib/python2.6/site-packages/tw/core/view.py:223: DeprecationWarning: object.__new__() takes no parameters obj = object.__new__(cls, *args, **kw) Creating /var/lib/luci/etc/luci.ini Now you should edit the config files /var/lib/luci/etc/luci.ini [root@vhost ~]# service luci start Adding following auto-detected host IDs (IP addresses/domain names), corresponding to `host.localdomain' address, to the configuration of self-managed certificate `/var/lib/luci/etc/cacert.config' (you can change them by editing `/var/lib/luci/etc/cacert.config', removing the generated certificate `/var/lib/luci/certs/host.pem' and restarting luci): (none suitable found, you can still do it manually as mentioned above) Generating a 2048 bit RSA private key writing new private key to '/var/lib/luci/certs/host.pem' [ OK ] Start luci... Point your web browser to https://host.localdomain:8084 (or equivalent) to access luci
So after reinstalling the luci package from the base repo (from the ISO itself), I was able to successfully initialize luci and continue with the cluster configuration.