Oracle Linux 7 was released yesterday and I was keen to test the new upgrade feature after trying it on CentOS. As far as I know the CentOS inplace upgrade is still work in progress, so I expected Oracle Linux to perform better since they advertised it in the release notes and they also provide official instructions. Unfortunately I didn’t have the chance to test on Red Hat since I don’t own a customer subscription, but I can assume it will do fine, after all they were the ones who developed the upgrade tool in the first place.
Anyway, Oracle has published specific requirements for the upgrade like having the UEK3 (their Unbreakable Enterprise Kernel Release 3) set as the default kernel, the minimum package set installed for OL 6.5 (according to /usr/lib/anaconda/installclasses/enterprise.py that means the core package group) and also no running Oracle applications. I did my testing on a VM running Oracle Linux 6.5 under VirtualBox. Again, please note the following is just of proof of concept, don’t do this on production machines!
Add the addon repo
First thing after updating the OL 6.5 instance was to add the ol6_addons repository. For some reason, it wasn’t available in /etc/yum.repos.d/public-yum-ol6.repo so I had to edit the file and add it manually:
name=Oracle Linux $releasever Add ons ($basearch)
Another option is to download the packages from the repo URL http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/ and install them manually with yum localinstall $package_name.
Install the rpms
yum install openscap preupgrade-assistant-contents redhat-upgrade-tool
The command completed successfully but it reported critical errors. Additional information is available in /root/preupgrade/result.html which is an html file that can be viewed in a web browser.
We found some critical issues. In-place upgrade is not advised.
Since this was just a test I decided to ignore the warning and proceed. This time I used the OS DVD as the installation source, so the upgrade command is slightly different. The debug redirection is optional but useful to troubleshoot errors.
Run the upgrade tool
redhat-upgrade-tool-cli --device=/dev/sr0 --debuglog=/tmp/upgrade.log
preupgrade-assistant risk check found EXTREME risks for this upgrade.
Run preupg –riskcheck –verbose to view these risks.
Continuing with this upgrade is not recommended.
Again (and same as on CentOS) the command doesn’t run because of the failed preupgrade output. In my case I had GNOME installed and upgrade from GNOME 2 to GNOME 3 is not officially supported. I chose to force the upgrade anyway for the sake of testing.
redhat-upgrade-tool-cli --force --device=/dev/sr0 --debuglog=/tmp/upgrade.log
Forcing it did the trick so the pre-upgrade process completed successfully. Rebooting the machine entered the upgrade state by default and the whole process went through without glitches (there was no database environment version mismatch error). As expected, after reboot the OS didn’t boot to X, so I had to modify GRUB to enter runlevel 3 by default. Nonetheless it was a successful testing in my opinion, but I would have expected more from Oracle (at least some partial support for Oracle application stack).
As a side note, I don’t understand why Oracle still uses that garish red background for the default boot menu, it really hurts the eye and it doesn’t look enterprise at all.