Attempt 1 - OpenQRM on Ubuntu Lucid 1
This morning, I decided to install KVM and OpenQRM on a spare machine here. The machine is suitable to be a VM host with lots of CPU and 8GB of RAM. It is not a blank machine, rather, I wanted to add openQRM to it and leave the existing services running there … untouched. The existing services are for a storage server and DLNA/media server. Nothing too fancy, but there are some non-default settings that proved to be small issues when attempting the OpenQRM install.
Following the sparsely written guide Setup_your_own_openQRM_Cloud_on_Ubuntu_Lucid_Lynx from the openQRM team, I was hopeful that this complex system wouldn’t be too complex that I couldn’t get it running quickly and easily.
Some Notes
The version of OpenQRM I was using was the current SVN trunk. I spent a few minutes looking for the “version” information or a README and didn’t find how to get that data. Also, there was no man page … to you just have to trust the date of the pull to be enough. FOUND IT! According to the /usr/share/openqrm/…. .conf file, I have version 4.7.
The MySQL version is mysql Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (x86_64) using readline 6.1.
A few notes (which may be incorrect) about this first attempt. No, I didn’t get openqrm running.
The installation makes many assumptions that may not be true unless you have a freshly installed system. A few assumptions
- you have apache setup to automatically directory index .php files – I do not.
- JavaScript is enabled inside your browser – jquery is heavily used.
- you use /var/www for your web server files – I do not.
- you run apache2 on port 80 – I do not.
- you won’t set a non-trivial password for MySQL
I’ve spent a little time looking through the apache error log and saw that I needed to create a link from where I run apache from to the /var/www/openqrm directory so any of the installation files would be presented in the browser. Then I had to specify /openqrm/index.php to get the login page to display. Nice. I got in, but couldn’t see anything until I enabled javascript. Do people actually leave javascript enabled? Seriously?
In our environment, apache doesn’t run on standard ports. We do this to prevent accident leakage of unintended services.
Anyway, after making the necessary infrastructure changes (which really shouldn’t be needed in a production-ready solution), the next hurdle was the non-trivial MySQL password. It appears that during setup a shell script is used to initialize MySQL. This is fine, except when the script doesn’t properly escape passwords … as appears to be the case with this tool. so, I reset the MySQL root password to be something long, but trivial. Hopefully, I won’t forget to change it everywhere it is needed elsewhere on the system. Ok, so resetting the DB password to normal characters failed to allow the installation to complete. Perhaps re-running the installation will help? Nope.
The re-run of the installation and re-using the 3-step web configuration failed again. The /var/log/messages file didn’t show any issues, so rather than fight it and since there is nothing to lose at this point, a little hacking was in order. I removed the /usr/share/openqrm/web/base/unconfigured file. Simple. Then pointed my browser at http://xx.xx.xx.xx/openqrm/base/index.php. It really does suck that the real port can’t be used. While the interface did appear to work, none of the plugins would work after being enabled. Without a Storage plugin (NFS, AoE, iSCSI or even local disk) working, there isn’t much that can be accomplished with this tool.
I’d really like to try OpenQRM, but getting KVM working is the main goal for today.
Beyond swapping the boot disk out and reloading a fresh Ubuntu x64 Server I’m out of ideas for today.
Since attempting to install OpenQRM, my internal network has been behaving strangely. The install process didn’t just try to install openQRM, but it install a large number of extra tools AND enabled them. This would be fine if those tools were optional or didn’t interfere with other tools running on the network. The OpenQRM team chose the best tools for those extra services, so that isn’t my complaint. The complaint is that installation didn’t ask or tell me about those new tools being installed. Puppet, Nagios, DNSmasq, and others were included. I’m having conflicts on the network with some of the installed tools.
What conflicts? There are now 2 DHCP servers responding on the same subnet. I’ve disabled the new, openqrm installed, server, but conflicts with the router address are still happening. In order to clean up what is happening, I may need to wipe the current host and reload the OS from scratch – that may be the easiest way. I’ve removed about 10 packages to see whether that helps. The next day or so will tell.
Be aware out there. You definitely need to attempt any OpenQRM install onto a lab network first and carefully monitor it for a few days before attempting to incorporate this tool into your production network.