For the past couple of mornings I been working on getting Spacewalk 1.5 to run on CentOS 6 using Oracle Express as a backend in my VMWare lab at home. The reason being is that I am looking to bring Red Hat’s Satellite product into my work environment to manage the 40+ Red Hat Enterprise Linux servers. Seeing how Spacewalk is an opensource implementation of it I figured it would be a good way to test a few things before grabbing the 30 day trial from Red Hat. I wanted to document a few gotchas that I ran into while setting this up that are not documented on Spacewalk’s wiki and how I fixed them.
The first issue I ran into was after the installation of Oracle’s 10g express edition as a back-end to Spacewalk. After the install when you are suppose to run sqlplus and connect to the database, I was getting the following error:
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
After you install the instant client and sqlplus RPMS as per the wiki, run the oracle_env.sh script in order to set Oracle’s environmental variables. which is located in:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh
Add this to your profile so that way it gets ran every time you log in. In my case I copied and pasted the contents of the script to my /etc/bashrc as I am using bash by default.
The next issue that came up was during the installation of spacewalk-oracle via yum. the package failed a dependency for selinux-policy. Spacewalk wanted version 3.7.19-93 and CentOS 6 only has with 3.7.19-54. I had opened a bugzilla with spacewalk and Jan Pazdziora was nice enough to point me to this entry on the mailing list. I had to grab the source RPM for selinux-policy from RHEL 6.1 and build a binary RPM for it. After it was built and updated, the rest of the installation ran ok.
The last issue I ran into was that the osa-dispatcher and tomcat6 was not connecting to the Oracle XE instance. I kept getting TNS connection time out errors even though I can log into the XE instance with sqlplus and tns ping the database. I also noticed that I did not see any connection attempts being logged in the sqlnet.log file. After doing some research it appeared that I missing the tnsnames.ora file in /etc. I created a symlink from /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/tnsnames.ora to /etc/tnsnames.ora and restarted spacewalk. I then restarted spacewalk and now everything works.
I am at the point right now where spacewalk is up and running but nothing is configured yet.
Nice ! Just yesterday I was wondering if it was too much to ask to run spacewalk on the freshly released CentOS6 so went ahead and tried with 5.6 and still had issues (mainly with the Oracle stuff which is new to me and awfully unintuitive). Thanks for the info, will be trying that this week.
The only other issue I ran into after messing around with the Oracle stuff was getting the monitoring functionality to work. There was some issues with it in 1.5 and I ended up switching over to the nightly builds in order to get it resolved. I am hoping I do not run into the same issue with Satellite when I start to deploy it at work.